<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>GitHub C++ Daily Trending</title>
    <description>Daily Trending of C++ in GitHub</description>
    <pubDate>Sun, 07 Jun 2026 01:43:27 GMT</pubDate>
    <link>http://mshibanami.github.io/GitHubTrendingRSS</link>
    
    <item>
      <title>LadybirdBrowser/ladybird</title>
      <link>https://github.com/LadybirdBrowser/ladybird</link>
      <description>&lt;p&gt;Truly independent web browser&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Ladybird&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://ladybird.org&quot;&gt;Ladybird&lt;/a&gt; is a truly independent web browser, using a novel engine based on web standards.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;Ladybird is in a pre-alpha state, and only suitable for use by developers&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;p&gt;We aim to build a complete, usable browser for the modern web.&lt;/p&gt; 
&lt;p&gt;Ladybird uses a multi-process architecture with a main UI process, several WebContent renderer processes, an ImageDecoder process, and a RequestServer process.&lt;/p&gt; 
&lt;p&gt;Image decoding and network connections are done out of process to be more robust against malicious content. Each tab has its own renderer process, which is sandboxed from the rest of the system.&lt;/p&gt; 
&lt;p&gt;At the moment, many core library support components are inherited from SerenityOS:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;LibWeb: Web rendering engine&lt;/li&gt; 
 &lt;li&gt;LibJS: JavaScript engine&lt;/li&gt; 
 &lt;li&gt;LibWasm: WebAssembly implementation&lt;/li&gt; 
 &lt;li&gt;LibCrypto/LibTLS: Cryptography primitives and Transport Layer Security&lt;/li&gt; 
 &lt;li&gt;LibHTTP: HTTP/1.1 client&lt;/li&gt; 
 &lt;li&gt;LibGfx: 2D Graphics Library, Image Decoding and Rendering&lt;/li&gt; 
 &lt;li&gt;LibUnicode: Unicode and locale support&lt;/li&gt; 
 &lt;li&gt;LibMedia: Audio and video playback&lt;/li&gt; 
 &lt;li&gt;LibCore: Event loop, OS abstraction layer&lt;/li&gt; 
 &lt;li&gt;LibIPC: Inter-process communication&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;How do I build and run this?&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/LadybirdBrowser/ladybird/master/Documentation/BuildInstructionsLadybird.md&quot;&gt;build instructions&lt;/a&gt; for information on how to build Ladybird.&lt;/p&gt; 
&lt;p&gt;Ladybird runs on Linux, macOS, Windows (with WSL2), and many other *Nixes.&lt;/p&gt; 
&lt;h2&gt;How do I read the documentation?&lt;/h2&gt; 
&lt;p&gt;Code-related documentation can be found in the &lt;a href=&quot;https://raw.githubusercontent.com/LadybirdBrowser/ladybird/master/Documentation/&quot;&gt;documentation&lt;/a&gt; folder.&lt;/p&gt; 
&lt;h2&gt;Get in touch and participate!&lt;/h2&gt; 
&lt;p&gt;Join &lt;a href=&quot;https://discord.gg/nvfjVJ4Svh&quot;&gt;our Discord server&lt;/a&gt; to participate in issue and development discussions.&lt;/p&gt; 
&lt;p&gt;Please read &lt;a href=&quot;https://raw.githubusercontent.com/LadybirdBrowser/ladybird/master/Documentation/GettingStartedContributing.md&quot;&gt;Getting involved with Ladybird&lt;/a&gt; if you&#39;re new to Ladybird and want to help.&lt;/p&gt; 
&lt;p&gt;Before opening an issue, please see the &lt;a href=&quot;https://raw.githubusercontent.com/LadybirdBrowser/ladybird/master/CONTRIBUTING.md#issue-policy&quot;&gt;issue policy&lt;/a&gt; and the &lt;a href=&quot;https://raw.githubusercontent.com/LadybirdBrowser/ladybird/master/ISSUES.md&quot;&gt;detailed issue-reporting guidelines&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The project participation guidelines can be found in &lt;a href=&quot;https://raw.githubusercontent.com/LadybirdBrowser/ladybird/master/CONTRIBUTING.md&quot;&gt;&lt;code&gt;CONTRIBUTING.md&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Ladybird is licensed under a 2-clause BSD license.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/88ed87fca0a74b293b07e0abdc760d7cf7c89d60bc43d7afc60b39ea99ee46f9/LadybirdBrowser/ladybird" medium="image" />
      
    </item>
    
    <item>
      <title>bitcoin/bitcoin</title>
      <link>https://github.com/bitcoin/bitcoin</link>
      <description>&lt;p&gt;Bitcoin Core integration/staging tree&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Bitcoin Core integration/staging tree&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://bitcoincore.org&quot;&gt;https://bitcoincore.org&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;For an immediately usable, binary version of the Bitcoin Core software, see &lt;a href=&quot;https://bitcoincore.org/en/download/&quot;&gt;https://bitcoincore.org/en/download/&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;What is Bitcoin Core?&lt;/h2&gt; 
&lt;p&gt;Bitcoin Core connects to the Bitcoin peer-to-peer network to download and fully validate blocks and transactions. It also includes a wallet and graphical user interface, which can be optionally built.&lt;/p&gt; 
&lt;p&gt;Further information about Bitcoin Core is available in the &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/doc&quot;&gt;doc folder&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Bitcoin Core is released under the terms of the MIT license. See &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/COPYING&quot;&gt;COPYING&lt;/a&gt; for more information or see &lt;a href=&quot;https://opensource.org/license/MIT&quot;&gt;https://opensource.org/license/MIT&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Development Process&lt;/h2&gt; 
&lt;p&gt;The &lt;code&gt;master&lt;/code&gt; branch is regularly built (see &lt;code&gt;doc/build-*.md&lt;/code&gt; for instructions) and tested, but it is not guaranteed to be completely stable. &lt;a href=&quot;https://github.com/bitcoin/bitcoin/tags&quot;&gt;Tags&lt;/a&gt; are created regularly from release branches to indicate new official, stable release versions of Bitcoin Core.&lt;/p&gt; 
&lt;p&gt;The &lt;a href=&quot;https://github.com/bitcoin-core/gui&quot;&gt;https://github.com/bitcoin-core/gui&lt;/a&gt; repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.&lt;/p&gt; 
&lt;p&gt;The contribution workflow is described in &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; and useful hints for developers can be found in &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/doc/developer-notes.md&quot;&gt;doc/developer-notes.md&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Testing&lt;/h2&gt; 
&lt;p&gt;Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people&#39;s pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.&lt;/p&gt; 
&lt;h3&gt;Automated Testing&lt;/h3&gt; 
&lt;p&gt;Developers are strongly encouraged to write &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/src/test/README.md&quot;&gt;unit tests&lt;/a&gt; for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren&#39;t disabled during the generation of the build system) with: &lt;code&gt;ctest&lt;/code&gt;. Further details on running and extending unit tests can be found in &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/src/test/README.md&quot;&gt;/src/test/README.md&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;There are also &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/test&quot;&gt;regression and integration tests&lt;/a&gt;, written in Python. These tests can be run (if the &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/test&quot;&gt;test dependencies&lt;/a&gt; are installed) with: &lt;code&gt;build/test/functional/test_runner.py&lt;/code&gt; (assuming &lt;code&gt;build&lt;/code&gt; is your build directory).&lt;/p&gt; 
&lt;p&gt;The CI (Continuous Integration) systems make sure that every pull request is tested on Windows, Linux, and macOS. The CI must pass on all commits before merge to avoid unrelated CI failures on new pull requests.&lt;/p&gt; 
&lt;h3&gt;Manual Quality Assurance (QA) Testing&lt;/h3&gt; 
&lt;p&gt;Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.&lt;/p&gt; 
&lt;h2&gt;Translations&lt;/h2&gt; 
&lt;p&gt;Changes to translations as well as new translations can be submitted to &lt;a href=&quot;https://explore.transifex.com/bitcoin/bitcoin/&quot;&gt;Bitcoin Core&#39;s Transifex page&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Translations are periodically pulled from Transifex and merged into the git repository. See the &lt;a href=&quot;https://raw.githubusercontent.com/bitcoin/bitcoin/master/doc/translation_process.md&quot;&gt;translation process&lt;/a&gt; for details on how this works.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/226749a4ab0fd48952479f64423cb35848dbb96ba333c8e506e30f0dc25c9b0c/bitcoin/bitcoin" medium="image" />
      
    </item>
    
    <item>
      <title>gabime/spdlog</title>
      <link>https://github.com/gabime/spdlog</link>
      <description>&lt;p&gt;Fast C++ logging library.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;spdlog&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/gabime/spdlog/actions/workflows/linux.yml&quot;&gt;&lt;img src=&quot;https://github.com/gabime/spdlog/actions/workflows/linux.yml/badge.svg?sanitize=true&quot; alt=&quot;ci&quot; /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href=&quot;https://github.com/gabime/spdlog/actions/workflows/windows.yml&quot;&gt;&lt;img src=&quot;https://github.com/gabime/spdlog/actions/workflows/windows.yml/badge.svg?sanitize=true&quot; alt=&quot;ci&quot; /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href=&quot;https://github.com/gabime/spdlog/actions/workflows/macos.yml&quot;&gt;&lt;img src=&quot;https://github.com/gabime/spdlog/actions/workflows/macos.yml/badge.svg?sanitize=true&quot; alt=&quot;ci&quot; /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href=&quot;https://ci.appveyor.com/project/gabime/spdlog&quot;&gt;&lt;img src=&quot;https://ci.appveyor.com/api/projects/status/d2jnxclg20vd0o50?svg=true&amp;amp;branch=v1.x&quot; alt=&quot;Build status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/gabime/spdlog/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/release/gabime/spdlog.svg?sanitize=true&quot; alt=&quot;Release&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Fast C++ logging library&lt;/p&gt; 
&lt;h2&gt;Install&lt;/h2&gt; 
&lt;h4&gt;Header-only version&lt;/h4&gt; 
&lt;p&gt;Copy the include &lt;a href=&quot;https://raw.githubusercontent.com/gabime/spdlog/v1.x/include/spdlog&quot;&gt;folder&lt;/a&gt; to your build tree and use a C++11 compiler.&lt;/p&gt; 
&lt;h4&gt;Compiled version (recommended - much faster compile times)&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-console&quot;&gt;$ git clone https://github.com/gabime/spdlog.git
$ cd spdlog &amp;amp;&amp;amp; mkdir build &amp;amp;&amp;amp; cd build
$ cmake .. &amp;amp;&amp;amp; cmake --build .
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;see example &lt;a href=&quot;https://raw.githubusercontent.com/gabime/spdlog/v1.x/example/CMakeLists.txt&quot;&gt;CMakeLists.txt&lt;/a&gt; on how to use.&lt;/p&gt; 
&lt;h2&gt;Platforms&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Linux, FreeBSD, OpenBSD, Solaris, AIX&lt;/li&gt; 
 &lt;li&gt;Windows (msvc 2013+, cygwin)&lt;/li&gt; 
 &lt;li&gt;macOS (clang 3.5+)&lt;/li&gt; 
 &lt;li&gt;Android&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Package managers:&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Debian: &lt;code&gt;sudo apt install libspdlog-dev&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Homebrew: &lt;code&gt;brew install spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;MacPorts: &lt;code&gt;sudo port install spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;FreeBSD: &lt;code&gt;pkg install spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Fedora: &lt;code&gt;dnf install spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Gentoo: &lt;code&gt;emerge dev-libs/spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Arch Linux: &lt;code&gt;pacman -S spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;openSUSE: &lt;code&gt;sudo zypper in spdlog-devel&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;ALT Linux: &lt;code&gt;apt-get install libspdlog-devel&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;vcpkg: &lt;code&gt;vcpkg install spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;conan: &lt;code&gt;conan install --requires=spdlog/[*]&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;conda: &lt;code&gt;conda install -c conda-forge spdlog&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;build2: &lt;code&gt;depends: spdlog ^1.8.2&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Very fast (see &lt;a href=&quot;https://raw.githubusercontent.com/gabime/spdlog/v1.x/#benchmarks&quot;&gt;benchmarks&lt;/a&gt; below).&lt;/li&gt; 
 &lt;li&gt;Headers only or compiled&lt;/li&gt; 
 &lt;li&gt;Feature-rich formatting, using the excellent &lt;a href=&quot;https://github.com/fmtlib/fmt&quot;&gt;fmt&lt;/a&gt; library.&lt;/li&gt; 
 &lt;li&gt;Asynchronous mode (optional)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/gabime/spdlog/wiki/Custom-formatting&quot;&gt;Custom&lt;/a&gt; formatting.&lt;/li&gt; 
 &lt;li&gt;Multi/Single threaded loggers.&lt;/li&gt; 
 &lt;li&gt;Various log targets: 
  &lt;ul&gt; 
   &lt;li&gt;Rotating log files.&lt;/li&gt; 
   &lt;li&gt;Daily log files.&lt;/li&gt; 
   &lt;li&gt;Console logging (colors supported).&lt;/li&gt; 
   &lt;li&gt;syslog.&lt;/li&gt; 
   &lt;li&gt;Windows event log.&lt;/li&gt; 
   &lt;li&gt;Windows debugger (&lt;code&gt;OutputDebugString(..)&lt;/code&gt;).&lt;/li&gt; 
   &lt;li&gt;Log to Qt widgets (&lt;a href=&quot;https://raw.githubusercontent.com/gabime/spdlog/v1.x/#log-to-qt-with-nice-colors&quot;&gt;example&lt;/a&gt;).&lt;/li&gt; 
   &lt;li&gt;Easily &lt;a href=&quot;https://github.com/gabime/spdlog/wiki/Sinks#implementing-your-own-sink&quot;&gt;extendable&lt;/a&gt; with custom log targets.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Log filtering - log levels can be modified at runtime as well as compile time.&lt;/li&gt; 
 &lt;li&gt;Support for loading log levels from argv or environment var.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gabime/spdlog/v1.x/#backtrace-support&quot;&gt;Backtrace&lt;/a&gt; support - store debug messages in a ring buffer and display them later on demand.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Usage samples&lt;/h2&gt; 
&lt;h4&gt;Basic usage&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/spdlog.h&quot;

int main() 
{
    spdlog::info(&quot;Welcome to spdlog!&quot;);
    spdlog::error(&quot;Some error message with arg: {}&quot;, 1);
    
    spdlog::warn(&quot;Easy padding in numbers like {:08d}&quot;, 12);
    spdlog::critical(&quot;Support for int: {0:d};  hex: {0:x};  oct: {0:o}; bin: {0:b}&quot;, 42);
    spdlog::info(&quot;Support for floats {:03.2f}&quot;, 1.23456);
    spdlog::info(&quot;Positional args are {1} {0}..&quot;, &quot;too&quot;, &quot;supported&quot;);
    spdlog::info(&quot;{:&amp;lt;30}&quot;, &quot;left aligned&quot;);
    
    spdlog::set_level(spdlog::level::debug); // Set *global* log level to debug
    spdlog::debug(&quot;This message should be displayed..&quot;);    
    
    // change log pattern
    spdlog::set_pattern(&quot;[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v&quot;);
    
    // Compile time log levels
    // Note that this does not change the current log level, it will only
    // remove (depending on SPDLOG_ACTIVE_LEVEL) the call on the release code.
    SPDLOG_TRACE(&quot;Some trace message with param {}&quot;, 42);
    SPDLOG_DEBUG(&quot;Some debug message&quot;);
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Create stdout/stderr logger object&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/spdlog.h&quot;
#include &quot;spdlog/sinks/stdout_color_sinks.h&quot;
void stdout_example()
{
    // create a color multi-threaded logger
    auto console = spdlog::stdout_color_mt(&quot;console&quot;);    
    auto err_logger = spdlog::stderr_color_mt(&quot;stderr&quot;);    
    spdlog::get(&quot;console&quot;)-&amp;gt;info(&quot;loggers can be retrieved from a global registry using the spdlog::get(logger_name)&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Basic file logger&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/sinks/basic_file_sink.h&quot;
void basic_logfile_example()
{
    try 
    {
        auto logger = spdlog::basic_logger_mt(&quot;basic_logger&quot;, &quot;logs/basic-log.txt&quot;);
    }
    catch (const spdlog::spdlog_ex &amp;amp;ex)
    {
        std::cout &amp;lt;&amp;lt; &quot;Log init failed: &quot; &amp;lt;&amp;lt; ex.what() &amp;lt;&amp;lt; std::endl;
    }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Rotating files&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/sinks/rotating_file_sink.h&quot;
void rotating_example()
{
    // Create a file rotating logger with 5 MB size max and 3 rotated files
    auto max_size = 1048576 * 5;
    auto max_files = 3;
    auto logger = spdlog::rotating_logger_mt(&quot;some_logger_name&quot;, &quot;logs/rotating.txt&quot;, max_size, max_files);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Daily files&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;
#include &quot;spdlog/sinks/daily_file_sink.h&quot;
void daily_example()
{
    // Create a daily logger - a new file is created every day at 2:30 am
    auto logger = spdlog::daily_logger_mt(&quot;daily_logger&quot;, &quot;logs/daily.txt&quot;, 2, 30);
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Backtrace support&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// Debug messages can be stored in a ring buffer instead of being logged immediately.
// This is useful to display debug logs only when needed (e.g. when an error happens).
// When needed, call dump_backtrace() to dump them to your log.

spdlog::enable_backtrace(32); // Store the latest 32 messages in a buffer. 
// or my_logger-&amp;gt;enable_backtrace(32)..
for(int i = 0; i &amp;lt; 100; i++)
{
  spdlog::debug(&quot;Backtrace message {}&quot;, i); // not logged yet..
}
// e.g. if some error happened:
spdlog::dump_backtrace(); // log them now! show the last 32 messages
// or my_logger-&amp;gt;dump_backtrace(32)..
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Periodic flush&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// periodically flush all *registered* loggers every 3 seconds:
// warning: only use if all your loggers are thread-safe (&quot;_mt&quot; loggers)
spdlog::flush_every(std::chrono::seconds(3));

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Stopwatch&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// Stopwatch support for spdlog
#include &quot;spdlog/stopwatch.h&quot;
void stopwatch_example()
{
    spdlog::stopwatch sw;    
    spdlog::debug(&quot;Elapsed {}&quot;, sw);
    spdlog::debug(&quot;Elapsed {:.3}&quot;, sw);       
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Log binary data in hex&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// many types of std::container&amp;lt;char&amp;gt; types can be used.
// ranges are supported too.
// format flags:
// {:X} - print in uppercase.
// {:s} - don&#39;t separate each byte with space.
// {:p} - don&#39;t print the position on each line start.
// {:n} - don&#39;t split the output into lines.
// {:a} - show ASCII if :n is not set.

#include &quot;spdlog/fmt/bin_to_hex.h&quot;

void binary_example()
{
    auto console = spdlog::get(&quot;console&quot;);
    std::array&amp;lt;char, 80&amp;gt; buf;
    console-&amp;gt;info(&quot;Binary example: {}&quot;, spdlog::to_hex(buf));
    console-&amp;gt;info(&quot;Another binary example:{:n}&quot;, spdlog::to_hex(std::begin(buf), std::begin(buf) + 10));
    // more examples:
    // logger-&amp;gt;info(&quot;uppercase: {:X}&quot;, spdlog::to_hex(buf));
    // logger-&amp;gt;info(&quot;uppercase, no delimiters: {:Xs}&quot;, spdlog::to_hex(buf));
    // logger-&amp;gt;info(&quot;uppercase, no delimiters, no position info: {:Xsp}&quot;, spdlog::to_hex(buf));
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Logger with multi sinks - each with a different format and log level&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;
// create a logger with 2 targets, with different log levels and formats.
// The console will show only warnings or errors, while the file will log all. 
void multi_sink_example()
{
    auto console_sink = std::make_shared&amp;lt;spdlog::sinks::stdout_color_sink_mt&amp;gt;();
    console_sink-&amp;gt;set_level(spdlog::level::warn);
    console_sink-&amp;gt;set_pattern(&quot;[multi_sink_example] [%^%l%$] %v&quot;);

    auto file_sink = std::make_shared&amp;lt;spdlog::sinks::basic_file_sink_mt&amp;gt;(&quot;logs/multisink.txt&quot;, true);
    file_sink-&amp;gt;set_level(spdlog::level::trace);

    spdlog::logger logger(&quot;multi_sink&quot;, {console_sink, file_sink});
    logger.set_level(spdlog::level::debug);
    logger.warn(&quot;this should appear in both console and file&quot;);
    logger.info(&quot;this message should not appear in the console, only in the file&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Register several loggers - change global level&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;
// Creation of loggers. Set levels to all registered loggers. 
void set_level_example()
{
    auto logger1 = spdlog::basic_logger_mt(&quot;logger1&quot;, &quot;logs/logger1.txt&quot;);
    auto logger2 = spdlog::basic_logger_mt(&quot;logger2&quot;, &quot;logs/logger2.txt&quot;);

    spdlog::set_default_logger(logger2);
    spdlog::default_logger()-&amp;gt;set_level(spdlog::level::trace); // set level for the default logger (logger2) to trace

    spdlog::trace(&quot;trace message to the logger2 (specified as default)&quot;);

    spdlog::set_level(spdlog::level::off) // (sic!) set level for *all* registered loggers to off (disable)
  
    logger1.warn(&quot;warn message will not appear because the level set to off&quot;);
    logger2.warn(&quot;warn message will not appear because the level set to off&quot;);
    spdlog::warn(&quot;warn message will not appear because the level set to off&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;User-defined callbacks about log events&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;
// create a logger with a lambda function callback, the callback will be called
// each time something is logged to the logger
void callback_example()
{
    auto callback_sink = std::make_shared&amp;lt;spdlog::sinks::callback_sink_mt&amp;gt;([](const spdlog::details::log_msg &amp;amp;msg) {
         // for example you can be notified by sending an email to yourself
    });
    callback_sink-&amp;gt;set_level(spdlog::level::err);

    auto console_sink = std::make_shared&amp;lt;spdlog::sinks::stdout_color_sink_mt&amp;gt;();
    spdlog::logger logger(&quot;custom_callback_logger&quot;, {console_sink, callback_sink});

    logger.info(&quot;some info log&quot;);
    logger.error(&quot;critical issue&quot;); // will notify you
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Asynchronous logging&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/async.h&quot;
#include &quot;spdlog/sinks/basic_file_sink.h&quot;
void async_example()
{
    // default thread pool settings can be modified *before* creating the async logger:
    // spdlog::init_thread_pool(8192, 1); // queue with 8k items and 1 backing thread.
    auto async_file = spdlog::basic_logger_mt&amp;lt;spdlog::async_factory&amp;gt;(&quot;async_file_logger&quot;, &quot;logs/async_log.txt&quot;);
    // alternatively:
    // auto async_file = spdlog::create_async&amp;lt;spdlog::sinks::basic_file_sink_mt&amp;gt;(&quot;async_file_logger&quot;, &quot;logs/async_log.txt&quot;);   
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Asynchronous logger with multi sinks&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/async.h&quot;
#include &quot;spdlog/sinks/stdout_color_sinks.h&quot;
#include &quot;spdlog/sinks/rotating_file_sink.h&quot;

void multi_sink_example2()
{
    spdlog::init_thread_pool(8192, 1);
    auto stdout_sink = std::make_shared&amp;lt;spdlog::sinks::stdout_color_sink_mt &amp;gt;();
    auto rotating_sink = std::make_shared&amp;lt;spdlog::sinks::rotating_file_sink_mt&amp;gt;(&quot;mylog.txt&quot;, 1024*1024*10, 3);
    std::vector&amp;lt;spdlog::sink_ptr&amp;gt; sinks {stdout_sink, rotating_sink};
    auto logger = std::make_shared&amp;lt;spdlog::async_logger&amp;gt;(&quot;loggername&quot;, sinks.begin(), sinks.end(), spdlog::thread_pool(), spdlog::async_overflow_policy::block);
    spdlog::register_logger(logger);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;User-defined types&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;template&amp;lt;&amp;gt;
struct fmt::formatter&amp;lt;my_type&amp;gt; : fmt::formatter&amp;lt;std::string&amp;gt;
{
    auto format(my_type my, format_context &amp;amp;ctx) const -&amp;gt; decltype(ctx.out())
    {
        return fmt::format_to(ctx.out(), &quot;[my_type i={}]&quot;, my.i);
    }
};

void user_defined_example()
{
    spdlog::info(&quot;user defined type: {}&quot;, my_type(14));
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;User-defined flags in the log pattern&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// Log patterns can contain custom flags.
// the following example will add new flag &#39;%*&#39; - which will be bound to a &amp;lt;my_formatter_flag&amp;gt; instance.
#include &quot;spdlog/pattern_formatter.h&quot;
class my_formatter_flag : public spdlog::custom_flag_formatter
{
public:
    void format(const spdlog::details::log_msg &amp;amp;, const std::tm &amp;amp;, spdlog::memory_buf_t &amp;amp;dest) override
    {
        std::string some_txt = &quot;custom-flag&quot;;
        dest.append(some_txt.data(), some_txt.data() + some_txt.size());
    }

    std::unique_ptr&amp;lt;custom_flag_formatter&amp;gt; clone() const override
    {
        return spdlog::details::make_unique&amp;lt;my_formatter_flag&amp;gt;();
    }
};

void custom_flags_example()
{    
    auto formatter = std::make_unique&amp;lt;spdlog::pattern_formatter&amp;gt;();
    formatter-&amp;gt;add_flag&amp;lt;my_formatter_flag&amp;gt;(&#39;*&#39;).set_pattern(&quot;[%n] [%*] [%^%l%$] %v&quot;);
    spdlog::set_formatter(std::move(formatter));
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Custom error handler&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;void err_handler_example()
{
    // can be set globally or per logger(logger-&amp;gt;set_error_handler(..))
    spdlog::set_error_handler([](const std::string &amp;amp;msg) { spdlog::get(&quot;console&quot;)-&amp;gt;error(&quot;*** LOGGER ERROR ***: {}&quot;, msg); });
    spdlog::get(&quot;console&quot;)-&amp;gt;info(&quot;some invalid message to trigger an error {}{}{}{}&quot;, 3);
}

&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;syslog&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/sinks/syslog_sink.h&quot;
void syslog_example()
{
    std::string ident = &quot;spdlog-example&quot;;
    auto syslog_logger = spdlog::syslog_logger_mt(&quot;syslog&quot;, ident, LOG_PID);
    syslog_logger-&amp;gt;warn(&quot;This is warning that will end up in syslog.&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Android example&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/sinks/android_sink.h&quot;
void android_example()
{
    std::string tag = &quot;spdlog-android&quot;;
    auto android_logger = spdlog::android_logger_mt(&quot;android&quot;, tag);
    android_logger-&amp;gt;critical(&quot;Use \&quot;adb shell logcat\&quot; to view this message.&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Load log levels from the env variable or argv&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/cfg/env.h&quot;
int main (int argc, char *argv[])
{
    spdlog::cfg::load_env_levels();
    // or specify the env variable name:
    // MYAPP_LEVEL=info,mylogger=trace &amp;amp;&amp;amp; ./example
    // spdlog::cfg::load_env_levels(&quot;MYAPP_LEVEL&quot;);
    // or from the command line:
    // ./example SPDLOG_LEVEL=info,mylogger=trace
    // #include &quot;spdlog/cfg/argv.h&quot; // for loading levels from argv
    // spdlog::cfg::load_argv_levels(argc, argv);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;So then you can:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-console&quot;&gt;$ export SPDLOG_LEVEL=info,mylogger=trace
$ ./example
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Log file open/close event handlers&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// You can get callbacks from spdlog before/after a log file has been opened or closed. 
// This is useful for cleanup procedures or for adding something to the start/end of the log file.
void file_events_example()
{
    // pass the spdlog::file_event_handlers to file sinks for open/close log file notifications
    spdlog::file_event_handlers handlers;
    handlers.before_open = [](spdlog::filename_t filename) { spdlog::info(&quot;Before opening {}&quot;, filename); };
    handlers.after_open = [](spdlog::filename_t filename, std::FILE *fstream) { fputs(&quot;After opening\n&quot;, fstream); };
    handlers.before_close = [](spdlog::filename_t filename, std::FILE *fstream) { fputs(&quot;Before closing\n&quot;, fstream); };
    handlers.after_close = [](spdlog::filename_t filename) { spdlog::info(&quot;After closing {}&quot;, filename); };
    auto my_logger = spdlog::basic_logger_st(&quot;some_logger&quot;, &quot;logs/events-sample.txt&quot;, true, handlers);        
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Replace the Default Logger&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;void replace_default_logger_example()
{
    auto new_logger = spdlog::basic_logger_mt(&quot;new_default_logger&quot;, &quot;logs/new-default-log.txt&quot;, true);
    spdlog::set_default_logger(new_logger);
    spdlog::info(&quot;new logger log message&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Log to Qt with nice colors&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;#include &quot;spdlog/spdlog.h&quot;
#include &quot;spdlog/sinks/qt_sinks.h&quot;
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
    setMinimumSize(640, 480);
    auto log_widget = new QTextEdit(this);
    setCentralWidget(log_widget);
    int max_lines = 500; // keep the text widget to max 500 lines. remove old lines if needed.
    auto logger = spdlog::qt_color_logger_mt(&quot;qt_logger&quot;, log_widget, max_lines);
    logger-&amp;gt;info(&quot;Some info message&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h4&gt;Mapped Diagnostic Context&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-c++&quot;&gt;// Mapped Diagnostic Context (MDC) is a map that stores key-value pairs (string values) in thread local storage.
// Each thread maintains its own MDC, which loggers use to append diagnostic information to log outputs.
// Note: it is not supported in asynchronous mode due to its reliance on thread-local storage.
#include &quot;spdlog/mdc.h&quot;
void mdc_example()
{
    spdlog::mdc::put(&quot;key1&quot;, &quot;value1&quot;);
    spdlog::mdc::put(&quot;key2&quot;, &quot;value2&quot;);
    // if not using the default format, use the %&amp;amp; formatter to print mdc data
    // spdlog::set_pattern(&quot;[%H:%M:%S %z] [%^%L%$] [%&amp;amp;] %v&quot;);
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Benchmarks&lt;/h2&gt; 
&lt;p&gt;Below are some &lt;a href=&quot;https://raw.githubusercontent.com/gabime/spdlog/v1.x/bench/bench.cpp&quot;&gt;benchmarks&lt;/a&gt; done in Ubuntu 64 bit, Intel i7-4770 CPU @ 3.40GHz&lt;/p&gt; 
&lt;h4&gt;Synchronous mode&lt;/h4&gt; 
&lt;pre&gt;&lt;code&gt;[info] **************************************************************
[info] Single thread, 1,000,000 iterations
[info] **************************************************************
[info] basic_st         Elapsed: 0.17 secs        5,777,626/sec
[info] rotating_st      Elapsed: 0.18 secs        5,475,894/sec
[info] daily_st         Elapsed: 0.20 secs        5,062,659/sec
[info] empty_logger     Elapsed: 0.07 secs       14,127,300/sec
[info] **************************************************************
[info] C-string (400 bytes). Single thread, 1,000,000 iterations
[info] **************************************************************
[info] basic_st         Elapsed: 0.41 secs        2,412,483/sec
[info] rotating_st      Elapsed: 0.72 secs        1,389,196/sec
[info] daily_st         Elapsed: 0.42 secs        2,393,298/sec
[info] null_st          Elapsed: 0.04 secs       27,446,957/sec
[info] **************************************************************
[info] 10 threads, competing over the same logger object, 1,000,000 iterations
[info] **************************************************************
[info] basic_mt         Elapsed: 0.60 secs        1,659,613/sec
[info] rotating_mt      Elapsed: 0.62 secs        1,612,493/sec
[info] daily_mt         Elapsed: 0.61 secs        1,638,305/sec
[info] null_mt          Elapsed: 0.16 secs        6,272,758/sec
&lt;/code&gt;&lt;/pre&gt; 
&lt;h4&gt;Asynchronous mode&lt;/h4&gt; 
&lt;pre&gt;&lt;code&gt;[info] -------------------------------------------------
[info] Messages     : 1,000,000
[info] Threads      : 10
[info] Queue        : 8,192 slots
[info] Queue memory : 8,192 x 272 = 2,176 KB 
[info] -------------------------------------------------
[info] 
[info] *********************************
[info] Queue Overflow Policy: block
[info] *********************************
[info] Elapsed: 1.70784 secs     585,535/sec
[info] Elapsed: 1.69805 secs     588,910/sec
[info] Elapsed: 1.7026 secs      587,337/sec
[info] 
[info] *********************************
[info] Queue Overflow Policy: overrun
[info] *********************************
[info] Elapsed: 0.372816 secs    2,682,285/sec
[info] Elapsed: 0.379758 secs    2,633,255/sec
[info] Elapsed: 0.373532 secs    2,677,147/sec

&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;Documentation can be found in the &lt;a href=&quot;https://github.com/gabime/spdlog/wiki&quot;&gt;wiki&lt;/a&gt; pages.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Powered by&lt;/h3&gt; 
&lt;a href=&quot;https://jb.gg/OpenSource&quot;&gt; &lt;img src=&quot;https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg?sanitize=true&quot; alt=&quot;JetBrains logo&quot; width=&quot;200&quot; /&gt; &lt;/a&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/f9bc31e4f0e85146335c3dc076aa91a53dd2119dc644b50a8682702d3d5c4f25/gabime/spdlog" medium="image" />
      
    </item>
    
    <item>
      <title>MAZHARMIK/Interview_DS_Algo</title>
      <link>https://github.com/MAZHARMIK/Interview_DS_Algo</link>
      <description>&lt;p&gt;Super Repository for Coding Interview Preperation&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Repository Name - Interview_DS_Algo&lt;/h1&gt; 
&lt;h1&gt;My YouTube Channel Name - codestorywithMIK &lt;img src=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/raw/master/icons8-youtube.gif&quot; /&gt;&lt;/h1&gt; 
&lt;img src=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/raw/master/codestorywithmik.png&quot; align=&quot;right&quot; /&gt; 🦸🏻‍♂️On a mission to make a Super Repository for Interview Prep for everyone. 
&lt;span&gt;🏁&lt;/span&gt; One stop Solution. 
&lt;ul&gt; 
 &lt;li&gt; Help me by joining my Youtube Channel for this Repository as well + System Design - &lt;a href=&quot;https://www.youtube.com/channel/UCaw58edcO3ZqMw76Bvs0kGQ&quot;&gt;Youtube Channel codestorywithMIK&lt;/a&gt; (**Subscribers** : 90K+ &lt;span&gt;♥&lt;/span&gt;) &lt;img src=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/raw/master/icons8-youtube.gif&quot; /&gt; &lt;/li&gt;
 &lt;li&gt;Official Facebook Page - &lt;a href=&quot;https://www.facebook.com/profile.php?id=100090524295846&quot;&gt;codestorywithMIK&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;This repo contains solutions to questions asked in various coding interviews topic wise.&lt;/li&gt; 
 &lt;li&gt;Every topic will have sub-topics as well to categorize different types/techniques.&lt;/li&gt; 
 &lt;li&gt;At the top of the solutions, you will find the link to the question and also list of the &lt;strong&gt;&lt;em&gt;Companies&lt;/em&gt;&lt;/strong&gt; who have asked the question in interviews.&lt;/li&gt; 
 &lt;li&gt;So, Look for &lt;strong&gt;&lt;em&gt;COMPANY TAGS&lt;/em&gt;&lt;/strong&gt; above every solution. &lt;span&gt;😵&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;span&gt;🎉&lt;/span&gt;LATEST UPDATE&lt;span&gt;🎉&lt;/span&gt; : &lt;strong&gt;&lt;em&gt;Frequency&lt;/em&gt;&lt;/strong&gt; also added from now onwards. &lt;span&gt;🎉&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;span&gt;🎉&lt;/span&gt;LATEST UPDATE&lt;span&gt;🎉&lt;/span&gt; : &lt;strong&gt;&lt;em&gt;Video Explanation in HINGLISH &lt;/em&gt;&lt;/strong&gt; by me also added from now onwards. &lt;span&gt;🎉&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt; Why I am doing this ? Because knowledge should be free. You don&#39;t need to pay for courses. Learn free, share free. PEACE &lt;span&gt;💓&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt; You can join this group on LinkedIn - &lt;a href=&quot;https://www.linkedin.com/groups/12559380/&quot;&gt;LinkedIn Page : codestorywithMIK&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; Latest Update⏰ - 
&lt;em&gt;It helped me to crack interviews of &lt;strong&gt;&quot;Microsoft&quot;, &quot;Tower Research&quot; and &quot;Tokopedia&quot;&lt;/strong&gt;. I hope to add more to this list later 🙂&lt;/em&gt; 
&lt;p&gt;&lt;img src=&quot;https://komarev.com/ghpvc/?username=MAZHARMIK&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;!-- Visitor Count : ![Visitor Count](https://profile-counter.glitch.me/{MAZHARMIK}/count.svg) --&gt; 
&lt;h3&gt;Contents : &lt;span&gt;📝&lt;/span&gt;&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Tree&quot;&gt;Tree 🌳&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Arrays&quot;&gt; Arrays &lt;span&gt;🎰&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Mathematical&quot;&gt;Mathematical &lt;span&gt;📏&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Heap&quot;&gt;Heap &lt;span&gt;⚠&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Linked%20List&quot;&gt;Linked List &lt;span&gt;🔗&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/DP&quot;&gt;DP &lt;span&gt;📆&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Graph&quot;&gt;Graph &lt;span&gt;🌏&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Trie&quot;&gt;Trie 🌳&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Backtracking&quot;&gt;Backtracking &lt;span&gt;🔚&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Stack&quot;&gt;Stack &lt;span&gt;📚&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Queue&quot;&gt;Queue &lt;span&gt;🚋&lt;/span&gt;&lt;span&gt;🚋&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Bit_Magic&quot;&gt;Bit_Magic &lt;span&gt;🔟&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Greedy&quot;&gt;Greedy &lt;img alt=&quot;shipit&quot; src=&quot;https://github.githubassets.com/images/icons/emoji/shipit.png?v8&quot; /&gt;)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/HashMap&quot;&gt;Hash Map &lt;span&gt;🔑&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/HashSet&quot;&gt;Hash Set &lt;span&gt;🔑&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Recursion&quot;&gt;Recursion &lt;span&gt;🌀&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Sliding%20Window&quot;&gt;Sliding Window &lt;span&gt;🚌&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Design&quot;&gt;Design &lt;span&gt;✂&lt;/span&gt;&lt;span&gt;📐&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/strings&quot;&gt;Strings &lt;span&gt;📑&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Segment%20Tree&quot;&gt;Segment Tree 🌳&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MAZHARMIK/Interview_DS_Algo/tree/master/Line%20Sweep%20Technique&quot;&gt;Line Sweep Technique 📈&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Contributors&lt;/h1&gt; 
&lt;!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/MAZHARMIK&quot;&gt;&lt;img src=&quot;https://avatars0.githubusercontent.com/u/17107752?s=400&amp;amp;v=4&quot; width=&quot;100px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;!-- ALL-CONTRIBUTORS-LIST:END --&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/967d9624c73f7b66b01aa866dcd6d135e5811c93891a2fbb7d1a854ac857e25b/MAZHARMIK/Interview_DS_Algo" medium="image" />
      
    </item>
    
    <item>
      <title>MuShibo/Micro-Wheeled_leg-Robot</title>
      <link>https://github.com/MuShibo/Micro-Wheeled_leg-Robot</link>
      <description>&lt;p&gt;全球最小的桌面级双轮腿机器人！&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Micro-Wheeled_leg-Robot&lt;/h1&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;The smallest two-wheeled-leg robot!&lt;/strong&gt;&lt;/p&gt; 
 &lt;p&gt;Video：&lt;a href=&quot;https://www.bilibili.com/video/BV1io4y1q73L/?spm_id_from=333.999.0.0&quot;&gt;[自制]首款桌面级双轮腿机器人&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Real Robot&lt;/th&gt; 
   &lt;th&gt;3D Design&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/MuShibo/Micro-Wheeled_leg-Robot/master/4.Docs/Image/RobotReal.jpg&quot; alt=&quot;Image 1&quot; height=&quot;200&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/MuShibo/Micro-Wheeled_leg-Robot/master/4.Docs/Image/RobotRender.png&quot; alt=&quot;Image 2&quot; height=&quot;200&quot; /&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/MuShibo/Micro-Wheeled_leg-Robot/master/README_CN.md&quot;&gt;中文文档&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;QQ group (unofficial): 991727288&lt;/p&gt; 
&lt;h3&gt;Mechanical Structure Documentation&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;The file &quot;OriginalRobotModel.stp&quot; is the robot model file.&lt;/li&gt; 
 &lt;li&gt;The &quot;Parts-Manufactured&quot; folder contains parts that need to be processed and produced by yourself, including 3D printing, CNC, and panel cutting.&lt;/li&gt; 
 &lt;li&gt;The &quot;Parts-Purchased&quot; folder contains parts that need to be purchased.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;PCB Documentation&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;There are four PCBs that need to be fabricated; the circuit boards provide both the schematic and PCB source files, and the IDE used is &lt;a href=&quot;https://lceda.cn/&quot;&gt;LCEDA&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;The main control board is based on the ESP32, with the brushless motor driver chip being the L6234PD013TR.&lt;/li&gt; 
 &lt;li&gt;The encoder chip used is the AS5600, communicating with the main control board via the I2C interface.&lt;/li&gt; 
 &lt;li&gt;The IMU used is the MPU6050 module, which shares the same I2C interface with the right-side encoder.&lt;/li&gt; 
 &lt;li&gt;The servo debugging board unifies the two serial lines into one signal line, completing the task through time-division multiplexing to send and receive data.&lt;/li&gt; 
 &lt;li&gt;In addition, you will need three GH1.25 4PIN double-ended cables, with a recommended length of 15cm. These need to be purchased separately.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Wire Connection&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/MuShibo/Micro-Wheeled_leg-Robot/master/4.Docs/Image/Connection.png&quot; alt=&quot;Image 3&quot; height=&quot;500&quot; /&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Source Code Usage&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Based on &lt;a href=&quot;https://www.arduino.cc/&quot;&gt;Arduino IDE&lt;/a&gt;, it is very easy to learn and use.&lt;/li&gt; 
 &lt;li&gt;The brushless motor drive for the wheels is based on &lt;a href=&quot;https://www.simplefoc.com/#simplefoc_library&quot;&gt;simpleFOC&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;The left bus servo ID is 1, and the right is 2; the calibration for the legs to fully squat to the mechanical limit position is 2048; configuration is done using &lt;a href=&quot;https://gitee.com/ftservo/fddebug&quot;&gt;FEETECH Debug Software&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;The &lt;a href=&quot;https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf&quot;&gt;ESP32&lt;/a&gt; itself has WiFi capabilities, with the webpage code stored in flash, transmitting JSON data via the WebSocket communication protocol.&lt;/li&gt; 
 &lt;li&gt;Please use the WebSocket library located in &lt;a href=&quot;https://raw.githubusercontent.com/MuShibo/Micro-Wheeled_leg-Robot/master/3.Software/libraries&quot;&gt;3.Software/libraries&lt;/a&gt;. The recommended esp32 version is 2.0.3.&lt;/li&gt; 
 &lt;li&gt;There are two WiFi models, AP mode and STA mode. AP mode uses the device as a wireless hotspot, and STA mode uses the device as a client to connect to an existing wireless network.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Usage Instructions&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt; 
  &lt;ol&gt; 
   &lt;li&gt;Connect the battery&#39;s XH2.54 plug to the rear interface of the main control board and turn on the switch to power the robot.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;ol start=&quot;2&quot;&gt; 
   &lt;li&gt;After turning on the switch, a red light on the main board will indicate that the power is on.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;ol start=&quot;3&quot;&gt; 
   &lt;li&gt;Next, the wheels will start FOC motor initialization, with the wheels moving slightly and the legs starting to move.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;ol start=&quot;4&quot;&gt; 
   &lt;li&gt;If the battery is sufficient, the blue LED on the main control board will light up. If it does not light up, charging is needed.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;ol start=&quot;5&quot;&gt; 
   &lt;li&gt;After this process is complete, press the EN button on the main control board to restart, and you can then connect to the robot&#39;s WiFi network starting with WL. The password is the lowercase WiFi name.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;ol start=&quot;6&quot;&gt; 
   &lt;li&gt;Open a browser and go to the URL 192.168.1.11. The remote control interface is compatible with Android, iOS, Windows, Linux, macOS, etc., and it is recommended to use Chrome or Firefox.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;ol start=&quot;7&quot;&gt; 
   &lt;li&gt;Manually stabilize the robot, with the wheels slightly touching the ground. Click the &quot;Robot go!&quot; button on the web page, and the robot will stand up. You can then control the robot&#39;s movement using the joystick.&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Open Source Contributors&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Mu Shibo&lt;/li&gt; 
 &lt;li&gt;Li Yufeng&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/0880778158dfc2dc621bc7018b12438b40efdfa606a666afd6681b31ccee5ec7/MuShibo/Micro-Wheeled_leg-Robot" medium="image" />
      
    </item>
    
    <item>
      <title>opencv/opencv</title>
      <link>https://github.com/opencv/opencv</link>
      <description>&lt;p&gt;Open Source Computer Vision Library&lt;/p&gt;&lt;hr&gt;&lt;h2&gt;OpenCV: Open Source Computer Vision Library&lt;/h2&gt; 
&lt;h3&gt;Resources&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Homepage: &lt;a href=&quot;https://opencv.org&quot;&gt;https://opencv.org&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;Courses: &lt;a href=&quot;https://opencv.org/courses&quot;&gt;https://opencv.org/courses&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Docs: &lt;a href=&quot;https://docs.opencv.org/4.x/&quot;&gt;https://docs.opencv.org/4.x/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Q&amp;amp;A forum: &lt;a href=&quot;https://forum.opencv.org&quot;&gt;https://forum.opencv.org&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;previous forum (read only): &lt;a href=&quot;http://answers.opencv.org&quot;&gt;http://answers.opencv.org&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Issue tracking: &lt;a href=&quot;https://github.com/opencv/opencv/issues&quot;&gt;https://github.com/opencv/opencv/issues&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Additional OpenCV functionality: &lt;a href=&quot;https://github.com/opencv/opencv_contrib&quot;&gt;https://github.com/opencv/opencv_contrib&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Donate to OpenCV: &lt;a href=&quot;https://opencv.org/support/&quot;&gt;https://opencv.org/support/&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Contributing&lt;/h3&gt; 
&lt;p&gt;Please read the &lt;a href=&quot;https://github.com/opencv/opencv/wiki/How_to_contribute&quot;&gt;contribution guidelines&lt;/a&gt; before starting work on a pull request.&lt;/p&gt; 
&lt;h4&gt;Summary of the guidelines:&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;One pull request per issue;&lt;/li&gt; 
 &lt;li&gt;Choose the right base branch;&lt;/li&gt; 
 &lt;li&gt;Include tests and documentation;&lt;/li&gt; 
 &lt;li&gt;Clean up &quot;oops&quot; commits before submitting;&lt;/li&gt; 
 &lt;li&gt;Follow the &lt;a href=&quot;https://github.com/opencv/opencv/wiki/Coding_Style_Guide&quot;&gt;coding style guide&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Additional Resources&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://form.jotform.com/233105358823151&quot;&gt;Submit your OpenCV-based project&lt;/a&gt; for inclusion in Community Friday on &lt;a href=&quot;http://opencv.org&quot;&gt;opencv.org&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://youtube.com/@opencvofficial&quot;&gt;Subscribe to the OpenCV YouTube Channel&lt;/a&gt; featuring OpenCV Live, an hour-long streaming show&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://linkedin.com/company/opencv/&quot;&gt;Follow OpenCV on LinkedIn&lt;/a&gt; for daily posts showing the state-of-the-art in computer vision &amp;amp; AI&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://form.jotform.com/232745316792159&quot;&gt;Apply to be an OpenCV Volunteer&lt;/a&gt; to help organize events and online campaigns as well as amplify them&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://mastodon.social/@opencv&quot;&gt;Follow OpenCV on Mastodon&lt;/a&gt; in the Fediverse&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://twitter.com/opencvlive&quot;&gt;Follow OpenCV on Twitter&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://opencv.ai&quot;&gt;OpenCV.ai&lt;/a&gt;: Computer Vision and AI development services from the OpenCV team.&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/4ef49c1c51608ff781ecd0f05c065c23b886acf274a64dbbb6b070495b421de6/opencv/opencv" medium="image" />
      
    </item>
    
    <item>
      <title>praydog/REFramework</title>
      <link>https://github.com/praydog/REFramework</link>
      <description>&lt;p&gt;Mod loader, scripting platform, and VR support for all RE Engine games&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;REFramework &lt;a href=&quot;https://github.com/praydog/REFramework-nightly/releases&quot;&gt;&lt;img src=&quot;https://github.com/praydog/reframework/actions/workflows/dev-release.yml/badge.svg?sanitize=true&quot; alt=&quot;Build status&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;p&gt;A mod framework, scripting platform, and modding tool for RE Engine games. Inspired by and uses code from &lt;a href=&quot;https://github.com/cursey/kanan-new&quot;&gt;Kanan&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;The last stable build can be downloaded from the &lt;a href=&quot;https://github.com/praydog/REFramework/releases&quot;&gt;Releases&lt;/a&gt; page.&lt;/p&gt; 
&lt;p&gt;For newer builds, check out the &lt;a href=&quot;https://github.com/praydog/REFramework-nightly/releases&quot;&gt;Nightly Developer Builds&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Non-VR&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Extract only the &lt;code&gt;dinput8.dll&lt;/code&gt; from the zip file into your game folder.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;VR&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Install SteamVR (unless you&#39;re using OpenXR on a supported headset)&lt;/li&gt; 
 &lt;li&gt;Extract the whole zip file into your corresponding game folder.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/praydog/REFramework/wiki/VR-Troubleshooting&quot;&gt;VR Troubleshooting/FAQ&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Proton/Linux&lt;/h3&gt; 
&lt;p&gt;Add the launch option &lt;code&gt;WINEDLLOVERRIDES=&quot;dinput8.dll=n,b&quot; %command%&lt;/code&gt; to your game through Steam&#39;s properties after extraction.&lt;/p&gt; 
&lt;p&gt;Example game folder: G:\SteamLibrary\steamapps\common\RESIDENT EVIL 2 BIOHAZARD RE2&lt;/p&gt; 
&lt;p&gt;Supports both DirectX 11 and DirectX 12.&lt;/p&gt; 
&lt;h2&gt;Included Mods&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Lua Scripting API &amp;amp; Plugin System (All games, check out the &lt;a href=&quot;https://refdocs.praydog.com&quot;&gt;Wiki&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;VR 
  &lt;ul&gt; 
   &lt;li&gt;Generic 6DOF VR support for all games&lt;/li&gt; 
   &lt;li&gt;Motion controls for RE2/RE3/RE7/RE8&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;First Person (RE2, RE3)&lt;/li&gt; 
 &lt;li&gt;Manual Flashlight (RE2, RE3, RE8)&lt;/li&gt; 
 &lt;li&gt;Free Camera (All games)&lt;/li&gt; 
 &lt;li&gt;Scene Timescale (All games)&lt;/li&gt; 
 &lt;li&gt;FOV Slider (All games)&lt;/li&gt; 
 &lt;li&gt;Vignette Disabler (All games)&lt;/li&gt; 
 &lt;li&gt;Ultrawide/Aspect Ratio fixes (All games)&lt;/li&gt; 
 &lt;li&gt;GUI Hider/Disabler (All games)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Included Fixes&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;RE8 Startup Crash&lt;/li&gt; 
 &lt;li&gt;RE8 Stutters (killing enemies, taking damage, etc...)&lt;/li&gt; 
 &lt;li&gt;MHRise/RE8 crashes related to third party DLLs&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Included Tools (Developer Mode)&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Game Objects Display&lt;/li&gt; 
 &lt;li&gt;Object Explorer&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Supported Games&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Resident Evil 2&lt;/li&gt; 
 &lt;li&gt;Resident Evil 3&lt;/li&gt; 
 &lt;li&gt;Resident Evil 4&lt;/li&gt; 
 &lt;li&gt;Resident Evil 7&lt;/li&gt; 
 &lt;li&gt;Resident Evil Village&lt;/li&gt; 
 &lt;li&gt;Resident Evil Requiem&lt;/li&gt; 
 &lt;li&gt;Devil May Cry 5&lt;/li&gt; 
 &lt;li&gt;Street Fighter 6&lt;/li&gt; 
 &lt;li&gt;Monster Hunter Rise&lt;/li&gt; 
 &lt;li&gt;Monster Hunter Wilds&lt;/li&gt; 
 &lt;li&gt;Monster Hunter Stories 3&lt;/li&gt; 
 &lt;li&gt;Dragon&#39;s Dogma 2&lt;/li&gt; 
 &lt;li&gt;Ghosts &#39;n Goblins Resurrection (Using &lt;code&gt;RE8&lt;/code&gt; build)&lt;/li&gt; 
 &lt;li&gt;Apollo Justice: Ace Attorney Trilogy (Using &lt;code&gt;DD2&lt;/code&gt; build)&lt;/li&gt; 
 &lt;li&gt;Kunitsu-Gami: Path of the Goddess (Using &lt;code&gt;DD2&lt;/code&gt; build)&lt;/li&gt; 
 &lt;li&gt;Onimusha 2: Samurai&#39;s Destiny (Using &lt;code&gt;MHWILDS&lt;/code&gt; build)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Thanks&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/SkacikPL&quot;&gt;SkacikPL&lt;/a&gt; for originally creating the Manual Flashlight mod.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/cursey/&quot;&gt;cursey&lt;/a&gt; for helping develop the VR component and the scripting system.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/youwereeatenbyalid/&quot;&gt;The Hitchhiker&lt;/a&gt; and &lt;a href=&quot;https://github.com/alphazolam&quot;&gt;alphaZomega&lt;/a&gt; for the great help stress testing, creating scripts for the scripting system, and helpful suggestions.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/78ba1d7f0a136743e3aefa96065f75cd0d7bd6bb82bc0b182e1778e29dca1d23/praydog/REFramework" medium="image" />
      
    </item>
    
    <item>
      <title>duckdb/duckdb</title>
      <link>https://github.com/duckdb/duckdb</link>
      <description>&lt;p&gt;DuckDB is an analytical in-process SQL database management system&lt;/p&gt;&lt;hr&gt;&lt;div align=&quot;center&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;logo/DuckDB_Logo-horizontal.svg&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;logo/DuckDB_Logo-horizontal-dark-mode.svg&quot; /&gt; 
  &lt;img alt=&quot;DuckDB logo&quot; src=&quot;https://raw.githubusercontent.com/duckdb/duckdb/main/logo/DuckDB_Logo-horizontal.svg?sanitize=true&quot; height=&quot;100&quot; /&gt; 
 &lt;/picture&gt; 
&lt;/div&gt; 
&lt;br /&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://github.com/duckdb/duckdb/actions&quot;&gt;&lt;img src=&quot;https://github.com/duckdb/duckdb/actions/workflows/Main.yml/badge.svg?branch=main&quot; alt=&quot;Github Actions Badge&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/tcvwpjfnZx&quot;&gt;&lt;img src=&quot;https://shields.io/discord/909674491309850675&quot; alt=&quot;discord&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/duckdb/duckdb/releases/&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/duckdb/duckdb?color=brightgreen&amp;amp;display_name=tag&amp;amp;logo=duckdb&amp;amp;logoColor=white&quot; alt=&quot;Latest Release&quot; /&gt;&lt;/a&gt; &lt;/p&gt; 
&lt;h2&gt;DuckDB&lt;/h2&gt; 
&lt;p&gt;DuckDB is a high-performance analytical database system. It is designed to be fast, reliable, portable, and easy to use. DuckDB provides a rich SQL dialect with support far beyond basic SQL. DuckDB supports arbitrary and nested correlated subqueries, window functions, collations, complex types (arrays, structs, maps), and &lt;a href=&quot;https://duckdb.org/docs/current/sql/dialect/friendly_sql.html&quot;&gt;several extensions designed to make SQL easier to use&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;DuckDB is available as a &lt;a href=&quot;https://duckdb.org/docs/current/clients/cli/overview&quot;&gt;standalone CLI application&lt;/a&gt; and has clients for &lt;a href=&quot;https://duckdb.org/docs/current/clients/python/overview&quot;&gt;Python&lt;/a&gt;, &lt;a href=&quot;https://duckdb.org/docs/current/clients/r&quot;&gt;R&lt;/a&gt;, &lt;a href=&quot;https://duckdb.org/docs/current/clients/java&quot;&gt;Java&lt;/a&gt;, &lt;a href=&quot;https://duckdb.org/docs/current/clients/wasm/overview&quot;&gt;Wasm&lt;/a&gt;, etc., with deep integrations with packages such as &lt;a href=&quot;https://duckdb.org/docs/guides/python/sql_on_pandas&quot;&gt;pandas&lt;/a&gt; and &lt;a href=&quot;https://duckdb.org/docs/current/clients/r#duckplyr-dplyr-api&quot;&gt;dplyr&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;For more information on using DuckDB, please refer to the &lt;a href=&quot;https://duckdb.org/docs/current/&quot;&gt;DuckDB documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;If you want to install DuckDB, please see &lt;a href=&quot;https://duckdb.org/docs/installation/&quot;&gt;our installation page&lt;/a&gt; for instructions.&lt;/p&gt; 
&lt;h2&gt;Data Import&lt;/h2&gt; 
&lt;p&gt;For CSV files and Parquet files, data import is as simple as referencing the file in the FROM clause:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;SELECT * FROM &#39;myfile.csv&#39;;
SELECT * FROM &#39;myfile.parquet&#39;;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Refer to our &lt;a href=&quot;https://duckdb.org/docs/current/data/overview&quot;&gt;Data Import&lt;/a&gt; section for more information.&lt;/p&gt; 
&lt;h2&gt;SQL Reference&lt;/h2&gt; 
&lt;p&gt;The documentation contains a &lt;a href=&quot;https://duckdb.org/docs/current/sql/introduction&quot;&gt;SQL introduction and reference&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Development&lt;/h2&gt; 
&lt;p&gt;For development, DuckDB requires &lt;a href=&quot;https://cmake.org&quot;&gt;CMake&lt;/a&gt;, Python 3 and a &lt;code&gt;C++17&lt;/code&gt; compliant compiler. In the root directory, run &lt;code&gt;make&lt;/code&gt; to compile the sources. For development, use &lt;code&gt;make debug&lt;/code&gt; to build a non-optimized debug version. You should run &lt;code&gt;make unit&lt;/code&gt; and &lt;code&gt;make allunit&lt;/code&gt; to verify that your version works properly after making changes. To test performance, you can run &lt;code&gt;BUILD_BENCHMARK=1 BUILD_TPCH=1 make&lt;/code&gt; and then perform several standard benchmarks from the root directory by executing &lt;code&gt;./build/release/benchmark/benchmark_runner&lt;/code&gt;. The details of benchmarks are in our &lt;a href=&quot;https://raw.githubusercontent.com/duckdb/duckdb/main/benchmark/README.md&quot;&gt;Benchmark Guide&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Please also refer to our &lt;a href=&quot;https://duckdb.org/docs/current/dev/building/overview&quot;&gt;Build Guide&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/duckdb/duckdb/main/CONTRIBUTING.md&quot;&gt;Contribution Guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Support&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://ducklabs.com/support/&quot;&gt;Support Options&lt;/a&gt; page and the dedicated &lt;a href=&quot;https://endoflife.date/duckdb&quot;&gt;&lt;code&gt;endoflife.date&lt;/code&gt;&lt;/a&gt; page.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/138754790/fdc92700-357b-11eb-9761-54b3c051137c" medium="image" />
      
    </item>
    
    <item>
      <title>notepad-plus-plus/notepad-plus-plus</title>
      <link>https://github.com/notepad-plus-plus/notepad-plus-plus</link>
      <description>&lt;p&gt;Notepad++ official repository&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;What is Notepad++ ?&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/notepad-plus-plus/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/release/notepad-plus-plus/notepad-plus-plus.svg?sanitize=true&quot; alt=&quot;GitHub release&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://github.com/notepad-plus-plus/notepad-plus-plus/actions/workflows/CI_build.yml&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/actions/workflow/status/notepad-plus-plus/notepad-plus-plus/CI_build.yml&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://community.notepad-plus-plus.org/&quot;&gt;&lt;img src=&quot;https://notepad-plus-plus.org/assets/images/NppCommunityBadge.svg?sanitize=true&quot; alt=&quot;Join the discussions at https://community.notepad-plus-plus.org/&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Notepad++ is a free (free as in both &quot;free speech&quot; and &quot;free beer&quot;) source code editor and Notepad replacement that supports several programming languages and natural languages. Running in the MS Windows environment, its use is governed by &lt;a href=&quot;https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/LICENSE&quot;&gt;GPL License&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://notepad-plus-plus.org/&quot;&gt;Notepad++ official site&lt;/a&gt; for more information.&lt;/p&gt; 
&lt;h2&gt;Notepad++ GPG Release Key&lt;/h2&gt; 
&lt;p&gt;&lt;em&gt;Since the release of version 7.6.5 Notepad++ is signed using GPG with the following key:&lt;/em&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Signer:&lt;/strong&gt; Notepad++&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;E-mail:&lt;/strong&gt; &lt;a href=&quot;mailto:don.h@free.fr&quot;&gt;don.h@free.fr&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Key ID:&lt;/strong&gt; 0x8D84F46E&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Key fingerprint:&lt;/strong&gt; 14BC E436 2749 B2B5 1F8C 7122 6C42 9F1D 8D84 F46E&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Key type:&lt;/strong&gt; RSA 4096/4096&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Created:&lt;/strong&gt; 2019-03-11&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Expires:&lt;/strong&gt; 2027-03-13&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/notepad-plus-plus/notepad-plus-plus/raw/master/nppGpgPub.asc&quot;&gt;https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/nppGpgPub.asc&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Supported OS&lt;/h2&gt; 
&lt;p&gt;All the Windows systems still supported by Microsoft are supported by Notepad++. However, not all Notepad++ users can or want to use the newest system. Here is the &lt;a href=&quot;https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/SUPPORTED_SYSTEM.md&quot;&gt;Supported systems information&lt;/a&gt; you may need in case you are one of them.&lt;/p&gt; 
&lt;h2&gt;Build Notepad++&lt;/h2&gt; 
&lt;p&gt;Please follow &lt;a href=&quot;https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/BUILD.md&quot;&gt;build guide&lt;/a&gt; to build Notepad++ from source.&lt;/p&gt; 
&lt;h2&gt;Contribution&lt;/h2&gt; 
&lt;p&gt;Contributions are welcome. Be mindful of our &lt;a href=&quot;https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/CONTRIBUTING.md&quot;&gt;Contribution Rules&lt;/a&gt; to increase the likelihood of your contribution getting accepted.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/notepad-plus-plus/notepad-plus-plus/graphs/contributors&quot;&gt;Notepad++ Contributors&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/9481a61c3f58a1babf3172bb926b410f4718cd539ceac81f9cb66d84d4f2393b/notepad-plus-plus/notepad-plus-plus" medium="image" />
      
    </item>
    
    <item>
      <title>google-ai-edge/LiteRT-LM</title>
      <link>https://github.com/google-ai-edge/LiteRT-LM</link>
      <description>&lt;p&gt;LiteRT-LM is Google&#39;s production-ready, high-performance, open-source inference framework for deploying Large Language Models on edge devices.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;LiteRT-LM&lt;/h1&gt; 
&lt;p&gt;LiteRT-LM is Google&#39;s production-ready, high-performance, open-source inference framework for deploying Large Language Models on edge devices.&lt;/p&gt; 
&lt;p&gt;🔗 &lt;a href=&quot;https://ai.google.dev/edge/litert-lm&quot;&gt;Product Website&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;🔥 What&#39;s New: &lt;code&gt;v0.13&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Gemma4 12B Support&lt;/strong&gt;: LiteRT-LM now supports Gemma4 12B (&lt;a href=&quot;https://developers.googleblog.com/bringing-gemma-4-12b-to-your-laptop-unlocking-local-agentic-workflows-with-google-ai-edge/&quot;&gt;blog&lt;/a&gt;).&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;LiteRT LM CLI update&lt;/strong&gt;: Support OpenAI API Compatible server (&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/cli/openai_server&quot;&gt;doc&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Swift package for MacOS&lt;/strong&gt;: Swift package supports both macOS and iOS now.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;🚀 Agent skill support&lt;/strong&gt;: Support creating a standalone LiteRT-LM Android demo app with backend selection and multi-modality support. See &lt;a href=&quot;https://raw.githubusercontent.com/google-ai-edge/LiteRT-LM/main/agents/skills/README.md&quot;&gt;README.md&lt;/a&gt; for the example prompt.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;👉 Try Gemma4-E4B with MTP on Linux, macOS, Windows or Raspberry Pi with the &lt;a href=&quot;https://ai.google.dev/edge/litert-lm/cli&quot;&gt;LiteRT-LM CLI&lt;/a&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;litert-lm run  \
   --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
   gemma-4-E4B-it.litertlm \
   --backend=gpu \
   --enable-speculative-decoding=true \
   --prompt=&quot;What is the capital of France?&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;🌟 Key Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;📱 &lt;strong&gt;Cross-Platform Support&lt;/strong&gt;: Android, iOS, Web, Desktop, and IoT (e.g. Raspberry Pi).&lt;/li&gt; 
 &lt;li&gt;🚀 &lt;strong&gt;Hardware Acceleration&lt;/strong&gt;: Peak performance via GPU and NPU accelerators.&lt;/li&gt; 
 &lt;li&gt;👁️ &lt;strong&gt;Multi-Modality&lt;/strong&gt;: Support for vision and audio inputs.&lt;/li&gt; 
 &lt;li&gt;🔧 &lt;strong&gt;Tool Use&lt;/strong&gt;: Function calling support for agentic workflows.&lt;/li&gt; 
 &lt;li&gt;📚 &lt;strong&gt;Broad Model Support&lt;/strong&gt;: Gemma, Llama, Phi-4, Qwen, and more.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/google-ai-edge/LiteRT-LM/main/docs/api/kotlin/demo.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;🚀 Production-Ready for Google&#39;s Products&lt;/h2&gt; 
&lt;p&gt;LiteRT-LM powers on-device GenAI experiences in &lt;strong&gt;Chrome&lt;/strong&gt;, &lt;strong&gt;Chromebook Plus&lt;/strong&gt;, &lt;strong&gt;Pixel Watch&lt;/strong&gt;, and more.&lt;/p&gt; 
&lt;p&gt;You can also try the &lt;a href=&quot;https://github.com/google-ai-edge/gallery&quot;&gt;Google AI Edge Gallery&lt;/a&gt; app to run models immediately on your device.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:center&quot;&gt;&lt;strong&gt;Install the app today from Google Play&lt;/strong&gt;&lt;/th&gt; 
   &lt;th style=&quot;text-align:center&quot;&gt;&lt;strong&gt;Install the app today from App Store&lt;/strong&gt;&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.google.ai.edge.gallery&quot;&gt;&lt;img alt=&quot;Get it on Google Play&quot; height=&quot;120&quot; src=&quot;https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;https://apps.apple.com/us/app/google-ai-edge-gallery/id6749645337?itscg=30200&amp;amp;itsct=apps_box_badge&amp;amp;mttnsubad=6749645337&quot; style=&quot;display: inline-block;&quot;&gt; &lt;img src=&quot;https://toolbox.marketingtools.apple.com/api/v2/badges/download-on-the-app-store/black/en-us?releaseDate=1771977600&quot; alt=&quot;Download on the App Store&quot; style=&quot;width: 246px; height: 90px; vertical-align: middle; object-fit: contain;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;📰 Blogs &amp;amp; Announcements&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Link&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://developers.googleblog.com/bringing-gemma-4-12b-to-your-laptop-unlocking-local-agentic-workflows-with-google-ai-edge/&quot;&gt;Bringing Gemma 4 12B to your Laptop: Unlocking Local, Agentic Workflows with Google AI Edge&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Bring agentic, multimodal AI capabilities to everyday laptops, enabling local data processing and visual insight generation.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://developers.googleblog.com/blazing-fast-on-device-genai-with-litert-lm/&quot;&gt;Blazing-fast on-device GenAI with LiteRT-LM&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Unlock Gemma 4&#39;s full potential with blazing speed and incredible efficiency using newly added Swift, JavaScript, and Flutter APIs.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://blog.google/innovation-and-ai/technology/developers-tools/multi-token-prediction-gemma-4/&quot;&gt;Accelerating Gemma 4: faster inference with multi-token prediction drafters&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;An overview of how Multi-Token Prediction (MTP) drafters are making Gemma 4 models up to 3x faster at inference.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://developers.googleblog.com/bring-state-of-the-art-agentic-skills-to-the-edge-with-gemma-4/&quot;&gt;Bring state-of-the-art agentic skills to the edge with Gemma 4&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Deploy Gemma 4 in-app and across a broader range of devices with stellar performance and broad reach using LiteRT-LM.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://developers.googleblog.com/on-device-genai-in-chrome-chromebook-plus-and-pixel-watch-with-litert-lm/&quot;&gt;On-device GenAI in Chrome, Chromebook Plus and Pixel Watch&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Deploy language models on wearables and browser-based platforms using LiteRT-LM at scale.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://developers.googleblog.com/on-device-function-calling-in-google-ai-edge-gallery/&quot;&gt;On-device Function Calling in Google AI Edge Gallery&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Explore how to fine-tune FunctionGemma and enable function calling capabilities powered by LiteRT-LM Tool Use APIs.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://developers.googleblog.com/google-ai-edge-small-language-models-multimodality-rag-function-calling/&quot;&gt;Google AI Edge small language models, multimodality, and function calling&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Latest insights on RAG, multimodality, and function calling for edge language models.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;hr /&gt; 
&lt;h2&gt;🏃 Quick Start&lt;/h2&gt; 
&lt;h3&gt;🔗 Key Links&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;👉 &lt;a href=&quot;https://ai.google.dev/edge/litert-lm/overview&quot;&gt;Technical Overview&lt;/a&gt; including performance benchmarks, model support, and more.&lt;/li&gt; 
 &lt;li&gt;👉 &lt;a href=&quot;https://ai.google.dev/edge/litert-lm/cli&quot;&gt;LiteRT-LM CLI Guide&lt;/a&gt; including installation, getting started, and advanced usage.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;⚡ Quick Try (No Code)&lt;/h3&gt; 
&lt;p&gt;Try LiteRT-LM immediately from your terminal without writing a single line of code using &lt;a href=&quot;https://docs.astral.sh/uv/getting-started/installation/&quot;&gt;&lt;code&gt;uv&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;uv tool install litert-lm

litert-lm run \
  --from-huggingface-repo=google/gemma-3n-E2B-it-litert-lm \
  gemma-3n-E2B-it-int4 \
  --prompt=&quot;What is the capital of France?&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h3&gt;📚 Supported Language APIs&lt;/h3&gt; 
&lt;p&gt;Ready to get started? Explore our language-specific guides and setup instructions.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Language&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Status&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Best For...&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Documentation&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;✅ Stable&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Prototyping &amp;amp; Scripting&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/python&quot;&gt;Python Guide&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Kotlin&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;✅ Stable&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Android apps &amp;amp; JVM&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/android&quot;&gt;Kotlin Guide&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Swift&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;🚀 Early Preview&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Native iOS &amp;amp; macOS&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/swift&quot;&gt;Swift Guide&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;JavaScript (web)&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;🚀 Early Preview&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Browser environments&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/js&quot;&gt;JavaScript Guide&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Flutter&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;🚀 Community&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Cross-platform mobile&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/flutter&quot;&gt;Flutter Guide&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;C++&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;✅ Stable&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;High-performance native&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;a href=&quot;https://ai.google.dev/edge/litert-lm/cpp&quot;&gt;C++ Guide&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h4&gt;🏗️ Build From Source&lt;/h4&gt; 
&lt;p&gt;This &lt;a href=&quot;https://raw.githubusercontent.com/google-ai-edge/LiteRT-LM/main/docs/getting-started/build-and-run.md&quot;&gt;guide&lt;/a&gt; shows how you can compile LiteRT-LM from source. If you want to build the program from source, you should checkout the stable &lt;a href=&quot;https://github.com/google-ai-edge/LiteRT-LM/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/google-ai-edge/LiteRT-LM&quot; alt=&quot;Latest Release&quot; /&gt;&lt;/a&gt; tag.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;📦 Releases&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;v0.13&lt;/strong&gt;: Support Gemma4 12B. Added Agent skill support for Android demo app, OpenAI API compatible server in CLI, and MacOS support in Swift package.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;v0.12&lt;/strong&gt;: Added early preview of Swift and Web JavaScript APIs, and community Flutter support. Updated LiteRT-LM CLI to have full CPU and GPU backend support across Linux, macOS, and Windows.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;v0.11&lt;/strong&gt;: Support Single Position Multi-token Prediction (MTP) for Gemma 4. Expand LiteRT-LM CLI to run natively on Windows with CPU and GPU backends.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;v0.10&lt;/strong&gt;: Deploy &lt;a href=&quot;https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/&quot;&gt;Gemma 4&lt;/a&gt; with stellar performance (&lt;a href=&quot;https://developers.googleblog.com/bring-state-of-the-art-agentic-skills-to-the-edge-with-gemma-4/&quot;&gt;blog&lt;/a&gt;) and introduce &lt;a href=&quot;https://ai.google.dev/edge/litert-lm/cli&quot;&gt;LiteRT-LM CLI&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;v0.9&lt;/strong&gt;: Improvements to function calling capabilities, better app performance stability.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;v0.8&lt;/strong&gt;: Desktop GPU support and Multi-Modality.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;v0.7&lt;/strong&gt;: NPU acceleration for Gemma models.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For a full list of releases, see &lt;a href=&quot;https://github.com/google-ai-edge/LiteRT-LM/releases&quot;&gt;GitHub Releases&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/8ac6a62e178c5f2fc4fa8e27bc4bf81faf5fb8814116e975bcb3c163724be853/google-ai-edge/LiteRT-LM" medium="image" />
      
    </item>
    
    <item>
      <title>carbon-language/carbon-lang</title>
      <link>https://github.com/carbon-language/carbon-lang</link>
      <description>&lt;p&gt;Carbon Language&#39;s main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Carbon Language: &lt;br /&gt; An experimental successor to C++&lt;/h1&gt; 
&lt;!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
--&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#why-build-carbon&quot;&gt;Why?&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#language-goals&quot;&gt;Goals&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#project-status&quot;&gt;Status&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#getting-started&quot;&gt;Getting started&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#join-us&quot;&gt;Join us&lt;/a&gt; &lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;See our &lt;a href=&quot;https://youtu.be/omrY53kbVoA&quot;&gt;announcement video&lt;/a&gt; from &lt;a href=&quot;https://cppnorth.ca/&quot;&gt;CppNorth&lt;/a&gt;.&lt;/strong&gt; Note that Carbon is &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#project-status&quot;&gt;not ready for use&lt;/a&gt;.&lt;/p&gt; 
&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/snippets.md#quicksort&quot;&gt; 
 &lt;!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
--&gt; &lt;img src=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/quicksort_snippet.svg?sanitize=true&quot; align=&quot;right&quot; width=&quot;575&quot; alt=&quot;Quicksort code in Carbon. Follow the link to read more.&quot; /&gt; &lt;/a&gt; 
&lt;!--
Don&#39;t let the text wrap too narrowly to the left of the above image.
The `div` reduces the vertical height. The `picture` prevents autolinking.
--&gt; 
&lt;div&gt;
 &lt;picture&gt;
  &lt;img src=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/bumper.png&quot; alt=&quot;&quot; /&gt;
 &lt;/picture&gt;
&lt;/div&gt; 
&lt;p&gt;&lt;strong&gt;Fast and works with C++&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Performance matching C++ using LLVM, with low-level access to bits and addresses&lt;/li&gt; 
 &lt;li&gt;Interoperate with your existing C++ code, from inheritance to templates&lt;/li&gt; 
 &lt;li&gt;Fast and scalable builds that work with your existing C++ build systems&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;Modern and evolving&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Solid language foundations that are easy to learn, especially if you have used C++&lt;/li&gt; 
 &lt;li&gt;Easy, tool-based upgrades between Carbon versions&lt;/li&gt; 
 &lt;li&gt;Safer fundamentals, and an incremental path towards a memory-safe subset&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;Welcoming open-source community&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Clear goals and priorities with robust governance&lt;/li&gt; 
 &lt;li&gt;Community that works to be welcoming, inclusive, and friendly&lt;/li&gt; 
 &lt;li&gt;Batteries-included approach: compiler, libraries, docs, tools, package manager, and more&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Why build Carbon?&lt;/h2&gt; 
&lt;p&gt;C++ remains the dominant programming language for performance-critical software, with massive and growing codebases and investments. However, it is struggling to improve and meet developers&#39; needs, as outlined above, in no small part due to accumulating decades of technical debt. Incrementally improving C++ is &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/difficulties_improving_cpp.md&quot;&gt;extremely difficult&lt;/a&gt;, both due to the technical debt itself and challenges with its evolution process. The best way to address these problems is to avoid inheriting the legacy of C or C++ directly, and instead start with solid language foundations like &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/#generics&quot;&gt;modern generics system&lt;/a&gt;, modular code organization, and consistent, simple syntax.&lt;/p&gt; 
&lt;p&gt;Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. &lt;strong&gt;Developers that &lt;em&gt;can&lt;/em&gt; use one of these existing languages &lt;em&gt;should&lt;/em&gt;.&lt;/strong&gt; Unfortunately, the designs of these languages present significant barriers to adoption and migration from C++. These barriers range from changes in the idiomatic design of software to performance overhead.&lt;/p&gt; 
&lt;p&gt;Carbon is fundamentally &lt;strong&gt;a successor language approach&lt;/strong&gt;, rather than an attempt to incrementally evolve C++. It is designed around interoperability with C++ as well as large-scale adoption and migration for existing C++ codebases and developers. A successor language for C++ requires:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Performance matching C++&lt;/strong&gt;, an essential property for our developers.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Seamless, bidirectional interoperability with C++&lt;/strong&gt;, such that a library anywhere in an existing C++ stack can adopt Carbon without porting the rest.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;A gentle learning curve&lt;/strong&gt; with reasonable familiarity for C++ developers.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Comparable expressivity&lt;/strong&gt; and support for existing software&#39;s design and architecture.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Scalable migration&lt;/strong&gt;, with some level of source-to-source translation for idiomatic C++ code.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;With this approach, we can build on top of C++&#39;s existing ecosystem, and bring along existing investments, codebases, and developer populations. There are a few languages that have followed this model for other ecosystems, and Carbon aims to fill an analogous role for C++:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;JavaScript → TypeScript&lt;/li&gt; 
 &lt;li&gt;Java → Kotlin&lt;/li&gt; 
 &lt;li&gt;C++ → &lt;strong&gt;&lt;em&gt;Carbon&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Language Goals&lt;/h2&gt; 
&lt;p&gt;We are designing Carbon to support:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Performance-critical software&lt;/li&gt; 
 &lt;li&gt;Software and language evolution&lt;/li&gt; 
 &lt;li&gt;Code that is easy to read, understand, and write&lt;/li&gt; 
 &lt;li&gt;Practical safety and testing mechanisms&lt;/li&gt; 
 &lt;li&gt;Fast and scalable development&lt;/li&gt; 
 &lt;li&gt;Modern OS platforms, hardware architectures, and environments&lt;/li&gt; 
 &lt;li&gt;Interoperability with and migration from existing C++ code&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;While many languages share subsets of these goals, what distinguishes Carbon is their combination.&lt;/p&gt; 
&lt;p&gt;We also have explicit &lt;em&gt;non-goals&lt;/em&gt; for Carbon, notably including:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;A stable &lt;a href=&quot;https://en.wikipedia.org/wiki/Application_binary_interface&quot;&gt;application binary interface&lt;/a&gt; (ABI) for the entire language and library&lt;/li&gt; 
 &lt;li&gt;Perfect backwards or forwards compatibility&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Our detailed &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/goals.md&quot;&gt;goals&lt;/a&gt; document fleshes out these ideas and provides a deeper view into our goals for the Carbon project and language.&lt;/p&gt; 
&lt;h2&gt;Project status&lt;/h2&gt; 
&lt;p&gt;Carbon Language is currently an experimental project. We are hard at work on a toolchain implementation with compiler and linker. You can try out the current state at &lt;a href=&quot;http://carbon.compiler-explorer.com/&quot;&gt;compiler-explorer.com&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;We want to better understand whether we can build a language that meets our successor language criteria, and whether the resulting language can gather a critical mass of interest within the larger C++ industry and community.&lt;/p&gt; 
&lt;p&gt;Currently, we have fleshed out several core aspects of both Carbon the project and the language:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;The strategy of the Carbon Language and project.&lt;/li&gt; 
 &lt;li&gt;An open-source project structure, governance model, and evolution process.&lt;/li&gt; 
 &lt;li&gt;Critical and foundational aspects of the language design informed by our experience with C++ and the most difficult challenges we anticipate. This includes designs for: 
  &lt;ul&gt; 
   &lt;li&gt;Generics&lt;/li&gt; 
   &lt;li&gt;Class types&lt;/li&gt; 
   &lt;li&gt;Inheritance&lt;/li&gt; 
   &lt;li&gt;Operator overloading&lt;/li&gt; 
   &lt;li&gt;Lexical and syntactic structure&lt;/li&gt; 
   &lt;li&gt;Code organization and modular structure&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;An under-development &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/toolchain/&quot;&gt;compiler and toolchain&lt;/a&gt; that will compile Carbon (and eventually C++ code as well) into standard executable code. This is where most of our current implementation efforts are directed. 
  &lt;ul&gt; 
   &lt;li&gt;Historically, there was also a prototype &lt;a href=&quot;https://github.com/carbon-language/explorer&quot;&gt;explorer&lt;/a&gt; interpreter that implemented an older version of the Carbon language design, but is no longer under development and has been archived.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you&#39;re interested in contributing, we&#39;re currently focused on developing the Carbon toolchain until it can &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/roadmap.md#access-most-non-template-c-apis-in-carbon&quot;&gt;support Carbon ↔ C++ interop&lt;/a&gt;. Beyond that, we plan to continue developing the design and toolchain until we can ship the &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/milestones.md#milestone-01-a-minimum-viable-product-mvp-for-evaluation&quot;&gt;0.1 language&lt;/a&gt; and support evaluating Carbon in more detail.&lt;/p&gt; 
&lt;p&gt;You can see our &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/roadmap.md&quot;&gt;full roadmap&lt;/a&gt; for more details.&lt;/p&gt; 
&lt;h2&gt;Carbon and C++&lt;/h2&gt; 
&lt;p&gt;If you&#39;re already a C++ developer, Carbon should have a gentle learning curve. It is built out of a consistent set of language constructs that should feel familiar and be easy to read and understand.&lt;/p&gt; 
&lt;p&gt;The Carbon code here is hypothetical and meant to show the look and feel of the language.&lt;/p&gt; 
&lt;p&gt;C++ code like this:&lt;/p&gt; 
&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/snippets.md#c&quot;&gt; 
 &lt;!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
--&gt; &lt;img src=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/cpp_snippet.svg?sanitize=true&quot; width=&quot;600&quot; alt=&quot;A snippet of C++ code. Follow the link to read it.&quot; /&gt; &lt;/a&gt; 
&lt;p&gt;corresponds to this Carbon code:&lt;/p&gt; 
&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/snippets.md#carbon&quot;&gt; 
 &lt;!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
--&gt; &lt;img src=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/carbon_snippet.svg?sanitize=true&quot; width=&quot;600&quot; alt=&quot;A snippet of converted Carbon code. Follow the link to read it.&quot; /&gt; &lt;/a&gt; 
&lt;p&gt;You can call Carbon from C++ without overhead and the other way around. This means you migrate a single C++ library to Carbon within an application, or write new Carbon on top of your existing C++ investment. For example:&lt;/p&gt; 
&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/snippets.md#mixed&quot;&gt; 
 &lt;!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
--&gt; &lt;img src=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/images/mixed_snippet.svg?sanitize=true&quot; width=&quot;600&quot; alt=&quot;A snippet of mixed Carbon and C++ code. Follow the link to read it.&quot; /&gt; &lt;/a&gt; 
&lt;p&gt;Read more about &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/design/interoperability/philosophy_and_goals.md&quot;&gt;C++ interop in Carbon&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Beyond interoperability between Carbon and C++, we&#39;re also planning to support migration tools that will mechanically translate idiomatic C++ code into Carbon code to help you switch an existing C++ codebase to Carbon.&lt;/p&gt; 
&lt;h2&gt;Generics&lt;/h2&gt; 
&lt;p&gt;Carbon provides a &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/design/generics/overview.md#what-are-generics&quot;&gt;modern generics system&lt;/a&gt;&lt;/strong&gt; with checked definitions, while still &lt;strong&gt;supporting opt-in &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/design/templates.md&quot;&gt;templates&lt;/a&gt; for seamless C++ interop&lt;/strong&gt;. Checked generics provide several advantages compared to C++ templates:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Generic definitions are fully type-checked&lt;/strong&gt;, removing the need to instantiate to check for errors and giving greater confidence in code. 
  &lt;ul&gt; 
   &lt;li&gt;Avoids the compile-time cost of re-checking the definition for every instantiation.&lt;/li&gt; 
   &lt;li&gt;When using a definition-checked generic, usage error messages are clearer, directly showing which requirements are not met.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Enables automatic, opt-in type erasure and dynamic dispatch&lt;/strong&gt; without a separate implementation. This can reduce the binary size and enables constructs like heterogeneous containers.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Strong, checked interfaces&lt;/strong&gt; mean fewer accidental dependencies on implementation details and a clearer contract for consumers.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Without sacrificing these advantages, &lt;strong&gt;Carbon generics support specialization&lt;/strong&gt;, ensuring it can fully address performance-critical use cases of C++ templates. For more details about Carbon&#39;s generics, see their &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/design/generics&quot;&gt;design&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;In addition to easy and powerful interop with C++, Carbon templates can be constrained and incrementally migrated to checked generics at a fine granularity and with a smooth evolutionary path.&lt;/p&gt; 
&lt;h2&gt;Memory safety&lt;/h2&gt; 
&lt;p&gt;Safety, and especially &lt;a href=&quot;https://en.wikipedia.org/wiki/Memory_safety&quot;&gt;memory safety&lt;/a&gt;, remains a key challenge for C++ and something a successor language needs to address.&lt;/p&gt; 
&lt;p&gt;We plan to support a two step migration process:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Highly automated, minimal supervision migration from C++ to a dialect of Carbon designed for C++ interop and migration.&lt;/li&gt; 
 &lt;li&gt;Incremental refactoring of the Carbon code to adopt memory-safe designs, patterns, and APIs.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;We also want to address important, low-hanging fruit in the safety space immediately when migrating into Carbon:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Tracking uninitialized states better, increased enforcement of initialization, and hardening against initialization bugs when needed.&lt;/li&gt; 
 &lt;li&gt;Designing fundamental APIs and idioms to support dynamic bounds checking.&lt;/li&gt; 
 &lt;li&gt;Switching from undefined behavior to erroneous behavior wherever possible, and marking the remaining undefined behavior with visible &lt;code&gt;unsafe&lt;/code&gt; syntax.&lt;/li&gt; 
 &lt;li&gt;Having a default debug build mode that has less runtime overhead while being more comprehensive than existing C++ debug build modes combined with &lt;a href=&quot;https://github.com/google/sanitizers/wiki/AddressSanitizer&quot;&gt;Address Sanitizer&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For more details, see our &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/design/safety&quot;&gt;safety design&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Getting started&lt;/h2&gt; 
&lt;p&gt;To try out Carbon immediately in your browser, you can use the toolchain at: &lt;a href=&quot;http://carbon.compiler-explorer.com/&quot;&gt;carbon.compiler-explorer.com&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;We are developing a traditional toolchain for Carbon that can compile and link programs. However, Carbon is still an early, experimental project, and so we only have very experimental nightly releases of the Carbon toolchain available to download, and only on limited platforms. If you are using a recent Ubuntu Linux or similar (Debian, WSL, etc.), you can try these out by going to our &lt;a href=&quot;https://github.com/carbon-language/carbon-lang/releases&quot;&gt;releases&lt;/a&gt; page and download the latest nightly toolchain tar file: &lt;code&gt;carbon_toolchain-0.0.0-0.nightly.YYYY.MM.DD.tar.gz&lt;/code&gt;. Then you can try it out:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;# A variable with the nightly version from yesterday:
VERSION=&quot;$(date -d yesterday +0.0.0-0.nightly.%Y.%m.%d)&quot;

# Get the release
wget https://github.com/carbon-language/carbon-lang/releases/download/v${VERSION}/carbon_toolchain-${VERSION}.tar.gz

# Unpack the toolchain:
tar -xvf carbon_toolchain-${VERSION}.tar.gz

# Create a simple Carbon source file:
echo &quot;import Core library \&quot;io\&quot;; fn Run() { Core.Print(42); }&quot; &amp;gt; forty_two.carbon

# Compile to an object file:
./carbon_toolchain-${VERSION}/bin/carbon compile \
  --output=forty_two.o forty_two.carbon

# Install minimal system libraries used for linking. Note that installing `gcc`
# or `g++` for compiling C/C++ code with GCC will also be sufficient, these are
# just the specific system libraries Carbon linking still uses.
sudo apt install libgcc-11-dev

# Link to an executable:
./carbon_toolchain-${VERSION}/bin/carbon link \
  --output=forty_two forty_two.o

# Run it:
./forty_two
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;As a reminder, the toolchain is still very early and many things don&#39;t yet work. Please hold off on filing lots of bugs: we know many parts of this don&#39;t work yet or may not work on all systems. We expect to have releases that are much more robust and reliable that you can try out when we reach our &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/milestones.md#milestone-01-a-minimum-viable-product-mvp-for-evaluation&quot;&gt;0.1 milestone&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;If you want to build Carbon&#39;s toolchain yourself or are thinking about contributing fixes or improvements to Carbon, you&#39;ll need to install our &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/contribution_tools.md#setup-commands&quot;&gt;build dependencies&lt;/a&gt; (Clang, LLD, libc++) and check out the Carbon repository. For example, on Debian or Ubuntu:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;# Update apt.
sudo apt update

# Install tools.
sudo apt install \
  clang \
  libc++-dev \
  libc++abi-dev \
  lld

# Download Carbon&#39;s code.
$ git clone https://github.com/carbon-language/carbon-lang
$ cd carbon-lang
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then you can try out our toolchain which has a very early-stage compiler for Carbon:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;# Build and run the toolchain&#39;s help to get documentation on the command line.
$ ./scripts/run_bazelisk.py run //toolchain -- help
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For complete instructions, including installing dependencies on various different platforms, see our &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/contribution_tools.md&quot;&gt;contribution tools documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Learn more about the Carbon project:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/goals.md&quot;&gt;Project goals&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/design&quot;&gt;Language design overview&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/toolchain&quot;&gt;Carbon Toolchain&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/docs/project/faq.md&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Conference talks&lt;/h2&gt; 
&lt;p&gt;Carbon focused talks from the community:&lt;/p&gt; 
&lt;h3&gt;2026&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Benchmarking and optimizing the Carbon compiler, NDC {Toronto} (May 5-8)&lt;/li&gt; 
 &lt;li&gt;Carbon: graduating from the experiment, NDC {Toronto} (May 5-8)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;2025&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Carbon: from C++ to Memory Safety, REBASE - ICFP/SPLASH (&lt;a href=&quot;https://chandlerc.blog/slides/2025-rebase-carbon&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Memory safety everywhere with both Carbon and Rust, RustConf (&lt;a href=&quot;https://youtu.be/FYLuom6gg_s&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2025-rustconf-memory-safety-everywhere&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;2024&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Generic implementation strategies in Carbon and Clang, LLVM Developers&#39; Meeting (&lt;a href=&quot;https://youtu.be/j0BL52NdjAU&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2024-llvm-generic-implementation/#/&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;The Carbon Language: Road to 0.1, NDC {TechTown} (&lt;a href=&quot;https://youtu.be/bBvLmDJrzvI&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2024-ndc-techtown-carbon-road-to-0-dot-1&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;How designing Carbon with C++ interop taught me about C++ variadics and overloads, CppNorth (&lt;a href=&quot;https://youtu.be/8SGMy9ENGz8&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2024-cppnorth-design-stories&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Generic Arity: Definition-Checked Variadics in Carbon, C++Now (&lt;a href=&quot;https://youtu.be/Y_px536l_80&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://docs.google.com/presentation/d/10aM1mFMN6Cd5ZkE4OfeiZtSnkVNbo33N-V0et21umww/edit&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Carbon: An experiment in different tradeoffs, panel session, EuroLLVM (&lt;a href=&quot;https://youtu.be/Za_KWj5RMR8&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://llvm.org/devmtg/2024-04/slides/LightningTalks/Smith-Carbons-high-level-semanticIR.pdf&quot;&gt;slides&lt;/a&gt;) 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://muxup.com/2024q2/notes-from-the-carbon-panel-session-at-eurollvm&quot;&gt;Alex Bradbury&#39;s notes&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Carbon&#39;s high-level semantic IR lightning talk, EuroLLVM (&lt;a href=&quot;https://youtu.be/vIWT4RhUcyw&quot;&gt;video&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;2023&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Carbon’s Successor Strategy: From C++ interop to memory safety, C++Now (&lt;a href=&quot;https://youtu.be/1ZTJ9omXOQ0&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2023-cppnow-carbon-strategy/index.html#/&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Definition-Checked Generics, C++Now 
  &lt;ul&gt; 
   &lt;li&gt;Part 1 (&lt;a href=&quot;https://youtu.be/FKC8WACSMP0&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2023-cppnow-generics-1/#/&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
   &lt;li&gt;Part 2 (&lt;a href=&quot;https://youtu.be/VxQ3PwxiSzk&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2023-cppnow-generics-2/#/&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Modernizing Compiler Design for Carbon’s Toolchain, C++Now (&lt;a href=&quot;https://youtu.be/ZI198eFghJk&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2023-cppnow-compiler/index.html#/&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;2022&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Carbon Language: Syntax and trade-offs, Core C++ (&lt;a href=&quot;https://youtu.be/9Y2ivB8VaIs&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://docs.google.com/presentation/d/1znvL12xCuEfcsP6tpPdrQPnh-UoPFOLnC_RVXZteYaM/edit&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Carbon Language: An experimental successor to C++, CppNorth (&lt;a href=&quot;https://youtu.be/omrY53kbVoA&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;https://chandlerc.blog/slides/2022-07-19-cppnorth-keynote/#/&quot;&gt;slides&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Other videos&lt;/h3&gt; 
&lt;p&gt;We additionally have &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/toolchain/docs/README.md#videos&quot;&gt;toolchain videos&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Join us&lt;/h2&gt; 
&lt;p&gt;We&#39;d love to have folks join us and contribute to the project. Carbon is committed to a welcoming and inclusive environment where everyone can contribute.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Most of Carbon&#39;s design discussions occur on &lt;a href=&quot;https://discord.gg/ZjVdShJDAs&quot;&gt;Discord&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;To watch for major release announcements, subscribe to our &lt;a href=&quot;https://github.com/carbon-language/carbon-lang/discussions/1020&quot;&gt;Carbon release post on GitHub&lt;/a&gt; and &lt;a href=&quot;https://github.com/carbon-language/carbon-lang&quot;&gt;star carbon-lang&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;See our &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/CODE_OF_CONDUCT.md&quot;&gt;code of conduct&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/CONTRIBUTING.md&quot;&gt;contributing guidelines&lt;/a&gt; for information about the Carbon development community.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Contributing&lt;/h3&gt; 
&lt;p&gt;You can also directly:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/CONTRIBUTING.md#contributing-to-the-language-design&quot;&gt;Contribute to the language design&lt;/a&gt;: feedback on design, new design proposal&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/CONTRIBUTING.md#contributing-to-the-language-implementation&quot;&gt;Contribute to the language implementation&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/toolchain/&quot;&gt;Carbon Toolchain&lt;/a&gt;, and project infrastructure&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can &lt;strong&gt;check out some &lt;a href=&quot;https://github.com/carbon-language/carbon-lang/labels/good%20first%20issue&quot;&gt;&quot;good first issues&quot;&lt;/a&gt;&lt;/strong&gt;, or join the &lt;code&gt;#contributing-help&lt;/code&gt; channel on &lt;a href=&quot;https://discord.gg/ZjVdShJDAs&quot;&gt;Discord&lt;/a&gt;. See our full &lt;a href=&quot;https://raw.githubusercontent.com/carbon-language/carbon-lang/trunk/CONTRIBUTING.md&quot;&gt;&lt;code&gt;CONTRIBUTING&lt;/code&gt;&lt;/a&gt; documentation for more details.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/7dc6941f3ab87f73c2cbe66675aafc2d6acdd72c80b80b7cb12ccc64d8c4af84/carbon-language/carbon-lang" medium="image" />
      
    </item>
    
    <item>
      <title>microsoft/Foundry-Local</title>
      <link>https://github.com/microsoft/Foundry-Local</link>
      <description>&lt;div align=&quot;center&quot;&gt; 
 &lt;picture align=&quot;center&quot;&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;media/icons/foundry_local_white.svg&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;media/icons/foundry_local_black.svg&quot; /&gt; 
  &lt;img alt=&quot;Foundry Local icon.&quot; src=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/media/icons/foundry_local_black.svg?sanitize=true&quot; height=&quot;100&quot; style=&quot;max-width: 100%;&quot; /&gt; 
 &lt;/picture&gt; 
 &lt;div id=&quot;user-content-toc&quot;&gt; 
  &lt;ul align=&quot;center&quot; style=&quot;list-style: none;&quot;&gt; 
   &lt;summary&gt; &lt;h1&gt;Foundry Local&lt;/h1&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href=&quot;https://aka.ms/foundry-local-installer&quot;&gt;Download&lt;/a&gt; | &lt;a href=&quot;https://aka.ms/foundry-local-docs&quot;&gt;Documentation&lt;/a&gt; | &lt;a href=&quot;https://aka.ms/foundry-local-discord&quot;&gt;Discord&lt;/a&gt;&lt;/h3&gt; &lt;/summary&gt; 
  &lt;/ul&gt; 
 &lt;/div&gt; 
 &lt;h2&gt;Ship on-device AI inside your app&lt;/h2&gt; 
&lt;/div&gt; 
&lt;p&gt;Foundry Local is an &lt;strong&gt;end-to-end local AI solution&lt;/strong&gt; for building applications that run entirely on the user&#39;s device. It provides native SDKs (C#, JavaScript, Python, and Rust), a curated catalog of optimized models, and automatic hardware acceleration — all in a lightweight package (~20 MB). The compact size makes it easy to integrate into your application and distribute to end users.&lt;/p&gt; 
&lt;p&gt;User data never leaves the device, responses start immediately with zero network latency, and your app works offline. No per-token costs, no API keys, no backend infrastructure to maintain, and no Azure subscription required.&lt;/p&gt; 
&lt;h3&gt;Key Features&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Lightweight runtime&lt;/strong&gt; — The runtime handles model acquisition, hardware acceleration, model management, and inference (via &lt;a href=&quot;https://onnxruntime.ai/&quot;&gt;ONNX Runtime&lt;/a&gt;).&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Curated model catalog&lt;/strong&gt; — A catalog of high-quality models optimized for on-device use across a wide range of consumer hardware. The catalog covers chat completions (for example, GPT OSS, Qwen, DeepSeek, Mistral and Phi) and audio transcription (for example, Whisper). Every model goes through extensive quantization and compression to deliver the best balance of quality and performance. Models are versioned, so your application can pin to a specific version or automatically receive updates.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Automatic hardware acceleration&lt;/strong&gt; — Foundry Local detects the available hardware on the user&#39;s device and selects the best execution provider and device (NPU, GPU or CPU).&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Smart model management&lt;/strong&gt; — Foundry Local handles the full lifecycle of models on end-user devices. Models download automatically on first use, are cached locally for instant subsequent launches, and the best-performing variant is selected for the user&#39;s specific hardware.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;OpenAI-compatible API&lt;/strong&gt; — Supports OpenAI request and response formats including the &lt;a href=&quot;https://developers.openai.com/api/reference/resources/responses&quot;&gt;OpenAI Responses API format&lt;/a&gt;. If your application already uses the OpenAI SDK, point it to a Foundry Local endpoint with minimal code changes.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Optional local server&lt;/strong&gt; — An OpenAI-compatible web server for serving models to multiple processes, integrating with tools like LangChain, or experimenting through REST calls. For most embedded application scenarios, use the SDK directly — it runs inference in-process without the overhead of a separate server.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;🚀 Quickstart&lt;/h2&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;The following shows a quickstart for Python and JavaScript. C# and Rust language bindings are also available. Take a look at the &lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/&quot;&gt;samples&lt;/a&gt; for more details.&lt;/p&gt; 
&lt;/div&gt; 
&lt;details open&gt; 
 &lt;summary&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/summary&gt; 
 &lt;ol&gt; 
  &lt;li&gt; &lt;p&gt;Install the SDK:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Windows (recommended for hardware acceleration)
npm install foundry-local-sdk-winml

# macOS/linux
npm install foundry-local-sdk
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
  &lt;li&gt; &lt;p&gt;Run your first chat completion:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-javascript&quot;&gt;import { FoundryLocalManager } from &#39;foundry-local-sdk&#39;;

const manager = FoundryLocalManager.create({ appName: &#39;my-app&#39; });

// Download and load a model (auto-selects best variant for user&#39;s hardware)
const model = await manager.catalog.getModel(&#39;qwen2.5-0.5b&#39;);
await model.download((progress) =&amp;gt; {
    process.stdout.write(`\rDownloading... ${progress.toFixed(2)}%`);
});
await model.load();

// Create a chat client and get a completion
const chatClient = model.createChatClient();
const response = await chatClient.completeChat([
    { role: &#39;user&#39;, content: &#39;What is the golden ratio?&#39; }
]);

console.log(response.choices[0]?.message?.content);

// Unload the model when done
await model.unload();
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/details&gt; 
&lt;details open&gt; 
 &lt;summary&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/summary&gt; 
 &lt;ol&gt; 
  &lt;li&gt; &lt;p&gt;Install the SDK:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Windows (recommended for hardware acceleration)
pip install foundry-local-sdk-winml

# macOS/Linux
pip install foundry-local-sdk
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
  &lt;li&gt; &lt;p&gt;Run your first chat completion:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;from foundry_local_sdk import Configuration, FoundryLocalManager

config = Configuration(app_name=&quot;foundry_local_samples&quot;)
FoundryLocalManager.initialize(config)
manager = FoundryLocalManager.instance

# Select and load a model from the catalog
model = manager.catalog.get_model(&quot;qwen2.5-0.5b&quot;)
model.download()
model.load()

# Get a chat client
client = model.get_chat_client()

# Create and send message
messages = [
    {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;What is the golden ratio?&quot;}
]
response = client.complete_chat(messages)
print(f&quot;Response: {response.choices[0].message.content}&quot;)

model.unload()
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/details&gt; 
&lt;h3&gt;💬 Audio Transcription (Speech-to-Text)&lt;/h3&gt; 
&lt;p&gt;The SDK also supports audio transcription via Whisper models (available in JavaScript, C#, Python and Rust):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-javascript&quot;&gt;import { FoundryLocalManager } from &#39;foundry-local-sdk&#39;;

const manager = FoundryLocalManager.create({ appName: &#39;my-app&#39; });

const whisperModel = await manager.catalog.getModel(&#39;whisper-tiny&#39;);
await whisperModel.download();
await whisperModel.load();

const audioClient = whisperModel.createAudioClient();
audioClient.settings.language = &#39;en&#39;;

// Transcribe an audio file
const result = await audioClient.transcribe(&#39;recording.wav&#39;);
console.log(&#39;Transcription:&#39;, result.text);

// Or stream in real-time
for await (const chunk of audioClient.transcribeStreaming(&#39;recording.wav&#39;)) {
    process.stdout.write(chunk.text);
}

await whisperModel.unload();
&lt;/code&gt;&lt;/pre&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;A single &lt;code&gt;FoundryLocalManager&lt;/code&gt; can manage both chat and audio models simultaneously. See the &lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/js/chat-and-audio-foundry-local/&quot;&gt;chat-and-audio sample&lt;/a&gt; for a complete example.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;📦 Samples&lt;/h2&gt; 
&lt;p&gt;Explore complete working examples in the &lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/&quot;&gt;&lt;code&gt;samples/&lt;/code&gt;&lt;/a&gt; folder:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Language&lt;/th&gt; 
   &lt;th&gt;Samples&lt;/th&gt; 
   &lt;th&gt;Highlights&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/cs/&quot;&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;12&lt;/td&gt; 
   &lt;td&gt;Native chat, audio transcription, tool calling, model management, web server, tutorials&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/js/&quot;&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;12&lt;/td&gt; 
   &lt;td&gt;Native chat, audio, Electron app, Copilot SDK, LangChain, tool calling, tutorials&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/python/&quot;&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;9&lt;/td&gt; 
   &lt;td&gt;Chat completions, audio transcription, LangChain, tool calling, tutorials&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/samples/rust/&quot;&gt;&lt;strong&gt;Rust&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;8&lt;/td&gt; 
   &lt;td&gt;Native chat, audio transcription, tool calling, web server, tutorials&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;🖥️ CLI&lt;/h2&gt; 
&lt;p&gt;The Foundry Local CLI lets you explore models and experiment interactively.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Install:&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Windows
winget install Microsoft.FoundryLocal

# macOS
brew install microsoft/foundrylocal/foundrylocal
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Run a model:&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;foundry model run qwen2.5-0.5b
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;List available models:&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;foundry model ls
&lt;/code&gt;&lt;/pre&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;For the full CLI reference and advanced usage, see the &lt;a href=&quot;https://learn.microsoft.com/en-us/azure/foundry-local/reference/reference-cli&quot;&gt;CLI documentation on Microsoft Learn&lt;/a&gt;.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;Reporting Issues&lt;/h2&gt; 
&lt;p&gt;Please report issues or suggest improvements in the &lt;a href=&quot;https://github.com/microsoft/Foundry-Local/issues&quot;&gt;GitHub Issues&lt;/a&gt; section.&lt;/p&gt; 
&lt;h2&gt;🎓 Learn More&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/azure/foundry-local/&quot;&gt;Foundry Local Documentation&lt;/a&gt; on Microsoft Learn&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Microsoft-foundry/foundry-local-lab&quot;&gt;Foundry Local Lab&lt;/a&gt; — Hands-on exercises and step-by-step instructions&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;❔ Frequently asked questions&lt;/h2&gt; 
&lt;h3&gt;Is Foundry Local a web server and CLI tool?&lt;/h3&gt; 
&lt;p&gt;No. Foundry Local is an &lt;strong&gt;end-to-end local AI solution&lt;/strong&gt; that your application ships with. It handles model acquisition, hardware acceleration, and inference inside your app process through the SDK. The optional web server and CLI are available for development workflows, but the core product is the local AI runtime and SDK that you integrate directly into your application.&lt;/p&gt; 
&lt;h3&gt;Why doesn&#39;t Foundry Local support every available model?&lt;/h3&gt; 
&lt;p&gt;Foundry Local is designed for shipping production applications, not for general-purpose model experimentation. The model catalog is intentionally curated to include models that are optimized for specific application scenarios, tested across a range of consumer hardware, and small enough to distribute to end users. This approach ensures that every model in the catalog delivers reliable performance when embedded in your application — rather than offering a broad selection of models with unpredictable on-device behavior.&lt;/p&gt; 
&lt;h3&gt;Can Foundry Local run on a server?&lt;/h3&gt; 
&lt;p&gt;Foundry Local is optimized for hardware-constrained devices where a single user accesses the model at a time. While you can technically install and run it on server hardware, it isn&#39;t designed as a server inference stack.&lt;/p&gt; 
&lt;p&gt;Server-oriented runtimes like &lt;a href=&quot;https://docs.vllm.ai/en/latest/&quot;&gt;vLLM&lt;/a&gt; or &lt;a href=&quot;https://github.com/triton-inference-server/server&quot;&gt;Triton Inference Server&lt;/a&gt; are built for multi-user scenarios — they handle concurrent request queuing, continuous batching, and efficient GPU sharing across many simultaneous clients. Foundry Local doesn&#39;t provide these capabilities. Instead, it focuses on lightweight, single-user inference with automatic hardware detection, KV-cache management, and model lifecycle handling that make sense for client applications.&lt;/p&gt; 
&lt;p&gt;If you need to serve models to multiple concurrent users, use a dedicated server inference framework. Use Foundry Local when the model runs on the end user&#39;s own device.&lt;/p&gt; 
&lt;h3&gt;What platforms are supported?&lt;/h3&gt; 
&lt;p&gt;Foundry Local supports Windows, macOS (Apple silicon), and Linux.&lt;/p&gt; 
&lt;h2&gt;⚖️ License&lt;/h2&gt; 
&lt;p&gt;Foundry Local SDK is licensed under the MIT license. For more details, see the &lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/LICENSE&quot;&gt;LICENSE&lt;/a&gt; file. Foundry Local CLI is licensed under the Microsoft Software License Terms. For more details, read the &lt;a href=&quot;https://raw.githubusercontent.com/microsoft/Foundry-Local/main/LICENSE&quot;&gt;LICENSE&lt;/a&gt; file.&lt;/p&gt; 
&lt;p&gt;Individual models made available for use with Foundry Local are subject to the each model&#39;s license terms, notices, and use restrictions. Refer to the model&#39;s documentation or download/listing page for the applicable terms before using or redistributing a model.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/958239663/92d960f0-3975-4b3d-845a-b8947928491d" medium="image" />
      
    </item>
    
    <item>
      <title>NVIDIA/cutlass</title>
      <link>https://github.com/NVIDIA/cutlass</link>
      <description>&lt;p&gt;CUDA Templates and Python DSLs for High-Performance Linear Algebra&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/NVIDIA/cutlass/main/media/images/gemm-hierarchy-with-epilogue-no-labels.png&quot; alt=&quot;ALT&quot; title=&quot;Complete CUDA GEMM decomposition&quot; /&gt;&lt;/p&gt; 
&lt;h1&gt;Overview&lt;/h1&gt; 
&lt;h1&gt;CUTLASS 4.5.2&lt;/h1&gt; 
&lt;p&gt;&lt;em&gt;CUTLASS 4.5.2 - May 2026&lt;/em&gt;&lt;/p&gt; 
&lt;p&gt;CUTLASS is a collection of abstractions for implementing high-performance matrix-matrix multiplication (GEMM) and related computations at all levels and scales within CUDA. It incorporates strategies for hierarchical decomposition and data movement. CUTLASS decomposes these &quot;moving parts&quot; into reusable, modular software components and abstractions.&lt;/p&gt; 
&lt;p&gt;Primitives for different levels of a conceptual parallelization hierarchy can be specialized and tuned via custom tiling sizes, data types, and other algorithmic policy. The resulting flexibility simplifies their use as building blocks within custom kernels and applications.&lt;/p&gt; 
&lt;p&gt;CUTLASS has been providing CUDA C++ template abstractions for high-performance linear algebra since 2017 and these abstractions provide extensive support for a wide range of computations including mixed-precision computations, specialized data-movement (async copy) and multiply-accumulate abstractions for FP64, FP32, TF32, FP16, BF16, &lt;a href=&quot;https://github.com/NVIDIA/cutlass/tree/main/examples/27_ampere_3xtf32_fast_accurate_tensorop_gemm&quot;&gt;FP32 emulation via tensor core instruction&lt;/a&gt;, 8b floating point types (e5m2 and e4m3), block scaled data types (NVIDIA NVFP4 and OCP standard MXFP4, MXFP6, MXFP8), narrow integer types (4 and 8b signed and unsigned integers), and binary 1b data types (where architectures allow for the native support of such data types) across NVIDIA&#39;s Volta, Turing, Ampere, Ada, Hopper, and Blackwell architectures.&lt;/p&gt; 
&lt;p&gt;To this rich ecosystem of C++ based kernel programming abstractions, CUTLASS 4 adds CUTLASS DSLs. These are Python native interfaces for writing high-performance CUDA kernels based on core CUTLASS and CuTe concepts without any performance compromises. This allows for a much smoother learning curve, orders of magnitude faster compile times, native integration with DL frameworks without writing glue code, and much more intuitive metaprogramming that does not require deep C++ expertise.&lt;/p&gt; 
&lt;p&gt;Overall we envision CUTLASS DSLs as a family of domain-specific languages (DSLs). With the release of 4.0, we are releasing the first of these in CuTe DSL. This is a low level programming model that is fully consistent with CuTe C++ abstractions — exposing core concepts such as layouts, tensors, hardware atoms, and full control over the hardware thread and data hierarchy.&lt;/p&gt; 
&lt;p&gt;CuTe DSL demonstrates optimal matrix multiply and other linear algebra operations targeting the programmable, high-throughput &lt;em&gt;Tensor Cores&lt;/em&gt; implemented by NVIDIA&#39;s Ampere, Hopper, and Blackwell architectures.&lt;/p&gt; 
&lt;p&gt;We believe it will become an indispensable tool for students, researchers, and performance engineers alike — flattening the learning curve of GPU programming, rapidly prototyping kernel designs, and bringing optimized solutions into production.&lt;/p&gt; 
&lt;p&gt;CuTe DSL is currently in public beta and will graduate out of beta by end of summer 2025.&lt;/p&gt; 
&lt;p&gt;To get started quickly - please refer :&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/quickstart.html&quot;&gt;CUTLASS C++ Quick Start Guide&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/pythonDSL/quick_start.html&quot;&gt;CuTe DSL Quick Start Guide&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;What&#39;s New in CUTLASS 4.5&lt;/h1&gt; 
&lt;h2&gt;CuTe DSL&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;New features&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;New Block API &lt;code&gt;block_copy()&lt;/code&gt; to simplify TMA and S2T copy. Users can ignore detail about multicast and 2CTA partition for TMA by &lt;code&gt;block_copy()&lt;/code&gt; and need not to invoke &lt;code&gt;tma_partition()&lt;/code&gt;. And users can remove bulk of S2T initialization to simplify S2T copy.&lt;/li&gt; 
   &lt;li&gt;MXF8F6F4 mixed precision support 
    &lt;ul&gt; 
     &lt;li&gt;BlockScaled MMA now supports MXF8&lt;em&gt;MXF4 or MXF8&lt;/em&gt;MXF6&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;Block Scaled MMA for SM120 now works on Spark&lt;/li&gt; 
   &lt;li&gt;EFC broadcast semantics support 
    &lt;ul&gt; 
     &lt;li&gt;EFC epilogue functions can now broadcast and remap tensor modes via &lt;code&gt;C.remap_modes[:, 0, 1]&lt;/code&gt; subscript syntax (where &lt;code&gt;:&lt;/code&gt; marks a broadcast dimension and integers select source mode indices). Covers scalar broadcast, row/column broadcast, and arbitrary mode permutations (e.g. transpose). The PyTorch reference evaluator mirrors the same transformations.&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;Initial linter support: Improved type hints on CuTe DSL APIs to support static type checkers like MyPy&lt;/li&gt; 
   &lt;li&gt;dataclasses.dataclass is now supported for JIT compilaton and cute.compile for both plain and tvm-ffi path&lt;/li&gt; 
   &lt;li&gt;cute.copy now supports user specified loop unrolling&lt;/li&gt; 
   &lt;li&gt;Python 3.14t is now supported with GIL enabled&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Bug fixing and improvements&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;Improved source code correlation for profiling/debugging&lt;/li&gt; 
   &lt;li&gt;Fixed an aarch64 segfault issue with tvm-ffi&lt;/li&gt; 
   &lt;li&gt;Re-organization for CuTe DSL examples/tutorials for better discoverability&lt;/li&gt; 
   &lt;li&gt;Fixed following issues: &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3219&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3219&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3218&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3218&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3212&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3212&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3210&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3210&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3208&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3208&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3201&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3201&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3227&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3227&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3240&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3240&lt;/a&gt; &lt;a href=&quot;https://github.com/NVIDIA/cutlass/issues/3241&quot;&gt;https://github.com/NVIDIA/cutlass/issues/3241&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;Fixed Jax int64 stride divisibility issue&lt;/li&gt; 
   &lt;li&gt;Fixed issues for SM120 blockscaled MMAs 
    &lt;ul&gt; 
     &lt;li&gt;added missing MXFP8MMAOP and MXF8F6F4MMAOP for sm120.&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;More examples of authorizing peak-performance kernels&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;MOE examles 
    &lt;ul&gt; 
     &lt;li&gt;A new style of grouped-gemm that aligns to torch&#39;s grouped_mm and scaled_groued_mm interface.&lt;/li&gt; 
     &lt;li&gt;Expert-wise tensormap descriptor setup by a cheap helper kernel (~2us) to avoid long latency in tile switching, kernel structure is much more closer to a normal GEMM.&lt;/li&gt; 
     &lt;li&gt;Compared to torch_210_cu13, very few problem has worse perf in B200. 
      &lt;ul&gt; 
       &lt;li&gt;mxfp8_2dx3d: avg 1.29 speedup;&lt;/li&gt; 
       &lt;li&gt;mxfp8_2dx2d: avg 1.41 speedup; 
        &lt;ul&gt; 
         &lt;li&gt;nvfp4_2dx3d: avg 1.11 speedup;&lt;/li&gt; 
        &lt;/ul&gt; &lt;/li&gt; 
       &lt;li&gt;nvfp4_2dx2d: avg 1.12 speedup (worst case 0.98)&lt;/li&gt; 
       &lt;li&gt;bf16_2dx3d: avg 1.15 speedup (worst case 0.98)&lt;/li&gt; 
       &lt;li&gt;bf16_2dx2d: avg 1.17 speedup (worst case 0.96)&lt;/li&gt; 
       &lt;li&gt;Note: The perf is measured from torch profiler, this impl includes the helper kernel + main kernel, while torch&#39;s includes its setup kernel and cutlass_cpp main kernel.&lt;/li&gt; 
      &lt;/ul&gt; &lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;API changes&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;ab_dtype is deprecated in make_trivial_tiled_mma and make_blockscaled_trivial_tiled_mma from blackwell_helpers.py. Please specify a_dtype and b_dtype separately instead.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;CUTLASS C++&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Add 2SM MMA instruction support to mixed TMA+CpAsync SM100 vanilla GEMM kernels. 
  &lt;ul&gt; 
   &lt;li&gt;Mixed TMA+CpAsync can now accept static, but non trivial cluster shapes.&lt;/li&gt; 
   &lt;li&gt;Uses TMA multicast for A tile when using non-trivial cluster size along N mode.&lt;/li&gt; 
   &lt;li&gt;Uses an additional barrier (mma_trampoline_barrier) to track cp.async arrivals in both CTAs.&lt;/li&gt; 
   &lt;li&gt;Changes included in &lt;a href=&quot;https://github.com/NVIDIA/cutlass/tree/main/examples/92_blackwell_moe_gemm&quot;&gt;example 92&lt;/a&gt;.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Add support for 128x32xK and 128x64xK tile sizes for SM120 blockscaled MMA collective builders, yielding up to 30% performance improvement on Blackwell SM121 related kernels.&lt;/li&gt; 
 &lt;li&gt;Add static load to tensor memory support, included in &lt;a href=&quot;https://github.com/NVIDIA/cutlass/tree/main/examples/77_blackwell_fmha/&quot;&gt;example 77&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Use 64-bit adds for SM100 MMA descriptor offsets and reduce move instructions for improved code generation.&lt;/li&gt; 
 &lt;li&gt;Add &lt;a href=&quot;https://github.com/NVIDIA/cutlass/tree/main/examples/95_blackwell_gemm_green_context&quot;&gt;example 95&lt;/a&gt; to support green context SM partition 
  &lt;ul&gt; 
   &lt;li&gt;Enables launching GEMM on stream with partial SM allocation.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Add &lt;a href=&quot;https://github.com/NVIDIA/cutlass/raw/main/test/unit/epilogue/thread/activation.cu#L409&quot;&gt;Snake&lt;/a&gt; activation functor for EVT.&lt;/li&gt; 
 &lt;li&gt;Fix SM100 F8F6F4 SS MMA (1SM and 2SM) traits to use typed op templates.&lt;/li&gt; 
 &lt;li&gt;Add UE8M0 (uniform exponent distribution) initialization support in tensor fill utilities.&lt;/li&gt; 
 &lt;li&gt;Add &lt;code&gt;cvt.rn.bf16x2.e4m3x2&lt;/code&gt; conversion instruction support to &lt;code&gt;numeric_conversion.h&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Update &lt;a href=&quot;https://github.com/NVIDIA/cutlass/tree/main/examples/93_blackwell_low_latency_gqa&quot;&gt;example 93&lt;/a&gt; with paged KV cache support for Blackwell low-latency GQA.&lt;/li&gt; 
 &lt;li&gt;Fix some kernel issues: 
  &lt;ul&gt; 
   &lt;li&gt;Fix l2_capacity=0 handling in Blackwell SM100/SM120 kernel templates&lt;/li&gt; 
   &lt;li&gt;Fix CUTLASS clang build issues&lt;/li&gt; 
   &lt;li&gt;Remove &lt;code&gt;PipelineStorage&lt;/code&gt; shadowing in SM100 complex epilogue&lt;/li&gt; 
   &lt;li&gt;Fix build issue in SM90 epilogue fusion visitor TMA warpspecialized&lt;/li&gt; 
   &lt;li&gt;Fix missing convert fucntion in EVT for fp4 kernels&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Fix some profiler issues: 
  &lt;ul&gt; 
   &lt;li&gt;Add missing reference kernels for blockwise GEMM profiler.&lt;/li&gt; 
   &lt;li&gt;Avoid instantiate 2sm tma kernels where ctaN is none power of 64 when ctaN &amp;gt; 128 in profiler.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Note: CUTLASS 4.x builds are known to be down on Windows platforms for all CUDA toolkits. CUTLASS team is working on a fix.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;See the &lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/CHANGELOG.html&quot;&gt;CHANGELOG&lt;/a&gt; for details of all past releases and updates.&lt;/strong&gt;&lt;/p&gt; 
&lt;h1&gt;Performance&lt;/h1&gt; 
&lt;p&gt;CUTLASS primitives are very efficient. When used to construct device-wide GEMM kernels, they exhibit nearly optimal utilization of peak theoretical throughput. The figure below shows CUTLASS 3.8&#39;s performance as a % of theoretical peak utilization on various input and output data types when run on NVIDIA Blackwell SM100 architecture GPU.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/NVIDIA/cutlass/main/media/images/cutlass-3.8-blackwell-gemm-peak-performance.svg?sanitize=true&quot; alt=&quot;ALT&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;The two figures below show the continual CUTLASS performance improvements on an &lt;a href=&quot;https://www.nvidia.com/en-us/data-center/h100/&quot;&gt;NVIDIA H100&lt;/a&gt; (NVIDIA Hopper architecture) since CUTLASS 3.1. CUTLASS 3.5.1 was compiled with the &lt;a href=&quot;https://developer.nvidia.com/cuda-downloads&quot;&gt;CUDA 12.5u1 Toolkit&lt;/a&gt;. Tensor Core operations are implemented using CUDA&#39;s &lt;a href=&quot;https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-mma&quot;&gt;mma&lt;/a&gt; and &lt;a href=&quot;https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#asynchronous-warpgroup-level-matrix-instructions&quot;&gt;wgmma&lt;/a&gt; instructions.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/NVIDIA/cutlass/main/media/images/cutlass-3.5.1-gemm-peak-performance.png&quot; alt=&quot;ALT&quot; /&gt; &lt;img src=&quot;https://raw.githubusercontent.com/NVIDIA/cutlass/main/media/images/cutlass-3.5.1-gemm-peak-performance-fp8.png&quot; alt=&quot;ALT&quot; /&gt;&lt;/p&gt; 
&lt;h1&gt;CuTe&lt;/h1&gt; 
&lt;p&gt;CUTLASS 3.0 introduced a new core library, CuTe, to describe and manipulate tensors of threads and data. CuTe is a collection of C++ CUDA template abstractions for defining and operating on hierarchically multidimensional layouts of threads and data. CuTe provides &lt;code&gt;Layout&lt;/code&gt; and &lt;code&gt;Tensor&lt;/code&gt; objects that compactly package the type, shape, memory space, and layout of data, while performing the complicated indexing for the user. This lets programmers focus on the logical descriptions of their algorithms while CuTe does the mechanical bookkeeping for them. With these tools, we can quickly design, implement, and modify all dense linear algebra operations.&lt;/p&gt; 
&lt;p&gt;The core abstractions of CuTe are hierarchically multidimensional layouts which can be composed with data arrays to represent tensors. The representation of layouts is powerful enough to represent nearly everything we need to implement efficient dense linear algebra. Layouts can also be combined and manipulated via functional composition, on which we build a large set of common operations such as tiling and partitioning.&lt;/p&gt; 
&lt;p&gt;CUTLASS 3.0 and beyond adopts CuTe throughout the GEMM hierarchy in its templates. This greatly simplifies the design and improves code composability and readability. More documentation specific to CuTe can be found in its &lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/cute/00_quickstart.html&quot;&gt;dedicated documentation directory&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Compatibility&lt;/h1&gt; 
&lt;p&gt;Minimum requirements:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Architecture: Volta (compute capability 7.0)&lt;/li&gt; 
 &lt;li&gt;Compiler: Must support at least C++17&lt;/li&gt; 
 &lt;li&gt;CUDA Toolkit version: 11.4&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;CUTLASS requires a C++17 host compiler and performs best when built with the &lt;a href=&quot;https://developer.nvidia.com/cuda-downloads&quot;&gt;&lt;strong&gt;CUDA 12.8 Toolkit&lt;/strong&gt;&lt;/a&gt;. It is also compatible with CUDA 11.4, CUDA 11.5, CUDA 11.6, CUDA 11.7, CUDA 11.8, and all other CUDA 12.x versions.&lt;/p&gt; 
&lt;h2&gt;Operating Systems&lt;/h2&gt; 
&lt;p&gt;We have tested the following environments.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;&lt;strong&gt;Operating System&lt;/strong&gt;&lt;/th&gt; 
   &lt;th&gt;&lt;strong&gt;Compiler&lt;/strong&gt;&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ubuntu 18.04&lt;/td&gt; 
   &lt;td&gt;GCC 7.5.0&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ubuntu 20.04&lt;/td&gt; 
   &lt;td&gt;GCC 10.3.0&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ubuntu 22.04&lt;/td&gt; 
   &lt;td&gt;GCC 11.2.0&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Note: GCC 8.5.0 has known regressions regarding fold expressions and overloaded operators. Using GCC 7.5.0 or (preferred) GCC &amp;gt;= 9 is recommended.&lt;/p&gt; 
&lt;p&gt;Note: CUTLASS 3.x builds are known to be down on Windows platforms for all CUDA toolkits. CUTLASS team is working on a fix.&lt;/p&gt; 
&lt;h2&gt;Hardware&lt;/h2&gt; 
&lt;p&gt;CUTLASS runs successfully on the following NVIDIA GPUs, and it is expected to be efficient on Volta, Turing, Ampere, Ada, and Hopper architecture based NVIDIA GPUs.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;&lt;strong&gt;GPU&lt;/strong&gt;&lt;/th&gt; 
   &lt;th&gt;&lt;strong&gt;CUDA Compute Capability&lt;/strong&gt;&lt;/th&gt; 
   &lt;th&gt;&lt;strong&gt;Minimum CUDA Toolkit Required by CUTLASS-3&lt;/strong&gt;&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA V100 Tensor Core GPU&lt;/td&gt; 
   &lt;td&gt;7.0&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA TitanV&lt;/td&gt; 
   &lt;td&gt;7.0&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA GeForce RTX 20x0 series&lt;/td&gt; 
   &lt;td&gt;7.5&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA T4&lt;/td&gt; 
   &lt;td&gt;7.5&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA A100 Tensor Core GPU&lt;/td&gt; 
   &lt;td&gt;8.0&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA A10&lt;/td&gt; 
   &lt;td&gt;8.6&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA GeForce RTX 30x0 series&lt;/td&gt; 
   &lt;td&gt;8.6&lt;/td&gt; 
   &lt;td&gt;11.4&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA GeForce RTX 40x0 series&lt;/td&gt; 
   &lt;td&gt;8.9&lt;/td&gt; 
   &lt;td&gt;11.8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA L40&lt;/td&gt; 
   &lt;td&gt;8.9&lt;/td&gt; 
   &lt;td&gt;11.8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA H100 Tensor Core GPU&lt;/td&gt; 
   &lt;td&gt;9.0&lt;/td&gt; 
   &lt;td&gt;11.8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA H200 Tensor Core GPU&lt;/td&gt; 
   &lt;td&gt;9.0&lt;/td&gt; 
   &lt;td&gt;11.8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA B200 Tensor Core GPU&lt;/td&gt; 
   &lt;td&gt;10.0&lt;/td&gt; 
   &lt;td&gt;12.8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA B300 Tensor Core GPU&lt;/td&gt; 
   &lt;td&gt;10.3&lt;/td&gt; 
   &lt;td&gt;13.0&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA DRIVE Thor&lt;/td&gt; 
   &lt;td&gt;11.0&lt;/td&gt; 
   &lt;td&gt;13.0&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA GeForce RTX 50x0 series&lt;/td&gt; 
   &lt;td&gt;12.0&lt;/td&gt; 
   &lt;td&gt;12.8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;NVIDIA DGX Spark&lt;/td&gt; 
   &lt;td&gt;12.1&lt;/td&gt; 
   &lt;td&gt;13.0&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Target Architecture&lt;/h2&gt; 
&lt;p&gt;In general, PTX code generated for one target architecture can be run on future architectures (i.e., it is forward compatible). However, CUDA 12.0 introduced the concept of &quot;architecture-accelerated features&quot; whose PTX does not have forward compatibility guarantees. Several Hopper and Blackwell PTX instructions fall under this category of architecture-accelerated features, and thus require a &lt;code&gt;sm_90a&lt;/code&gt; or &lt;code&gt;sm100a&lt;/code&gt; target architecture (note the &quot;a&quot; appended). For more details on this and other architecture-accelerated instructions, please refer to the &lt;a href=&quot;https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#feature-availability&quot;&gt;CUDA Documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The target architecture information is passed on to CUTLASS via the cmake flag &lt;code&gt;CUTLASS_NVCC_ARCHS&lt;/code&gt;. In order to maximize performance on Hopper GH100, users are required to build CUTLASS with &lt;code&gt;90a&lt;/code&gt; as the target architecture. If a user accidentally builds a kernel which uses SM90a features (e.g. Hopper Tensor Core Instructions), using the SM90 target (note the lack of &quot;a&quot;), with either CUDA Toolkit 12 or 11.8, the kernel is expected to fail with a runtime error.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake .. -DCUTLASS_NVCC_ARCHS=&quot;90a&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Or&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake .. -DCUTLASS_NVCC_ARCHS=&quot;100a&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Note: The NVIDIA Blackwell SM100 architecture used in the datacenter products has a different compute capability than the one underpinning NVIDIA Blackwell GeForce RTX 50 series GPUs (SM120). As a result, kernels compiled for Blackwell SM100 architecture with arch conditional features (using &lt;code&gt;sm100a&lt;/code&gt;) are not compatible with RTX 50 series GPUs.&lt;/p&gt; 
&lt;p&gt;Please refer to the &lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/functionality.html&quot;&gt;functionality documentation&lt;/a&gt; for details on which kernels require which target architectures.&lt;/p&gt; 
&lt;h1&gt;Documentation&lt;/h1&gt; 
&lt;p&gt;CUTLASS is described in the following documents and the accompanying &lt;a href=&quot;https://nvidia.github.io/cutlass&quot;&gt;Doxygen documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/quickstart.html&quot;&gt;Quick Start Guide&lt;/a&gt; - basics of building and running CUTLASS&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/functionality.html&quot;&gt;Functionality&lt;/a&gt; - summarizes functionality available in CUTLASS&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/efficient_gemm.html&quot;&gt;Efficient GEMM in CUDA&lt;/a&gt; - describes how GEMM kernels may be implemented efficiently in CUDA&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/cutlass_3x_design.html&quot;&gt;CUTLASS 3.x Design&lt;/a&gt; - describes the CUTLASS 3.x design, its benefits, and how CuTe enables us to write much more composable components&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/gemm_api_3x.html&quot;&gt;GEMM API 3.x&lt;/a&gt; - describes the CUTLASS 3.x GEMM model and C++ template concepts&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/gemm_api.html&quot;&gt;GEMM API 2.x&lt;/a&gt; - describes the CUTLASS 2.x GEMM model and C++ template concepts&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/implicit_gemm_convolution.html&quot;&gt;Implicit GEMM Convolution&lt;/a&gt; - describes 2-D and 3-D convolution in CUTLASS&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/code_organization.html&quot;&gt;Code Organization&lt;/a&gt; - describes the organization and contents of the CUTLASS project&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/terminology.html&quot;&gt;Terminology&lt;/a&gt; - describes terms used in the code&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/programming_guidelines.html&quot;&gt;Programming Guidelines&lt;/a&gt; - guidelines for writing efficient modern CUDA C++&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/fundamental_types.html&quot;&gt;Fundamental types&lt;/a&gt; - describes basic C++ classes used in CUTLASS to represent numeric quantities and arrays&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/layout.html&quot;&gt;Layouts&lt;/a&gt; - describes layouts of matrices and tensors in memory&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/tile_iterator_concept.html&quot;&gt;Tile Iterators&lt;/a&gt; - describes C++ concepts for iterating over tiles of matrices in memory&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/profiler.html&quot;&gt;CUTLASS Profiler&lt;/a&gt; - command-line driven profiling application&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/utilities.html&quot;&gt;CUTLASS Utilities&lt;/a&gt; - additional templates used to facilitate rapid development&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/dependent_kernel_launch.html&quot;&gt;Dependent kernel launch&lt;/a&gt; - describes a new feature in Hopper which allows overlapping dependent kernels in the same stream, and how it is used in CUTLASS.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Resources&lt;/h1&gt; 
&lt;p&gt;We have also described the structure of an efficient GEMM in our talk at the &lt;a href=&quot;http://on-demand.gputechconf.com/gtc/2018/presentation/s8854-cutlass-software-primitives-for-dense-linear-algebra-at-all-levels-and-scales-within-cuda.pdf&quot;&gt;GPU Technology Conference 2018&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/on-demand/session/gtcsiliconvalley2018-s8854/&quot;&gt;CUTLASS: Software Primitives for Dense Linear Algebra at All Levels and Scales within CUDA&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/on-demand/session/gtcsj20-s21745/&quot;&gt;Developing CUDA Kernels to Push Tensor Cores to the Absolute Limit on NVIDIA A100&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s31883/&quot;&gt;Accelerating Convolution with Tensor Cores in CUTLASS&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/on-demand/session/gtcspring22-s41996/&quot;&gt;Accelerating Backward Data Gradient by Increasing Tensor Core Utilization in CUTLASS&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/on-demand/session/gtcfall22-a41131/&quot;&gt;CUTLASS: Python API, Enhancements, and NVIDIA Hopper&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Building CUTLASS&lt;/h1&gt; 
&lt;p&gt;CUTLASS is a header-only template library and does not need to be built to be used by other projects. Client applications should target CUTLASS&#39;s &lt;code&gt;include/&lt;/code&gt; directory in their include paths.&lt;/p&gt; 
&lt;p&gt;CUTLASS unit tests, examples, and utilities can be build with CMake. The minimum version of CMake is given in the &lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/quickstart.html&quot;&gt;Quickstart guide&lt;/a&gt;. Make sure the &lt;code&gt;CUDACXX&lt;/code&gt; environment variable points to NVCC in the CUDA Toolkit installed on your system.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ export CUDACXX=${CUDA_INSTALL_PATH}/bin/nvcc
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Create a build directory within the CUTLASS project, then run CMake. By default CUTLASS will build kernels for CUDA architecture versions 5.0, 6.0, 6.1, 7.0, 7.5, 8.0, 8.6, 8.9, and 9.0. To reduce compile time you can specify the architectures to build CUTLASS for by changing the CMake configuration setting &lt;code&gt;CUTLASS_NVCC_ARCHS&lt;/code&gt;.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ mkdir build &amp;amp;&amp;amp; cd build

$ cmake .. -DCUTLASS_NVCC_ARCHS=80               # compiles for NVIDIA&#39;s Ampere Architecture
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;From the &lt;code&gt;build/&lt;/code&gt; directory, compile and run the CUTLASS unit tests by building the target &lt;code&gt;test_unit&lt;/code&gt; with make.&lt;/p&gt; 
&lt;p&gt;The unit tests are organized as several binaries mirroring the top-level namespaces of CUTLASS, and they may be executed in parallel via make&#39;s &lt;code&gt;-j&lt;/code&gt; command line argument.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ make test_unit -j
...
...
...
[----------] Global test environment tear-down
[==========] 946 tests from 57 test cases ran. (10812 ms total)
[  PASSED  ] 946 tests.
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;All tests should pass on supported platforms, though the exact number of tests may vary over time.&lt;/p&gt; 
&lt;h1&gt;Project Structure&lt;/h1&gt; 
&lt;p&gt;CUTLASS is arranged as a header-only library along with Utilities, Tools, Examples, and unit tests. &lt;a href=&quot;https://nvidia.github.io/cutlass&quot;&gt;Doxygen documentation&lt;/a&gt; provides a complete list of files, classes, and template concepts defined in the CUTLASS project.&lt;/p&gt; 
&lt;p&gt;A detailed explanation of the source code organization may be found in the &lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/code_organization.html&quot;&gt;CUTLASS documentation&lt;/a&gt;, but several main components are summarized below.&lt;/p&gt; 
&lt;h2&gt;CUTLASS Template Library&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;include/                     # client applications should target this directory in their build&#39;s include paths

  cutlass/                   # CUDA Templates for Linear Algebra Subroutines and Solvers - headers only

    arch/                    # direct exposure of architecture features (including instruction-level GEMMs)

    conv/                    # code specialized for convolution

    epilogue/                # code specialized for the epilogue of gemm/convolution

    gemm/                    # code specialized for general matrix product computations

    layout/                  # layout definitions for matrices, tensors, and other mathematical objects in memory

    platform/                # CUDA-capable Standard Library components

    reduction/               # bandwidth-limited reduction kernels that do not fit the &quot;gemm&quot; model

    thread/                  # simt code that can be performed within a CUDA thread

    transform/               # code specialized for layout, type, and domain transformations

    *                        # core vocabulary types, containers, and basic numeric operations

  cute/                      # CuTe Layout, layout algebra, MMA/Copy atoms, tiled MMA/Copy

    algorithm/               # Definitions of core operations such as copy, gemm, and operations on cute::tuples

    arch/                    # Bare bones PTX wrapper structs for copy and math instructions

    atom/                    # Meta-information either link to or built from arch/ operators

      mma_atom.hpp           # cute::Mma_Atom and cute::TiledMma

      copy_atom.hpp          # cute::Copy_Atom and cute::TiledCopy

      *sm*.hpp               # Arch specific meta-information for copy and math operations

    *                        # Core library types such as Shape, Stride, Layout, Tensor, and associated operations

&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;CUTLASS SDK Examples&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/NVIDIA/cutlass/tree/main/examples&quot;&gt;CUTLASS SDK examples&lt;/a&gt; apply CUTLASS templates to implement basic computations.&lt;/p&gt; 
&lt;h3&gt;Tools&lt;/h3&gt; 
&lt;pre&gt;&lt;code&gt;tools/
  library/                   # CUTLASS Instance Library - contains instantiations of all supported CUTLASS templates
    include/
      cutlass/
        library/

  profiler/                  # CUTLASS Profiler         - command-line utility for executing operations in the
                             #                            CUTLASS Library

  util/                      # CUTLASS Utilities        - contains numerous helper classes for
    include/                 #                            managing tensors in device memory, reference
      cutlass/               #                            implementations for GEMM, random initialization
        util/                #                            of tensors, and I/O.
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Test&lt;/h3&gt; 
&lt;p&gt;The &lt;code&gt;test/unit/&lt;/code&gt; directory consist of unit tests implemented with Google Test that demonstrate basic usage of Core API components and complete tests of the CUTLASS GEMM computations.&lt;/p&gt; 
&lt;p&gt;Instructions for building and running the Unit tests are described in the &lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/quickstart.html&quot;&gt;Quickstart guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Performance Profiling&lt;/h1&gt; 
&lt;p&gt;The &lt;code&gt;tools/profiler/&lt;/code&gt; directory contains a command-line utility for launching each of the GEMM kernels. It can be built as follows:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ make cutlass_profiler -j16
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Building all GEMM and Convolution kernels (&lt;em&gt;long&lt;/em&gt; build times)&lt;/h2&gt; 
&lt;p&gt;By default, only one tile size is instantiated for each data type, math instruction, and layout. To instantiate all, set the following environment variable when running CMake from an empty &lt;code&gt;build/&lt;/code&gt; directory. Beware, this results in &lt;em&gt;tens of thousands&lt;/em&gt; of kernels and long build times. This would also result in a large binary size and on some platforms linker to fail on building the library. Therefore, it&#39;s highly recommended to generate only a subset of kernels as demonstrated in the sub-section below.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ cmake .. -DCUTLASS_NVCC_ARCHS=90a -DCUTLASS_LIBRARY_KERNELS=all
...
$ make cutlass_profiler -j16
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Building a subset of GEMM and Convolution kernels (&lt;em&gt;reduced&lt;/em&gt; build times)&lt;/h2&gt; 
&lt;p&gt;To compile strictly one kernel or a small set of kernels, a comma-delimited list of kernel names with wildcard characters may be used to reduce the set of kernels. The following examples show building exactly one or a subset of kernels for NVIDIA Ampere and Turing architecture:&lt;/p&gt; 
&lt;h3&gt;Building a subset Tensor Core GEMM kernels&lt;/h3&gt; 
&lt;p&gt;To compile a subset of Tensor Core GEMM kernels with FP32 accumulation and FP16 input targeting NVIDIA Ampere and Turing architecture, use the below cmake command line:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ cmake .. -DCUTLASS_NVCC_ARCHS=&#39;75;80&#39; -DCUTLASS_LIBRARY_KERNELS=cutlass_tensorop_s*gemm_f16_*_nt_align8
...
$ make cutlass_profiler -j16
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Example command line for profiling a subset of Tensor Core GEMM kernels is as follows:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./tools/profiler/cutlass_profiler --kernels=cutlass_tensorop_s*gemm_f16_*_nt_align8 --m=3456 --n=4096 --k=4096

...
=============================
  Problem ID: 1

        Provider: CUTLASS
   OperationKind: gemm
       Operation: cutlass_tensorop_s1688gemm_f16_256x128_32x2_nt_align8

          Status: Success
    Verification: ON
     Disposition: Passed

reference_device: Passed
          cuBLAS: Passed

       Arguments: --gemm_kind=universal --m=3456 --n=4096 --k=4096 --A=f16:column --B=f16:row --C=f32:column --alpha=1  \
                  --beta=0 --split_k_slices=1 --batch_count=1 --op_class=tensorop --accum=f32 --cta_m=256 --cta_n=128  \
                  --cta_k=32 --stages=2 --warps_m=4 --warps_n=2 --warps_k=1 --inst_m=16 --inst_n=8 --inst_k=8 --min_cc=75  \
                  --max_cc=1024

           Bytes: 118489088  bytes
           FLOPs: 115992428544  flops

         Runtime: 1.55948  ms
          Memory: 70.7616 GiB/s

            Math: 74378.8 GFLOP/s



=============================
...
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Building one CUDA Core GEMM kernel&lt;/h3&gt; 
&lt;p&gt;To compile one SGEMM kernel targeting NVIDIA Ampere and Turing architecture, use the below cmake command line:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ cmake .. -DCUTLASS_NVCC_ARCHS=&#39;75;80&#39; -DCUTLASS_LIBRARY_KERNELS=cutlass_simt_sgemm_128x128_8x2_nn_align1
...
$ make cutlass_profiler -j16
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Example command line for profiling single SGEMM CUDA kernel is as follows:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ ./tools/profiler/cutlass_profiler --kernels=sgemm --m=3456 --n=4096 --k=4096

=============================
  Problem ID: 1

        Provider: CUTLASS
   OperationKind: gemm
       Operation: cutlass_simt_sgemm_128x128_8x2_nn_align1

          Status: Success
    Verification: ON
     Disposition: Passed

          cuBLAS: Passed

       Arguments: --m=3456 --n=4096 --k=4096 --A=f32:column --B=f32:column --C=f32:column --alpha=1 --beta=0 --split_k_slices=1  \
                  --batch_count=1 --op_class=simt --accum=f32 --cta_m=128 --cta_n=128 --cta_k=8 --stages=2 --warps_m=4  \
                  --warps_n=2 --warps_k=1 --inst_m=1 --inst_n=1 --inst_k=1 --min_cc=50 --max_cc=1024

           Bytes: 180355072  bytes
           FLOPs: 115992428544  flops

         Runtime: 6.73655  ms
          Memory: 24.934 GiB/s

            Math: 17218.4 GFLOP/s

=============================
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Building a subset of Tensor Core Convolution kernels&lt;/h3&gt; 
&lt;p&gt;To compile a subset of Tensor core convolution kernels implementing forward propagation (fprop) with FP32 accumulation and FP16 input targeting NVIDIA Ampere and Turing architecture, use the below cmake command line:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ cmake .. -DCUTLASS_NVCC_ARCHS=&#39;75;80&#39; -DCUTLASS_LIBRARY_KERNELS=cutlass_tensorop_s*fprop_optimized_f16
...
$ make cutlass_profiler -j16
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Example command line for profiling a subset of Tensor Core convolution kernels is as follows:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ ./tools/profiler/cutlass_profiler --kernels=cutlass_tensorop_s*fprop_optimized_f16 --n=8 --h=224 --w=224 --c=128 --k=128 --r=3 --s=3

...
=============================
  Problem ID: 1

        Provider: CUTLASS
   OperationKind: conv2d
       Operation: cutlass_tensorop_s16816fprop_optimized_f16_128x128_32x5_nhwc

          Status: Success
    Verification: ON
     Disposition: Passed

reference_device: Passed

       Arguments: --conv_kind=fprop --n=8 --h=224 --w=224 --c=128 --k=128 --r=3 --s=3 --p=224 --q=224 --pad_h=1 --pad_w=1  \
                  --stride_h=1 --stride_w=1 --dilation_h=1 --dilation_w=1 --Activation=f16:nhwc --Filter=f16:nhwc --Output=f32:nhwc  \
                  --conv_mode=cross --iterator_algorithm=optimized --alpha=1 --beta=0 --split_k_mode=serial --split_k_slices=1  \
                  --eq_gemm_provider=none --op_class=tensorop --accum=f32 --cta_m=128 --cta_n=128 --cta_k=32 --stages=5  \
                  --warps_m=2 --warps_n=2 --warps_k=1 --inst_m=16 --inst_n=8 --inst_k=16 --min_cc=80 --max_cc=1024

           Bytes: 1130659840  bytes
           FLOPs: 118482796544  flops

         Runtime: 0.711496  ms
          Memory: 1479.99 GiB/s

            Math: 166526 GFLOP/s

=============================
...
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Building one Convolution CUDA kernel&lt;/h3&gt; 
&lt;p&gt;To compile and run one CUDA Core convolution kernel implementing forward propagation (fprop) with F32 accumulation and FP32 input targeting NVIDIA Ampere and Turing architecture, use the below cmake command line:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ cmake .. -DCUTLASS_NVCC_ARCHS=&#39;75;80&#39; -DCUTLASS_LIBRARY_KERNELS=cutlass_simt_sfprop_optimized_128x128_8x2_nhwc
...
$ make cutlass_profiler -j16
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Example command line for profiling one CUDA Core convolution kernel:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ ./tools/profiler/cutlass_profiler --kernels=cutlass_simt_sfprop_optimized_128x128_8x2_nhwc --n=8 --h=224 --w=224 --c=128 --k=128 --r=3 --s=3


=============================
  Problem ID: 1

        Provider: CUTLASS
   OperationKind: conv2d
       Operation: cutlass_simt_sfprop_optimized_128x128_8x2_nhwc

          Status: Success
    Verification: ON
     Disposition: Passed

reference_device: Passed

       Arguments: --conv_kind=fprop --n=8 --h=224 --w=224 --c=128 --k=128 --r=3 --s=3 --p=224 --q=224 --pad_h=1 --pad_w=1  \
                  --stride_h=1 --stride_w=1 --dilation_h=1 --dilation_w=1 --Activation=f32:nhwc --Filter=f32:nhwc --Output=f32:nhwc  \
                  --conv_mode=cross --iterator_algorithm=optimized --alpha=1 --beta=0 --split_k_mode=serial --split_k_slices=1  \
                  --eq_gemm_provider=none --op_class=simt --accum=f32 --cta_m=128 --cta_n=128 --cta_k=8 --stages=2 --warps_m=4  \
                  --warps_n=2 --warps_k=1 --inst_m=1 --inst_n=1 --inst_k=1 --min_cc=50 --max_cc=1024

           Bytes: 2055798784  bytes
           FLOPs: 118482796544  flops

         Runtime: 7.34266  ms
          Memory: 260.752 GiB/s

            Math: 16136.2 GFLOP/s


=============================

&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;More Details on Compiling CUTLASS Kernels and CUTLASS Profiler&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Please follow the links for more CMake examples on selectively compiling CUTLASS kernels: 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/quickstart.html#gemm-cmake-examples&quot;&gt;GEMM CMake Examples&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/quickstart.html#convolution-cmake-examples&quot;&gt;Implicit GEMM convolution CMake Examples&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.nvidia.com/cutlass/latest/media/docs/cpp/profiler.html&quot;&gt;Further details about the CUTLASS Profiler are described here.&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;About&lt;/h1&gt; 
&lt;p&gt;CUTLASS is released by NVIDIA Corporation as Open Source software under the &lt;a href=&quot;https://raw.githubusercontent.com/NVIDIA/cutlass/main/LICENSE.txt&quot;&gt;3-clause &quot;New&quot; BSD license&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Contributors&lt;/h1&gt; 
&lt;p&gt;The official list of CUTLASS developers and contributors is available here: &lt;a href=&quot;https://raw.githubusercontent.com/NVIDIA/cutlass/main/CONTRIBUTORS.md&quot;&gt;CONTRIBUTORS&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Copyright&lt;/h1&gt; 
&lt;p&gt;Copyright (c) 2017 - 2026 NVIDIA CORPORATION &amp;amp; AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-3-Clause&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&lt;/code&gt;&lt;/pre&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/50972f1e6ef0694fefd7596655dba100fd07325889692119d2b27ebd24e1ca03/NVIDIA/cutlass" medium="image" />
      
    </item>
    
    <item>
      <title>amnezia-vpn/amnezia-client</title>
      <link>https://github.com/amnezia-vpn/amnezia-client</link>
      <description>&lt;p&gt;Amnezia VPN Client (Desktop+Mobile)&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Amnezia VPN&lt;/h1&gt; 
&lt;h3&gt;&lt;em&gt;The best client for self-hosted VPN&lt;/em&gt;&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/amnezia-vpn/amnezia-client/actions/workflows/deploy.yml?query=branch:dev&quot;&gt;&lt;img src=&quot;https://github.com/amnezia-vpn/amnezia-client/actions/workflows/deploy.yml/badge.svg?branch=dev&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://gitpod.io/#https://github.com/amnezia-vpn/amnezia-client&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod&quot; alt=&quot;Gitpod ready-to-code&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;&lt;a href=&quot;https://raw.githubusercontent.com/amnezia-vpn/amnezia-client/dev/%5Bhttps://github.com/amnezia-vpn/amnezia-client/raw/dev/README_RU.md%5D(https://github.com/amnezia-vpn/amnezia-client/tree/dev?tab=readme-ov-file#)&quot;&gt;English&lt;/a&gt; | &lt;a href=&quot;https://github.com/amnezia-vpn/amnezia-client/raw/dev/README_RU.md&quot;&gt;Русский&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://amnezia.org?utm_source=github&amp;amp;utm_campaign=amnezia_website-readme-en&quot;&gt;Amnezia&lt;/a&gt; is an open-source VPN client, with a key feature that enables you to deploy your own VPN server on your server.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://amnezia.org&quot;&gt;&lt;img src=&quot;https://github.com/amnezia-vpn/amnezia-client/raw/dev/metadata/img-readme/uipic4.png&quot; alt=&quot;Image&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;&lt;a href=&quot;https://amnezia.org?utm_source=github&amp;amp;utm_campaign=amnezia_website-readme-en&quot;&gt;Website&lt;/a&gt; | &lt;a href=&quot;https://storage.googleapis.com/amnezia/amnezia.org?utm_source=github&amp;amp;utm_campaign=amnezia_website-readme-en-mirror&quot;&gt;Alt website link&lt;/a&gt; | &lt;a href=&quot;https://docs.amnezia.org&quot;&gt;Documentation&lt;/a&gt; | &lt;a href=&quot;https://docs.amnezia.org/troubleshooting&quot;&gt;Troubleshooting&lt;/a&gt;&lt;/h3&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;If the &lt;a href=&quot;https://amnezia.org?utm_source=github&amp;amp;utm_campaign=amnezia_website-readme-en&quot;&gt;Amnezia website&lt;/a&gt; is blocked in your region, you can use an &lt;a href=&quot;https://storage.googleapis.com/amnezia/amnezia.org?utm_source=github&amp;amp;utm_campaign=amnezia_website-readme-en-mirror&quot;&gt;Alternative website link&lt;/a&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;a href=&quot;https://amnezia.org/en/downloads?utm_source=github&amp;amp;utm_campaign=amnezia_button-readme-en&quot;&gt;&lt;img src=&quot;https://github.com/amnezia-vpn/amnezia-client/raw/dev/metadata/img-readme/download-website.svg?sanitize=true&quot; width=&quot;150&quot; style=&quot;max-width: 100%; margin-right: 10px&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://storage.googleapis.com/amnezia/amnezia.org?m-path=/en/downloads&amp;amp;utm_source=github&amp;amp;utm_campaign=amnezia_button-readme-en-mirrow&quot;&gt;&lt;img src=&quot;https://github.com/amnezia-vpn/amnezia-client/raw/dev/metadata/img-readme/download-alt.svg?sanitize=true&quot; width=&quot;150&quot; style=&quot;max-width: 100%;&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/amnezia-vpn/amnezia-client/releases&quot;&gt;All releases&lt;/a&gt;&lt;/p&gt; 
&lt;br /&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.testiny.io&quot;&gt;&lt;img src=&quot;https://github.com/amnezia-vpn/amnezia-client/raw/dev/metadata/img-readme/testiny.png&quot; height=&quot;28px&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Very easy to use - enter your IP address, SSH login, password and Amnezia will automatically install VPN docker containers to your server and connect to the VPN.&lt;/li&gt; 
 &lt;li&gt;Classic VPN-protocols: OpenVPN, WireGuard and IKEv2 protocols.&lt;/li&gt; 
 &lt;li&gt;Protocols with traffic Masking (Obfuscation): OpenVPN over &lt;a href=&quot;https://github.com/cbeuw/Cloak&quot;&gt;Cloak&lt;/a&gt; plugin, Shadowsocks (OpenVPN over Shadowsocks), &lt;a href=&quot;https://docs.amnezia.org/documentation/amnezia-wg/&quot;&gt;AmneziaWG&lt;/a&gt; and XRay.&lt;/li&gt; 
 &lt;li&gt;Split tunneling support - add any sites to the client to enable VPN only for them or add Apps (only for Android and Desktop).&lt;/li&gt; 
 &lt;li&gt;Windows, MacOS, Linux, Android, iOS releases.&lt;/li&gt; 
 &lt;li&gt;Support for AmneziaWG protocol configuration on &lt;a href=&quot;https://docs.keenetic.com/ua/air/kn-1611/en/6319-latest-development-release.html#UUID-186c4108-5afd-c10b-f38a-cdff6c17fab3_section-idm33192196168192-improved&quot;&gt;Keenetic beta firmware&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Links&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://amnezia.org&quot;&gt;https://amnezia.org&lt;/a&gt; - Project website | &lt;a href=&quot;https://storage.googleapis.com/kldscp/amnezia.org&quot;&gt;Alternative link (mirror)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.amnezia.org&quot;&gt;https://docs.amnezia.org&lt;/a&gt; - Documentation&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/AmneziaVPN&quot;&gt;https://www.reddit.com/r/AmneziaVPN&lt;/a&gt; - Reddit&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://t.me/amnezia_vpn_en&quot;&gt;https://t.me/amnezia_vpn_en&lt;/a&gt; - Telegram support channel (English)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://t.me/amnezia_vpn_ir&quot;&gt;https://t.me/amnezia_vpn_ir&lt;/a&gt; - Telegram support channel (Farsi)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://t.me/amnezia_vpn_mm&quot;&gt;https://t.me/amnezia_vpn_mm&lt;/a&gt; - Telegram support channel (Myanmar)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://t.me/amnezia_vpn&quot;&gt;https://t.me/amnezia_vpn&lt;/a&gt; - Telegram support channel (Russian)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://vpnpay.io/en/amnezia-premium/&quot;&gt;https://vpnpay.io/en/amnezia-premium/&lt;/a&gt; - Amnezia Premium&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Tech&lt;/h2&gt; 
&lt;p&gt;AmneziaVPN uses several open-source projects to work:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.openssl.org/&quot;&gt;OpenSSL&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://openvpn.net/&quot;&gt;OpenVPN&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.qt.io/&quot;&gt;Qt&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://libssh.org&quot;&gt;LibSsh&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.wireguard.com/&quot;&gt;WireGuard&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://xtls.github.io/en/&quot;&gt;Xray-core&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://conan.io/&quot;&gt;Conan&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;and more...&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Help us with translations&lt;/h2&gt; 
&lt;p&gt;Download the most actual translation files.&lt;/p&gt; 
&lt;p&gt;Go to &lt;a href=&quot;https://github.com/amnezia-vpn/amnezia-client/actions?query=is%3Asuccess+branch%3Adev&quot;&gt;&quot;Actions&quot; tab&lt;/a&gt;, click on the first line. Then scroll down to the &quot;Artifacts&quot; section and download &quot;AmneziaVPN_translations&quot;.&lt;/p&gt; 
&lt;p&gt;Unzip this file. Each *.ts file contains strings for one corresponding language.&lt;/p&gt; 
&lt;p&gt;Translate or correct some strings in one or multiple *.ts files and commit them back to this repository into the &lt;code&gt;client/translations&lt;/code&gt; folder. You can do it via a web-interface or any other method you&#39;re familiar with.&lt;/p&gt; 
&lt;h2&gt;Checking out the source code&lt;/h2&gt; 
&lt;p&gt;Make sure to pull all submodules after checking out the repo.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git submodule update --init --recursive
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Hacking guide&lt;/h2&gt; 
&lt;p&gt;Want to contribute? Welcome!&lt;/p&gt; 
&lt;h3&gt;Build requirements&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://cmake.org/download/&quot;&gt;&lt;code&gt;CMake&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Compiler and underlying build system, depending on the target: 
  &lt;ul&gt; 
   &lt;li&gt;[Linux] Any of &lt;code&gt;make&lt;/code&gt; and &lt;code&gt;gcc&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;[Apple] &lt;a href=&quot;https://developer.apple.com/xcode/&quot;&gt;&lt;code&gt;Xcode&lt;/code&gt;&lt;/a&gt; or &lt;a href=&quot;https://developer.apple.com/xcode/&quot;&gt;&lt;code&gt;Xcode command line tools&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;[Windows] &lt;a href=&quot;https://aka.ms/vs/17/release/vs_community.exe&quot;&gt;&lt;code&gt;Visual Studio 2022&lt;/code&gt;&lt;/a&gt; or &lt;a href=&quot;https://aka.ms/vs/17/release/vs_buildtools.exe&quot;&gt;&lt;code&gt;VS 2022 Build Tools&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;[Android] &lt;a href=&quot;https://raw.githubusercontent.com/amnezia-vpn/amnezia-client/dev/#installing-android-sdk&quot;&gt;&lt;code&gt;Android SDK&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://ninja-build.org/&quot;&gt;&lt;code&gt;Ninja&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.qt.io/download-open-source&quot;&gt;&lt;code&gt;Qt 6.10+&lt;/code&gt;&lt;/a&gt; with the following modules: 
  &lt;ul&gt; 
   &lt;li&gt;Core module for targeting platform (Desktop/Android/iOS)&lt;/li&gt; 
   &lt;li&gt;Qt 5 Compatibility module&lt;/li&gt; 
   &lt;li&gt;Qt Remote Objects&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://conan.io/downloads&quot;&gt;&lt;code&gt;Conan&lt;/code&gt;&lt;/a&gt; package manager 
  &lt;ul&gt; 
   &lt;li&gt;On MacOS is enough just to use &lt;code&gt;homebrew&lt;/code&gt; or install it in &lt;code&gt;.venv&lt;/code&gt; in project root&lt;/li&gt; 
   &lt;li&gt;Other systems must have it in &lt;code&gt;PATH&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;(Optional) Installer dependencies: 
  &lt;ul&gt; 
   &lt;li&gt;[Windows/Linux] &lt;a href=&quot;https://www.qt.io/download-open-source&quot;&gt;&lt;code&gt;Qt Installer Framework&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;[Windows] &lt;a href=&quot;https://github.com/wixtoolset/wix/releases&quot;&gt;&lt;code&gt;WIX toolset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Building the project using scripts&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Run scripts located in &lt;code&gt;deploy&lt;/code&gt; directory&lt;/li&gt; 
 &lt;li&gt;Basically, if dependencies are located in default installation paths, the scripts will find them automatically.&lt;/li&gt; 
 &lt;li&gt;If they differ, specify them using the following variables: 
  &lt;ul&gt; 
   &lt;li&gt;&lt;code&gt;QT_INSTALL_DIR&lt;/code&gt; - Qt root installation folder&lt;/li&gt; 
   &lt;li&gt;&lt;code&gt;QT_ROOT_PATH&lt;/code&gt; - Qt framework root directory&lt;/li&gt; 
   &lt;li&gt;&lt;code&gt;QIF_ROOT_PATH&lt;/code&gt; - Qt Installer Framework root path&lt;/li&gt; 
   &lt;li&gt;&lt;code&gt;ANDROID_HOME&lt;/code&gt; - Path to Android SDK root folder&lt;/li&gt; 
   &lt;li&gt;and others. Check scripts for more&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Unix-like:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Build executables for the host platform
deploy/build.sh

# Or just
deploy/build.sh

# Build executables and installers for the host platform
deploy/build.sh --installer all

# Build Android APK and AAB
deploy/build.sh -t android --aab

# Call for help
deploy/build.sh -h
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Windows:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-batch&quot;&gt;:: Build executables for Windows
deploy/build.bat

:: Build executables with IFW installer for Windows
deploy/build.bat --installer ifw

:: Build executables with IFW and WIX installer for Windows
deploy/build.bat --installer ifw --installer wix

:: Or just
deploy/build.bat --installer all
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Developing the project in IDEs&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;Basically, you can use any IDE that handles CMake and Qt kits properly to run configure and build steps, and to navigate through the code nicely. For example:&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;code&gt;Qt Creator&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;code&gt;Visual Studio Code&lt;/code&gt; with &lt;code&gt;Qt Extension Pack&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;and so on&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;To use &lt;code&gt;Xcode&lt;/code&gt;, you have to configure project first by using &lt;code&gt;cmake&lt;/code&gt;. The easiest way to do it is to use &lt;code&gt;Qt Creator&lt;/code&gt; for configuration. Then open &lt;code&gt;AmneziaVPN.xcodeproj&lt;/code&gt; file from the build folder by using &lt;code&gt;Xcode&lt;/code&gt;. Note that none of the files changed are saved - the files actually getting changed in build directory. Copy them manually if necessary&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;code&gt;Android studio&lt;/code&gt; could be used in the same way - just configure the project by using &lt;code&gt;cmake&lt;/code&gt; manually or by using &lt;code&gt;Qt Creator&lt;/code&gt;. Open &lt;code&gt;&amp;lt;build-dir&amp;gt;/client/android-build&lt;/code&gt; in &lt;code&gt;Android studio&lt;/code&gt; then. Do not forget to copy the changes - everything you do is saved under the build directory actually.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Installing Android SDK&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Android SDK could be installed using the following methods: 
  &lt;ul&gt; 
   &lt;li&gt;Using &lt;code&gt;Qt Creator&lt;/code&gt;. Use &lt;code&gt;Preferences&lt;/code&gt;-&amp;gt;&lt;code&gt;SDKs&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;Using &lt;code&gt;Android studio&lt;/code&gt;. By default it installs necessary &lt;code&gt;SDKs&lt;/code&gt; automatically during the installation&lt;/li&gt; 
   &lt;li&gt;Manually by using &lt;code&gt;sdk-manager&lt;/code&gt;. Check &lt;a href=&quot;https://developer.android.com/tools&quot;&gt;this&lt;/a&gt; page for details&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;This project is licensed under the GNU General Public License v3.0 (see LICENSE) and also includes third-party components distributed under their own terms (see THIRD_PARTY_LICENSES.md).&lt;/p&gt; 
&lt;h2&gt;Donate&lt;/h2&gt; 
&lt;p&gt;Patreon: &lt;a href=&quot;https://www.patreon.com/amneziavpn&quot;&gt;https://www.patreon.com/amneziavpn&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Bitcoin: bc1qmhtgcf9637rl3kqyy22r2a8wa8laka4t9rx2mf &lt;br /&gt; USDT BEP20: 0x6abD576765a826f87D1D95183438f9408C901bE4 &lt;br /&gt; USDT TRC20: TELAitazF1MZGmiNjTcnxDjEiH5oe7LC9d &lt;br /&gt; XMR: 48spms39jt1L2L5vyw2RQW6CXD6odUd4jFu19GZcDyKKQV9U88wsJVjSbL4CfRys37jVMdoaWVPSvezCQPhHXUW5UKLqUp3 &lt;br /&gt; TON: UQDpU1CyKRmg7L8mNScKk9FRc2SlESuI7N-Hby4nX-CcVmns&lt;/p&gt; 
&lt;h2&gt;Acknowledgments&lt;/h2&gt; 
&lt;p&gt;This project is tested with BrowserStack. We express our gratitude to &lt;a href=&quot;https://www.browserstack.com&quot;&gt;BrowserStack&lt;/a&gt; for supporting our project.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/315035371/b7ae5f23-4018-473d-8265-0d083e6ca777" medium="image" />
      
    </item>
    
    <item>
      <title>google/perfetto</title>
      <link>https://github.com/google/perfetto</link>
      <description>&lt;p&gt;Production-grade client-side tracing, profiling, and analysis for complex software systems.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Perfetto - System profiling, app tracing and trace analysis&lt;/h1&gt; 
&lt;p&gt;Perfetto is an open-source suite of SDKs, daemons and tools which use &lt;strong&gt;tracing&lt;/strong&gt; to help developers understand the behaviour of complex systems and root-cause functional and performance issues on client and embedded systems.&lt;/p&gt; 
&lt;p&gt;It is a production-grade tool that is the default tracing system for the &lt;strong&gt;Android operating system&lt;/strong&gt; and the &lt;strong&gt;Chromium browser&lt;/strong&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/google/perfetto/main/docs/images/perfetto-stack.svg?sanitize=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Core Components&lt;/h2&gt; 
&lt;p&gt;Perfetto is not a single tool, but a collection of components that work together:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;High-performance tracing daemons:&lt;/strong&gt; For capturing tracing information from many processes on a single machine into a unified trace file.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Low-overhead tracing SDK:&lt;/strong&gt; A C++17 library for direct userspace-to-userspace tracing of timings and state changes in your application.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Extensive OS-level probes:&lt;/strong&gt; For capturing system-wide context on Android and Linux (e.g. scheduling states, CPU frequencies, memory profiling, callstack sampling).&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Browser-based UI:&lt;/strong&gt; A powerful, fully local UI for visualizing and exploring large, multi-GB traces on a timeline. It works in all major browsers, requires no installation, and can open traces from other tools.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;SQL-based analysis library:&lt;/strong&gt; A powerful engine that allows you to programmatically query traces using SQL to automate analysis and extract custom metrics.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Why Use Perfetto?&lt;/h2&gt; 
&lt;p&gt;Perfetto was designed to be a versatile and powerful tracing system for a wide range of use cases.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;For Android App &amp;amp; Platform Developers:&lt;/strong&gt; Debug and root-cause functional and performance issues like slow startups, dropped frames (jank), animation glitches, low memory kills, and ANRs. Profile both Java/Kotlin and native C++ memory usage with heap dumps and profiles.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;For C/C++ Developers (Linux, macOS, Windows):&lt;/strong&gt; Use the &lt;a href=&quot;https://raw.githubusercontent.com/google/perfetto/main/docs/instrumentation/tracing-sdk.md&quot;&gt;Tracing SDK&lt;/a&gt; to instrument your application with custom trace points to understand its execution flow, find performance bottlenecks, and debug complex behavior. On Linux, you can also perform detailed CPU and native heap profiling.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;For Linux Kernel &amp;amp; System Developers:&lt;/strong&gt; Get deep insights into kernel behavior. Perfetto acts as an efficient userspace daemon for &lt;code&gt;ftrace&lt;/code&gt;, allowing you to visualize scheduling, syscalls, interrupts, and custom kernel tracepoints on a timeline.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;For Chromium Developers:&lt;/strong&gt; Perfetto is the tracing backend for &lt;code&gt;chrome://tracing&lt;/code&gt;. Use it to debug and root-cause issues in the browser, V8, and Blink.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;For Performance Engineers &amp;amp; SREs:&lt;/strong&gt; Analyze and visualize a wide range of profiling and tracing formats, not just Perfetto&#39;s. Use the powerful SQL interface to programmatically analyze traces from tools like &lt;strong&gt;Linux perf&lt;/strong&gt;, &lt;strong&gt;macOS Instruments&lt;/strong&gt;, &lt;strong&gt;Chrome JSON traces&lt;/strong&gt;, and more.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;p&gt;We&#39;ve designed our documentation to guide you to the right information as quickly as possible, whether you&#39;re a newcomer to performance analysis or an experienced developer.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;New to tracing?&lt;/strong&gt; If you&#39;re unfamiliar with concepts like tracing and profiling, start here:&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://perfetto.dev/docs/tracing-101&quot;&gt;&lt;strong&gt;What is Tracing?&lt;/strong&gt;&lt;/a&gt; - A gentle introduction to the world of performance analysis.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Ready to dive in?&lt;/strong&gt; Our &quot;Getting Started&quot; guide is the main entry point for all users. It will help you find the right tutorials and documentation for your specific needs:&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://perfetto.dev/docs/getting-started/start-using-perfetto&quot;&gt;&lt;strong&gt;How do I start using Perfetto?&lt;/strong&gt;&lt;/a&gt; - Find your path based on your role and goals (e.g., Android App Developer, C/C++ Developer, etc.).&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Want the full overview?&lt;/strong&gt; For a comprehensive look at what Perfetto is, why it&#39;s useful, and who uses it, see our main documentation page:&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://perfetto.dev/docs/&quot;&gt;&lt;strong&gt;Perfetto Documentation Home&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Debian Distribution&lt;/h2&gt; 
&lt;p&gt;For users interested in the Debian distribution of Perfetto, the official source of truth and packaging efforts are maintained at &lt;a href=&quot;https://salsa.debian.org/debian/perfetto&quot;&gt;Debian Perfetto Salsa Repository&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Community &amp;amp; Support&lt;/h2&gt; 
&lt;p&gt;Have questions? Need help?&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/perfetto/discussions/categories/q-a&quot;&gt;GitHub Discussions&lt;/a&gt;:&lt;/strong&gt; For Q&amp;amp;A and general discussions.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/perfetto/issues&quot;&gt;GitHub Issues&lt;/a&gt;:&lt;/strong&gt; For bug reports.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://discord.gg/35ShE3A&quot;&gt;Discord&lt;/a&gt;:&lt;/strong&gt; For live chat with the community and developers.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;We follow &lt;a href=&quot;https://opensource.google/conduct/&quot;&gt;Google&#39;s Open Source Community Guidelines&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/e94a310485ef602374de2862431c0cc40a5b2e86b3b946b0835c96deb60898c6/google/perfetto" medium="image" />
      
    </item>
    
    <item>
      <title>SerenityOS/serenity</title>
      <link>https://github.com/SerenityOS/serenity</link>
      <description>&lt;p&gt;The Serenity Operating System 🐞&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;SerenityOS&lt;/h1&gt; 
&lt;p&gt;Graphical Unix-like operating system for 64-bit x86, Arm, and RISC-V computers.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/SerenityOS/serenity/actions/workflows/ci.yml&quot;&gt;&lt;img src=&quot;https://github.com/SerenityOS/serenity/actions/workflows/ci.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://issues.oss-fuzz.com/issues?q=project:serenity&quot;&gt;&lt;img src=&quot;https://oss-fuzz-build-logs.storage.googleapis.com/badges/serenity.svg?sanitize=true&quot; alt=&quot;Fuzzing Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://serenityos.org/discord&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/830522505605283862.svg?logo=discord&amp;amp;logoColor=white&amp;amp;logoWidth=20&amp;amp;labelColor=7289DA&amp;amp;label=Discord&amp;amp;color=17cf48&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Documentation/FAQ.md&quot;&gt;FAQ&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/#how-do-i-read-the-documentation&quot;&gt;Documentation&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/#how-do-i-build-and-run-this&quot;&gt;Build Instructions&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;About&lt;/h2&gt; 
&lt;p&gt;SerenityOS is a love letter to &#39;90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.&lt;/p&gt; 
&lt;p&gt;Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix. This is a system by us, for us, based on the things we like.&lt;/p&gt; 
&lt;p&gt;You can watch videos of the system being developed on YouTube:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://youtube.com/andreaskling&quot;&gt;Andreas Kling&#39;s channel&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://youtube.com/linusgroh&quot;&gt;Linus Groh&#39;s channel&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/kleinesfilmroellchen&quot;&gt;kleines Filmröllchen&#39;s channel&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Screenshot&lt;/h2&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Meta/Screenshots/screenshot-c03b788.png&quot; alt=&quot;Screenshot as of c03b788.png&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Modern 64-bit kernel with pre-emptive multi-threading&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Applications/Browser/&quot;&gt;Browser&lt;/a&gt; with JavaScript, WebAssembly, and more (check the spec compliance for &lt;a href=&quot;https://serenityos.github.io/libjs-website/test262/&quot;&gt;JS&lt;/a&gt;, &lt;a href=&quot;https://css.tobyase.de/&quot;&gt;CSS&lt;/a&gt;, and &lt;a href=&quot;https://serenityos.github.io/libjs-website/wasm/&quot;&gt;Wasm&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Security features (hardware protections, limited userland capabilities, W^X memory, &lt;code&gt;pledge&lt;/code&gt; &amp;amp; &lt;code&gt;unveil&lt;/code&gt;, (K)ASLR, OOM-resistance, web-content isolation, state-of-the-art TLS algorithms, ...)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Services/&quot;&gt;System services&lt;/a&gt; (WindowServer, LoginServer, AudioServer, WebServer, RequestServer, CrashServer, ...) and modern IPC&lt;/li&gt; 
 &lt;li&gt;Good POSIX compatibility (&lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Libraries/LibC/&quot;&gt;LibC&lt;/a&gt;, Shell, syscalls, signals, pseudoterminals, filesystem notifications, standard Unix &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Utilities/&quot;&gt;utilities&lt;/a&gt;, ...)&lt;/li&gt; 
 &lt;li&gt;POSIX-like virtual file systems (/proc, /dev, /sys, /tmp, ...) and ext2 file system&lt;/li&gt; 
 &lt;li&gt;Network stack and applications with support for IPv4, TCP, UDP; DNS, HTTP, Gemini, IMAP, NTP&lt;/li&gt; 
 &lt;li&gt;Profiling, debugging and other development tools (Kernel-supported profiling, CrashReporter, interactive GUI playground, HexEditor, HackStudio IDE for C++ and more)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Libraries/&quot;&gt;Libraries&lt;/a&gt; for everything from cryptography to OpenGL, audio, JavaScript, GUI, playing chess, ...&lt;/li&gt; 
 &lt;li&gt;Support for many common and uncommon file formats (PNG, JPEG, GIF, MP3, WAV, FLAC, ZIP, TAR, PDF, QOI, Gemini, ...)&lt;/li&gt; 
 &lt;li&gt;Unified style and design philosophy, flexible theming system, &lt;a href=&quot;https://fonts.serenityos.net/font-family&quot;&gt;custom (bitmap and vector) fonts&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Games/&quot;&gt;Games&lt;/a&gt; (Solitaire, Minesweeper, 2048, chess, Conway&#39;s Game of Life, ...) and &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Userland/Demos/&quot;&gt;demos&lt;/a&gt; (CatDog, Starfield, Eyes, mandelbrot set, WidgetGallery, ...)&lt;/li&gt; 
 &lt;li&gt;Every-day GUI programs and utilities (Spreadsheet with JavaScript, TextEditor, Terminal, PixelPaint, various multimedia viewers and players, Mail, Assistant, Calculator, ...)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;... and all of the above are right in this repository, no extra dependencies, built from-scratch by us :^)&lt;/p&gt; 
&lt;p&gt;Additionally, there are &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Ports/AvailablePorts.md&quot;&gt;over three hundred ports of popular open-source software&lt;/a&gt;, including games, compilers, Unix tools, multimedia apps and more.&lt;/p&gt; 
&lt;h2&gt;How do I read the documentation?&lt;/h2&gt; 
&lt;p&gt;Man pages are available online at &lt;a href=&quot;https://man.serenityos.org&quot;&gt;man.serenityos.org&lt;/a&gt;. These pages are generated from the Markdown source files in &lt;a href=&quot;https://github.com/SerenityOS/serenity/tree/master/Base/usr/share/man&quot;&gt;&lt;code&gt;Base/usr/share/man&lt;/code&gt;&lt;/a&gt; and updated automatically.&lt;/p&gt; 
&lt;p&gt;When running SerenityOS you can use &lt;code&gt;man&lt;/code&gt; for the terminal interface, or &lt;code&gt;help&lt;/code&gt; for the GUI.&lt;/p&gt; 
&lt;p&gt;Code-related documentation can be found in the &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Documentation/&quot;&gt;documentation&lt;/a&gt; folder.&lt;/p&gt; 
&lt;h2&gt;How do I build and run this?&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://github.com/SerenityOS/serenity/raw/master/Documentation/BuildInstructions.md&quot;&gt;SerenityOS build instructions&lt;/a&gt; or the &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/Documentation/BuildInstructionsLadybird.md&quot;&gt;Ladybird build instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The build system supports a cross-compilation build of SerenityOS from Linux, macOS, Windows (with WSL2) and many other *Nixes. The default build system commands will launch a QEMU instance running the OS with hardware or software virtualization enabled as supported.&lt;/p&gt; 
&lt;p&gt;Ladybird runs on the same platforms that can be the host for a cross build of SerenityOS and on SerenityOS itself.&lt;/p&gt; 
&lt;h2&gt;Get in touch and participate!&lt;/h2&gt; 
&lt;p&gt;Join our Discord server: &lt;a href=&quot;https://serenityos.org/discord&quot;&gt;SerenityOS Discord&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Before opening an issue, please see the &lt;a href=&quot;https://github.com/SerenityOS/serenity/raw/master/CONTRIBUTING.md#issue-policy&quot;&gt;issue policy&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;A general guide for contributing can be found in &lt;a href=&quot;https://raw.githubusercontent.com/SerenityOS/serenity/master/CONTRIBUTING.md&quot;&gt;&lt;code&gt;CONTRIBUTING.md&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Authors&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Andreas Kling&lt;/strong&gt; - &lt;a href=&quot;https://twitter.com/awesomekling&quot;&gt;awesomekling&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/awesomekling&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Robin Burchell&lt;/strong&gt; - &lt;a href=&quot;https://github.com/rburchell&quot;&gt;rburchell&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Conrad Pankoff&lt;/strong&gt; - &lt;a href=&quot;https://github.com/deoxxa&quot;&gt;deoxxa&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Sergey Bugaev&lt;/strong&gt; - &lt;a href=&quot;https://github.com/bugaevc&quot;&gt;bugaevc&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Liav A&lt;/strong&gt; - &lt;a href=&quot;https://github.com/supercomputer7&quot;&gt;supercomputer7&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Linus Groh&lt;/strong&gt; - &lt;a href=&quot;https://github.com/linusg&quot;&gt;linusg&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/linusg&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Ali Mohammad Pur&lt;/strong&gt; - &lt;a href=&quot;https://github.com/alimpfard&quot;&gt;alimpfard&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Shannon Booth&lt;/strong&gt; - &lt;a href=&quot;https://github.com/shannonbooth&quot;&gt;shannonbooth&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Hüseyin ASLITÜRK&lt;/strong&gt; - &lt;a href=&quot;https://github.com/asliturk&quot;&gt;asliturk&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Matthew Olsson&lt;/strong&gt; - &lt;a href=&quot;https://github.com/mattco98&quot;&gt;mattco98&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Nico Weber&lt;/strong&gt; - &lt;a href=&quot;https://github.com/nico&quot;&gt;nico&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Brian Gianforcaro&lt;/strong&gt; - &lt;a href=&quot;https://github.com/bgianfo&quot;&gt;bgianfo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Ben Wiederhake&lt;/strong&gt; - &lt;a href=&quot;https://github.com/BenWiederhake&quot;&gt;BenWiederhake&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tom&lt;/strong&gt; - &lt;a href=&quot;https://github.com/tomuta&quot;&gt;tomuta&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Paul Scharnofske&lt;/strong&gt; - &lt;a href=&quot;https://github.com/asynts&quot;&gt;asynts&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Itamar Shenhar&lt;/strong&gt; - &lt;a href=&quot;https://github.com/itamar8910&quot;&gt;itamar8910&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Luke Wilde&lt;/strong&gt; - &lt;a href=&quot;https://github.com/Lubrsi&quot;&gt;Lubrsi&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Brendan Coles&lt;/strong&gt; - &lt;a href=&quot;https://github.com/bcoles&quot;&gt;bcoles&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Andrew Kaster&lt;/strong&gt; - &lt;a href=&quot;https://github.com/ADKaster&quot;&gt;ADKaster&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/ADKaster&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;thankyouverycool&lt;/strong&gt; - &lt;a href=&quot;https://github.com/thankyouverycool&quot;&gt;thankyouverycool&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Idan Horowitz&lt;/strong&gt; - &lt;a href=&quot;https://github.com/IdanHo&quot;&gt;IdanHo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Gunnar Beutner&lt;/strong&gt; - &lt;a href=&quot;https://github.com/gunnarbeutner&quot;&gt;gunnarbeutner&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tim Flynn&lt;/strong&gt; - &lt;a href=&quot;https://github.com/trflynn89&quot;&gt;trflynn89&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Jean-Baptiste Boric&lt;/strong&gt; - &lt;a href=&quot;https://github.com/boricj&quot;&gt;boricj&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Stephan Unverwerth&lt;/strong&gt; - &lt;a href=&quot;https://github.com/sunverwerth&quot;&gt;sunverwerth&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Max Wipfli&lt;/strong&gt; - &lt;a href=&quot;https://github.com/MaxWipfli&quot;&gt;MaxWipfli&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Daniel Bertalan&lt;/strong&gt; - &lt;a href=&quot;https://github.com/BertalanD&quot;&gt;BertalanD&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Jelle Raaijmakers&lt;/strong&gt; - &lt;a href=&quot;https://github.com/GMTA&quot;&gt;GMTA&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Sam Atkins&lt;/strong&gt; - &lt;a href=&quot;https://github.com/AtkinsSJ&quot;&gt;AtkinsSJ&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/AtkinsSJ&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tobias Christiansen&lt;/strong&gt; - &lt;a href=&quot;https://github.com/TobyAsE&quot;&gt;TobyAsE&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Lenny Maiorani&lt;/strong&gt; - &lt;a href=&quot;https://github.com/ldm5180&quot;&gt;ldm5180&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;sin-ack&lt;/strong&gt; - &lt;a href=&quot;https://github.com/sin-ack&quot;&gt;sin-ack&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Jesse Buhagiar&lt;/strong&gt; - &lt;a href=&quot;https://github.com/Quaker762&quot;&gt;Quaker762&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Peter Elliott&lt;/strong&gt; - &lt;a href=&quot;https://github.com/Petelliott&quot;&gt;Petelliott&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Karol Kosek&lt;/strong&gt; - &lt;a href=&quot;https://github.com/krkk&quot;&gt;krkk&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Mustafa Quraish&lt;/strong&gt; - &lt;a href=&quot;https://github.com/mustafaquraish&quot;&gt;mustafaquraish&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;David Tuin&lt;/strong&gt; - &lt;a href=&quot;https://github.com/davidot&quot;&gt;davidot&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Leon Albrecht&lt;/strong&gt; - &lt;a href=&quot;https://github.com/Hendiadyoin1&quot;&gt;Hendiadyoin1&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tim Schumacher&lt;/strong&gt; - &lt;a href=&quot;https://github.com/timschumi&quot;&gt;timschumi&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Marcus Nilsson&lt;/strong&gt; - &lt;a href=&quot;https://github.com/metmo&quot;&gt;metmo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Gegga Thor&lt;/strong&gt; - &lt;a href=&quot;https://github.com/Xexxa&quot;&gt;Xexxa&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/Xexxa&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;kleines Filmröllchen&lt;/strong&gt; - &lt;a href=&quot;https://github.com/kleinesfilmroellchen&quot;&gt;kleinesfilmroellchen&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/kleinesfilmroellchen&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Kenneth Myhra&lt;/strong&gt; - &lt;a href=&quot;https://github.com/kennethmyhra&quot;&gt;kennethmyhra&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Maciej&lt;/strong&gt; - &lt;a href=&quot;https://github.com/sppmacd&quot;&gt;sppmacd&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Sahan Fernando&lt;/strong&gt; - &lt;a href=&quot;https://github.com/ccapitalK&quot;&gt;ccapitalK&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Benjamin Maxwell&lt;/strong&gt; - &lt;a href=&quot;https://github.com/MacDue&quot;&gt;MacDue&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Dennis Esternon&lt;/strong&gt; - &lt;a href=&quot;https://github.com/djwisdom&quot;&gt;djwisdom&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/djwisdom&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;frhun&lt;/strong&gt; - &lt;a href=&quot;https://github.com/frhun&quot;&gt;frhun&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;networkException&lt;/strong&gt; - &lt;a href=&quot;https://github.com/networkException&quot;&gt;networkException&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/networkException&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=Sponsor&amp;amp;message=%E2%9D%A4&amp;amp;logo=GitHub&quot; alt=&quot;GitHub Sponsors&quot; /&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Brandon Jordan&lt;/strong&gt; - &lt;a href=&quot;https://github.com/electrikmilk&quot;&gt;electrikmilk&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Lucas Chollet&lt;/strong&gt; - &lt;a href=&quot;https://github.com/LucasChollet&quot;&gt;LucasChollet&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Timon Kruiper&lt;/strong&gt; - &lt;a href=&quot;https://github.com/FireFox317&quot;&gt;FireFox317&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Martin Falisse&lt;/strong&gt; - &lt;a href=&quot;https://github.com/martinfalisse&quot;&gt;martinfalisse&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Gregory Bertilson&lt;/strong&gt; - &lt;a href=&quot;https://github.com/Zaggy1024&quot;&gt;Zaggy1024&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Erik Wouters&lt;/strong&gt; - &lt;a href=&quot;https://github.com/EWouters&quot;&gt;EWouters&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Rodrigo Tobar&lt;/strong&gt; - &lt;a href=&quot;https://github.com/rtobar&quot;&gt;rtobar&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Alexander Kalenik&lt;/strong&gt; - &lt;a href=&quot;https://github.com/kalenikaliaksandr&quot;&gt;kalenikaliaksandr&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tim Ledbetter&lt;/strong&gt; - &lt;a href=&quot;https://github.com/tcl3&quot;&gt;tcl3&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Steffen T. Larssen&lt;/strong&gt; - &lt;a href=&quot;https://github.com/stelar7&quot;&gt;stelar7&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Andi Gallo&lt;/strong&gt; - &lt;a href=&quot;https://github.com/axgallo&quot;&gt;axgallo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Simon Wanner&lt;/strong&gt; - &lt;a href=&quot;https://github.com/skyrising&quot;&gt;skyrising&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;FalseHonesty&lt;/strong&gt; - &lt;a href=&quot;https://github.com/FalseHonesty&quot;&gt;FalseHonesty&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Bastiaan van der Plaat&lt;/strong&gt; - &lt;a href=&quot;https://github.com/bplaat&quot;&gt;bplaat&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Dan Klishch&lt;/strong&gt; - &lt;a href=&quot;https://github.com/DanShaders&quot;&gt;DanShaders&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Julian Offenhäuser&lt;/strong&gt; - &lt;a href=&quot;https://github.com/janso3&quot;&gt;janso3&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Sönke Holz&lt;/strong&gt; - &lt;a href=&quot;https://github.com/spholz&quot;&gt;spholz&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;implicitfield&lt;/strong&gt; - &lt;a href=&quot;https://github.com/implicitfield&quot;&gt;implicitfield&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;And many more! &lt;a href=&quot;https://github.com/SerenityOS/serenity/graphs/contributors&quot;&gt;See here&lt;/a&gt; for a full contributor list. The people listed above have landed more than 100 commits in the project. :^)&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;SerenityOS is licensed under a 2-clause BSD license.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/b512924c57d7cfb78eab4d45f787fc35251714d716f7efa24e29bb5c1bc3e2cf/SerenityOS/serenity" medium="image" />
      
    </item>
    
    <item>
      <title>ggml-org/llama.cpp</title>
      <link>https://github.com/ggml-org/llama.cpp</link>
      <description>&lt;p&gt;LLM inference in C/C++&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;llama.cpp&lt;/h1&gt; 
&lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/1991296/230134379-7181e485-c521-4d23-a0d6-f7b3b61ba524.png&quot; alt=&quot;llama&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://opensource.org/licenses/MIT&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-MIT-blue.svg?sanitize=true&quot; alt=&quot;License: MIT&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/ggml-org/llama.cpp&quot; alt=&quot;Release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/actions/workflows/server.yml&quot;&gt;&lt;img src=&quot;https://github.com/ggml-org/llama.cpp/actions/workflows/server.yml/badge.svg?sanitize=true&quot; alt=&quot;Server&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/actions/workflows/docker.yml&quot;&gt;&lt;img src=&quot;https://github.com/ggml-org/llama.cpp/actions/workflows/docker.yml/badge.svg?sanitize=true&quot; alt=&quot;Docker&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/actions/workflows/winget.yml&quot;&gt;&lt;img src=&quot;https://github.com/ggml-org/llama.cpp/actions/workflows/winget.yml/badge.svg?sanitize=true&quot; alt=&quot;Winget&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/205&quot;&gt;Manifesto&lt;/a&gt; / &lt;a href=&quot;https://github.com/ggml-org/ggml&quot;&gt;ggml&lt;/a&gt; / &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/raw/master/docs/ops.md&quot;&gt;ops&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;LLM inference in C/C++&lt;/p&gt; 
&lt;h2&gt;Recent API changes&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/issues/9289&quot;&gt;Changelog for &lt;code&gt;libllama&lt;/code&gt; API&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/issues/9291&quot;&gt;Changelog for &lt;code&gt;llama-server&lt;/code&gt; REST API&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Hot topics&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Hugging Face cache migration: models downloaded with &lt;code&gt;-hf&lt;/code&gt; are now stored in the standard Hugging Face cache directory, enabling sharing with other HF tools.&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/16938&quot;&gt;guide : using the new WebUI of llama.cpp&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/15396&quot;&gt;guide : running gpt-oss with llama.cpp&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/15313&quot;&gt;[FEEDBACK] Better packaging for llama.cpp to support downstream consumers 🤗&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Support for the &lt;code&gt;gpt-oss&lt;/code&gt; model with native MXFP4 format has been added | &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/15091&quot;&gt;PR&lt;/a&gt; | &lt;a href=&quot;https://blogs.nvidia.com/blog/rtx-ai-garage-openai-oss&quot;&gt;Collaboration with NVIDIA&lt;/a&gt; | &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/15095&quot;&gt;Comment&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Multimodal support arrived in &lt;code&gt;llama-server&lt;/code&gt;: &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/12898&quot;&gt;#12898&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/multimodal.md&quot;&gt;documentation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;VS Code extension for FIM completions: &lt;a href=&quot;https://github.com/ggml-org/llama.vscode&quot;&gt;https://github.com/ggml-org/llama.vscode&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Vim/Neovim plugin for FIM completions: &lt;a href=&quot;https://github.com/ggml-org/llama.vim&quot;&gt;https://github.com/ggml-org/llama.vim&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Hugging Face Inference Endpoints now support GGUF out of the box! &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/9669&quot;&gt;https://github.com/ggml-org/llama.cpp/discussions/9669&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Hugging Face GGUF editor: &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/9268&quot;&gt;discussion&lt;/a&gt; | &lt;a href=&quot;https://huggingface.co/spaces/CISCai/gguf-editor&quot;&gt;tool&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;WebGPU support is now available in the browser, see a blog/demo introducing it &lt;a href=&quot;https://reeselevine.github.io/llamas-on-the-web/&quot;&gt;here&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Quick start&lt;/h2&gt; 
&lt;p&gt;Getting started with llama.cpp is straightforward. Here are several ways to install it on your machine:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Install &lt;code&gt;llama.cpp&lt;/code&gt; using &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/install.md&quot;&gt;brew, nix or winget&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Run with Docker - see our &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/docker.md&quot;&gt;Docker documentation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Download pre-built binaries from the &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/releases&quot;&gt;releases page&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Build from source by cloning this repository - check out &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md&quot;&gt;our build guide&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Once installed, you&#39;ll need a model to work with. Head to the &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/#obtaining-and-quantizing-models&quot;&gt;Obtaining and quantizing models&lt;/a&gt; section to learn more.&lt;/p&gt; 
&lt;p&gt;Example command:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;# Use a local model file
llama-cli -m my_model.gguf

# Or download and run a model directly from Hugging Face
llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

# Launch OpenAI-compatible API server
llama-server -hf ggml-org/gemma-3-1b-it-GGUF
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Description&lt;/h2&gt; 
&lt;p&gt;The main goal of &lt;code&gt;llama.cpp&lt;/code&gt; is to enable LLM inference with minimal setup and state-of-the-art performance on a wide range of hardware - locally and in the cloud.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Plain C/C++ implementation without any dependencies&lt;/li&gt; 
 &lt;li&gt;Apple silicon is a first-class citizen - optimized via ARM NEON, Accelerate and Metal frameworks&lt;/li&gt; 
 &lt;li&gt;AVX, AVX2, AVX512 and AMX support for x86 architectures&lt;/li&gt; 
 &lt;li&gt;RVV, ZVFH, ZFH, ZICBOP and ZIHINTPAUSE support for RISC-V architectures&lt;/li&gt; 
 &lt;li&gt;1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, and 8-bit integer quantization for faster inference and reduced memory use&lt;/li&gt; 
 &lt;li&gt;Custom CUDA kernels for running LLMs on NVIDIA GPUs (support for AMD GPUs via HIP and Moore Threads GPUs via MUSA)&lt;/li&gt; 
 &lt;li&gt;Vulkan and SYCL backend support&lt;/li&gt; 
 &lt;li&gt;CPU+GPU hybrid inference to partially accelerate models larger than the total VRAM capacity&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The &lt;code&gt;llama.cpp&lt;/code&gt; project is the main playground for developing new features for the &lt;a href=&quot;https://github.com/ggml-org/ggml&quot;&gt;ggml&lt;/a&gt; library.&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;Models&lt;/summary&gt; 
 &lt;p&gt;Typically finetunes of the base models below are supported as well.&lt;/p&gt; 
 &lt;p&gt;Instructions for adding support for new models: &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/development/HOWTO-add-model.md&quot;&gt;HOWTO-add-model.md&lt;/a&gt;&lt;/p&gt; 
 &lt;h4&gt;Text-only&lt;/h4&gt; 
 &lt;ul class=&quot;task-list&quot;&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_0&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_0&quot;&gt; LLaMA 🦙&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_1&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_1&quot;&gt; LLaMA 2 🦙🦙&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_2&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_2&quot;&gt; LLaMA 3 🦙🦙🦙&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_3&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_3&quot;&gt; &lt;a href=&quot;https://huggingface.co/mistralai/Mistral-7B-v0.1&quot;&gt;Mistral 7B&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_4&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_4&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=mistral-ai/Mixtral&quot;&gt;Mixtral MoE&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_5&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_5&quot;&gt; &lt;a href=&quot;https://huggingface.co/databricks/dbrx-instruct&quot;&gt;DBRX&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_6&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_6&quot;&gt; &lt;a href=&quot;https://huggingface.co/ai21labs&quot;&gt;Jamba&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_7&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_7&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=tiiuae/falcon&quot;&gt;Falcon&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_8&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_8&quot;&gt; &lt;a href=&quot;https://github.com/ymcui/Chinese-LLaMA-Alpaca&quot;&gt;Chinese LLaMA / Alpaca&lt;/a&gt; and &lt;a href=&quot;https://github.com/ymcui/Chinese-LLaMA-Alpaca-2&quot;&gt;Chinese LLaMA-2 / Alpaca-2&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_9&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_9&quot;&gt; &lt;a href=&quot;https://github.com/bofenghuang/vigogne&quot;&gt;Vigogne (French)&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_10&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_10&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/5423&quot;&gt;BERT&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_11&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_11&quot;&gt; &lt;a href=&quot;https://bair.berkeley.edu/blog/2023/04/03/koala/&quot;&gt;Koala&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_12&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_12&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=baichuan-inc/Baichuan&quot;&gt;Baichuan 1 &amp;amp; 2&lt;/a&gt; + &lt;a href=&quot;https://huggingface.co/hiyouga/baichuan-7b-sft&quot;&gt;derivations&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_13&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_13&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=BAAI/Aquila&quot;&gt;Aquila 1 &amp;amp; 2&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_14&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_14&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/3187&quot;&gt;Starcoder models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_15&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_15&quot;&gt; &lt;a href=&quot;https://huggingface.co/smallcloudai/Refact-1_6B-fim&quot;&gt;Refact&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_16&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_16&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/3417&quot;&gt;MPT&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_17&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_17&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/3553&quot;&gt;Bloom&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_18&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_18&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=01-ai/Yi&quot;&gt;Yi models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_19&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_19&quot;&gt; &lt;a href=&quot;https://huggingface.co/stabilityai&quot;&gt;StableLM models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_20&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_20&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=deepseek-ai/deepseek&quot;&gt;Deepseek models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_21&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_21&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=Qwen/Qwen&quot;&gt;Qwen models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_22&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_22&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/3557&quot;&gt;PLaMo-13B&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_23&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_23&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=microsoft/phi&quot;&gt;Phi models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_24&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_24&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/11003&quot;&gt;PhiMoE&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_25&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_25&quot;&gt; &lt;a href=&quot;https://huggingface.co/gpt2&quot;&gt;GPT-2&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_26&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_26&quot;&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/5118&quot;&gt;Orion 14B&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_27&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_27&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=internlm2&quot;&gt;InternLM2&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_28&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_28&quot;&gt; &lt;a href=&quot;https://github.com/WisdomShell/codeshell&quot;&gt;CodeShell&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_29&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_29&quot;&gt; &lt;a href=&quot;https://ai.google.dev/gemma&quot;&gt;Gemma&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_30&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_30&quot;&gt; &lt;a href=&quot;https://github.com/state-spaces/mamba&quot;&gt;Mamba&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_31&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_31&quot;&gt; &lt;a href=&quot;https://huggingface.co/keyfan/grok-1-hf&quot;&gt;Grok-1&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_32&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_32&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=xverse&quot;&gt;Xverse&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_33&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_33&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=CohereForAI/c4ai-command-r&quot;&gt;Command-R models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_34&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_34&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=sea-lion&quot;&gt;SEA-LION&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_35&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_35&quot;&gt; &lt;a href=&quot;https://huggingface.co/GritLM/GritLM-7B&quot;&gt;GritLM-7B&lt;/a&gt; + &lt;a href=&quot;https://huggingface.co/GritLM/GritLM-8x7B&quot;&gt;GritLM-8x7B&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_36&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_36&quot;&gt; &lt;a href=&quot;https://allenai.org/olmo&quot;&gt;OLMo&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_37&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_37&quot;&gt; &lt;a href=&quot;https://allenai.org/olmo&quot;&gt;OLMo 2&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_38&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_38&quot;&gt; &lt;a href=&quot;https://huggingface.co/allenai/OLMoE-1B-7B-0924&quot;&gt;OLMoE&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_39&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_39&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/ibm-granite/granite-code-models-6624c5cec322e4c148c8b330&quot;&gt;Granite models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_40&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_40&quot;&gt; &lt;a href=&quot;https://github.com/EleutherAI/gpt-neox&quot;&gt;GPT-NeoX&lt;/a&gt; + &lt;a href=&quot;https://github.com/EleutherAI/pythia&quot;&gt;Pythia&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_41&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_41&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/Snowflake/arctic-66290090abe542894a5ac520&quot;&gt;Snowflake-Arctic MoE&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_42&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_42&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=Smaug&quot;&gt;Smaug&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_43&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_43&quot;&gt; &lt;a href=&quot;https://huggingface.co/LumiOpen/Poro-34B&quot;&gt;Poro 34B&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_44&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_44&quot;&gt; &lt;a href=&quot;https://huggingface.co/1bitLLM&quot;&gt;Bitnet b1.58 models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_45&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_45&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=flan-t5&quot;&gt;Flan T5&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_46&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_46&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/apple/openelm-instruct-models-6619ad295d7ae9f868b759ca&quot;&gt;Open Elm models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_47&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_47&quot;&gt; &lt;a href=&quot;https://huggingface.co/THUDM/chatglm3-6b&quot;&gt;ChatGLM3-6b&lt;/a&gt; + &lt;a href=&quot;https://huggingface.co/THUDM/glm-4-9b&quot;&gt;ChatGLM4-9b&lt;/a&gt; + &lt;a href=&quot;https://huggingface.co/THUDM/glm-edge-1.5b-chat&quot;&gt;GLMEdge-1.5b&lt;/a&gt; + &lt;a href=&quot;https://huggingface.co/THUDM/glm-edge-4b-chat&quot;&gt;GLMEdge-4b&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_48&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_48&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/THUDM/glm-4-0414-67f3cbcb34dd9d252707cb2e&quot;&gt;GLM-4-0414&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_49&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_49&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/HuggingFaceTB/smollm-6695016cad7167254ce15966&quot;&gt;SmolLM&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_50&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_50&quot;&gt; &lt;a href=&quot;https://huggingface.co/LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct&quot;&gt;EXAONE-3.0-7.8B-Instruct&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_51&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_51&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/tiiuae/falconmamba-7b-66b9a580324dd1598b0f6d4a&quot;&gt;FalconMamba Models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_52&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_52&quot;&gt; &lt;a href=&quot;https://huggingface.co/inceptionai/jais-13b-chat&quot;&gt;Jais&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_53&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_53&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/speakleash/bielik-11b-v23-66ee813238d9b526a072408a&quot;&gt;Bielik-11B-v2.3&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_54&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_54&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/shoumenchougou/rwkv7-gxx-gguf&quot;&gt;RWKV-7&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_55&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_55&quot;&gt; &lt;a href=&quot;https://github.com/BlinkDL/RWKV-LM&quot;&gt;RWKV-6&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_56&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_56&quot;&gt; &lt;a href=&quot;https://huggingface.co/recursal/QRWKV6-32B-Instruct-Preview-v0.1&quot;&gt;QRWKV-6&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_57&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_57&quot;&gt; &lt;a href=&quot;https://huggingface.co/ai-sage/GigaChat-20B-A3B-instruct&quot;&gt;GigaChat-20B-A3B&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_58&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_58&quot;&gt; &lt;a href=&quot;https://huggingface.co/trillionlabs/Trillion-7B-preview&quot;&gt;Trillion-7B-preview&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_59&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_59&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/inclusionAI/ling-67c51c85b34a7ea0aba94c32&quot;&gt;Ling models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_60&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_60&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/LiquidAI/lfm2-686d721927015b2ad73eaa38&quot;&gt;LFM2 models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_61&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_61&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/tencent/hunyuan-dense-model-6890632cda26b19119c9c5e7&quot;&gt;Hunyuan models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_62&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_62&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/inclusionAI/ling-v2-68bf1dd2fc34c306c1fa6f86&quot;&gt;BailingMoeV2 (Ring/Ling 2.0) models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_63&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_63&quot;&gt; &lt;a href=&quot;https://huggingface.co/JetBrains/models?search=mellum&quot;&gt;Mellum models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;h4&gt;Multimodal&lt;/h4&gt; 
 &lt;ul class=&quot;task-list&quot;&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_64&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_64&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/liuhaotian/llava-15-653aac15d994e992e2677a7e&quot;&gt;LLaVA 1.5 models&lt;/a&gt;, &lt;a href=&quot;https://huggingface.co/collections/liuhaotian/llava-16-65b9e40155f60fd046a5ccf2&quot;&gt;LLaVA 1.6 models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_65&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_65&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=SkunkworksAI/Bakllava&quot;&gt;BakLLaVA&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_66&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_66&quot;&gt; &lt;a href=&quot;https://huggingface.co/NousResearch/Obsidian-3B-V0.5&quot;&gt;Obsidian&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_67&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_67&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=Lin-Chen/ShareGPT4V&quot;&gt;ShareGPT4V&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_68&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_68&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=mobileVLM&quot;&gt;MobileVLM 1.7B/3B models&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_69&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_69&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=Yi-VL&quot;&gt;Yi-VL&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_70&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_70&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=MiniCPM&quot;&gt;Mini CPM&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_71&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_71&quot;&gt; &lt;a href=&quot;https://huggingface.co/vikhyatk/moondream2&quot;&gt;Moondream&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_72&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_72&quot;&gt; &lt;a href=&quot;https://github.com/BAAI-DCAI/Bunny&quot;&gt;Bunny&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_73&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_73&quot;&gt; &lt;a href=&quot;https://huggingface.co/models?search=glm-edge&quot;&gt;GLM-EDGE&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_74&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_74&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/Qwen/qwen2-vl-66cee7455501d7126940800d&quot;&gt;Qwen2-VL&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_75&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_75&quot;&gt; &lt;a href=&quot;https://huggingface.co/collections/LiquidAI/lfm2-vl-68963bbc84a610f7638d5ffa&quot;&gt;LFM2-VL&lt;/a&gt;&lt;/label&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;details&gt; 
 &lt;summary&gt;Bindings&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;Python: &lt;a href=&quot;https://github.com/ddh0/easy-llama&quot;&gt;ddh0/easy-llama&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Python: &lt;a href=&quot;https://github.com/abetlen/llama-cpp-python&quot;&gt;abetlen/llama-cpp-python&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Go: &lt;a href=&quot;https://github.com/go-skynet/go-llama.cpp&quot;&gt;go-skynet/go-llama.cpp&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Node.js: &lt;a href=&quot;https://github.com/withcatai/node-llama-cpp&quot;&gt;withcatai/node-llama-cpp&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;JS/TS (llama.cpp server client): &lt;a href=&quot;https://modelfusion.dev/integration/model-provider/llamacpp&quot;&gt;lgrammel/modelfusion&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;JS/TS (Programmable Prompt Engine CLI): &lt;a href=&quot;https://github.com/offline-ai/cli&quot;&gt;offline-ai/cli&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;JavaScript/Wasm (works in browser): &lt;a href=&quot;https://github.com/tangledgroup/llama-cpp-wasm&quot;&gt;tangledgroup/llama-cpp-wasm&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Typescript/Wasm (nicer API, available on npm): &lt;a href=&quot;https://github.com/ngxson/wllama&quot;&gt;ngxson/wllama&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Ruby: &lt;a href=&quot;https://github.com/yoshoku/llama_cpp.rb&quot;&gt;yoshoku/llama_cpp.rb&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Ruby: &lt;a href=&quot;https://github.com/docusealco/rllama&quot;&gt;docusealco/rllama&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Rust (more features): &lt;a href=&quot;https://github.com/edgenai/llama_cpp-rs&quot;&gt;edgenai/llama_cpp-rs&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Rust (nicer API): &lt;a href=&quot;https://github.com/mdrokz/rust-llama.cpp&quot;&gt;mdrokz/rust-llama.cpp&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Rust (more direct bindings): &lt;a href=&quot;https://github.com/utilityai/llama-cpp-rs&quot;&gt;utilityai/llama-cpp-rs&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Rust (automated build from &lt;a href=&quot;http://crates.io&quot;&gt;crates.io&lt;/a&gt;): &lt;a href=&quot;https://github.com/ShelbyJenkins/llm_client&quot;&gt;ShelbyJenkins/llm_client&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;C#/.NET: &lt;a href=&quot;https://github.com/SciSharp/LLamaSharp&quot;&gt;SciSharp/LLamaSharp&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;C#/VB.NET (more features - community license): &lt;a href=&quot;https://docs.lm-kit.com/lm-kit-net/index.html&quot;&gt;LM-Kit.NET&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Scala 3: &lt;a href=&quot;https://github.com/donderom/llm4s&quot;&gt;donderom/llm4s&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Clojure: &lt;a href=&quot;https://github.com/phronmophobic/llama.clj&quot;&gt;phronmophobic/llama.clj&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;React Native: &lt;a href=&quot;https://github.com/mybigday/llama.rn&quot;&gt;mybigday/llama.rn&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Java: &lt;a href=&quot;https://github.com/kherud/java-llama.cpp&quot;&gt;kherud/java-llama.cpp&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Java: &lt;a href=&quot;https://github.com/QuasarByte/llama-cpp-jna&quot;&gt;QuasarByte/llama-cpp-jna&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Zig: &lt;a href=&quot;https://github.com/Deins/llama.cpp.zig&quot;&gt;deins/llama.cpp.zig&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Flutter/Dart: &lt;a href=&quot;https://github.com/netdur/llama_cpp_dart&quot;&gt;netdur/llama_cpp_dart&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Flutter: &lt;a href=&quot;https://github.com/xuegao-tzx/Fllama&quot;&gt;xuegao-tzx/Fllama&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;PHP (API bindings and features built on top of llama.cpp): &lt;a href=&quot;https://github.com/distantmagic/resonance&quot;&gt;distantmagic/resonance&lt;/a&gt; &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/pull/6326&quot;&gt;(more info)&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Guile Scheme: &lt;a href=&quot;https://savannah.nongnu.org/projects/guile-llama-cpp&quot;&gt;guile_llama_cpp&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Swift &lt;a href=&quot;https://github.com/srgtuszy/llama-cpp-swift&quot;&gt;srgtuszy/llama-cpp-swift&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Swift &lt;a href=&quot;https://github.com/ShenghaiWang/SwiftLlama&quot;&gt;ShenghaiWang/SwiftLlama&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Delphi &lt;a href=&quot;https://github.com/Embarcadero/llama-cpp-delphi&quot;&gt;Embarcadero/llama-cpp-delphi&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Go (no CGo needed): &lt;a href=&quot;https://github.com/hybridgroup/yzma&quot;&gt;hybridgroup/yzma&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Android: &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/examples/llama.android&quot;&gt;llama.android&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;details&gt; 
 &lt;summary&gt;UIs&lt;/summary&gt; 
 &lt;p&gt;&lt;em&gt;(to have a project listed here, it should clearly state that it depends on &lt;code&gt;llama.cpp&lt;/code&gt;)&lt;/em&gt;&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/yaroslavyaroslav/OpenAI-sublime-text&quot;&gt;AI Sublime Text plugin&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://apps.apple.com/us/app/bonzai-your-local-ai-agent/id6752847988&quot;&gt;BonzAI App&lt;/a&gt; (proprietary)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/cztomsik/ava&quot;&gt;cztomsik/ava&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/alexpinel/Dot&quot;&gt;Dot&lt;/a&gt; (GPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/ylsdamxssjxxdd/eva&quot;&gt;eva&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/iohub/coLLaMA&quot;&gt;iohub/collama&lt;/a&gt; (Apache-2.0)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/janhq/jan&quot;&gt;janhq/jan&lt;/a&gt; (AGPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/johnbean393/Sidekick&quot;&gt;johnbean393/Sidekick&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/zhouwg/kantv?tab=readme-ov-file&quot;&gt;KanTV&lt;/a&gt; (Apache-2.0)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/firatkiral/kodibot&quot;&gt;KodiBot&lt;/a&gt; (GPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.vim&quot;&gt;llama.vim&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/abgulati/LARS&quot;&gt;LARS&lt;/a&gt; (AGPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/vietanhdev/llama-assistant&quot;&gt;Llama Assistant&lt;/a&gt; (GPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/undreamai/LlamaLib&quot;&gt;LlamaLib&lt;/a&gt; (Apache-2.0)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/guinmoon/LLMFarm?tab=readme-ov-file&quot;&gt;LLMFarm&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/undreamai/LLMUnity&quot;&gt;LLMUnity&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://lmstudio.ai/&quot;&gt;LMStudio&lt;/a&gt; (proprietary)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/mudler/LocalAI&quot;&gt;LocalAI&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/LostRuins/koboldcpp&quot;&gt;LostRuins/koboldcpp&lt;/a&gt; (AGPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://mindmac.app&quot;&gt;MindMac&lt;/a&gt; (proprietary)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/MindWorkAI/AI-Studio&quot;&gt;MindWorkAI/AI-Studio&lt;/a&gt; (FSL-1.1-MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/Mobile-Artificial-Intelligence/maid&quot;&gt;Mobile-Artificial-Intelligence/maid&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/Mozilla-Ocho/llamafile&quot;&gt;Mozilla-Ocho/llamafile&lt;/a&gt; (Apache-2.0)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nat/openplayground&quot;&gt;nat/openplayground&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nomic-ai/gpt4all&quot;&gt;nomic-ai/gpt4all&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/ollama/ollama&quot;&gt;ollama/ollama&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/oobabooga/text-generation-webui&quot;&gt;oobabooga/text-generation-webui&lt;/a&gt; (AGPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/a-ghorbani/pocketpal-ai&quot;&gt;PocketPal AI&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/psugihara/FreeChat&quot;&gt;psugihara/FreeChat&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/ptsochantaris/emeltal&quot;&gt;ptsochantaris/emeltal&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/pythops/tenere&quot;&gt;pythops/tenere&lt;/a&gt; (AGPL)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/containers/ramalama&quot;&gt;ramalama&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/semperai/amica&quot;&gt;semperai/amica&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/withcatai/catai&quot;&gt;withcatai/catai&lt;/a&gt; (MIT)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/blackhole89/autopen&quot;&gt;Autopen&lt;/a&gt; (GPL)&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;details&gt; 
 &lt;summary&gt;Tools&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/akx/ggify&quot;&gt;akx/ggify&lt;/a&gt; – download PyTorch models from Hugging Face Hub and convert them to GGML&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/akx/ollama-dl&quot;&gt;akx/ollama-dl&lt;/a&gt; – download models from the Ollama library to be used directly with llama.cpp&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/crashr/gppm&quot;&gt;crashr/gppm&lt;/a&gt; – launch llama.cpp instances utilizing NVIDIA Tesla P40 or P100 GPUs with reduced idle power consumption&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/gpustack/gguf-parser-go/tree/main/cmd/gguf-parser&quot;&gt;gpustack/gguf-parser&lt;/a&gt; - review/check the GGUF file and estimate the memory usage&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://marketplace.unity.com/packages/tools/generative-ai/styled-lines-llama-cpp-model-292902&quot;&gt;Styled Lines&lt;/a&gt; (proprietary licensed, async wrapper of inference part for game development in Unity3d with pre-built Mobile and Web platform wrappers and a model example)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/unslothai/unsloth&quot;&gt;unslothai/unsloth&lt;/a&gt; – 🦥 exports/saves fine-tuned and trained models to GGUF (Apache-2.0)&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;details&gt; 
 &lt;summary&gt;Infrastructure&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/intentee/paddler&quot;&gt;Paddler&lt;/a&gt; - Open-source LLMOps platform for hosting and scaling AI in your own infrastructure&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/gpustack/gpustack&quot;&gt;GPUStack&lt;/a&gt; - Manage GPU clusters for running LLMs&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/onicai/llama_cpp_canister&quot;&gt;llama_cpp_canister&lt;/a&gt; - llama.cpp as a smart contract on the Internet Computer, using WebAssembly&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/mostlygeek/llama-swap&quot;&gt;llama-swap&lt;/a&gt; - transparent proxy that adds automatic model switching with llama-server&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/kalavai-net/kalavai-client&quot;&gt;Kalavai&lt;/a&gt; - Crowdsource end to end LLM deployment at any scale&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/InftyAI/llmaz&quot;&gt;llmaz&lt;/a&gt; - ☸️ Easy, advanced inference platform for large language models on Kubernetes.&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/defilantech/llmkube&quot;&gt;LLMKube&lt;/a&gt; - Kubernetes operator for llama.cpp with multi-GPU and Apple Silicon Metal support&quot;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;details&gt; 
 &lt;summary&gt;Games&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/MorganRO8/Lucys_Labyrinth&quot;&gt;Lucy&#39;s Labyrinth&lt;/a&gt; - A simple maze game where agents controlled by an AI model will try to trick you.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;h2&gt;Supported backends&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Backend&lt;/th&gt; 
   &lt;th&gt;Target devices&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#metal-build&quot;&gt;Metal&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Apple Silicon&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#blas-build&quot;&gt;BLAS&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;All&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/BLIS.md&quot;&gt;BLIS&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;All&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/SYCL.md&quot;&gt;SYCL&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Intel GPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/OPENVINO.md&quot;&gt;OpenVINO [In Progress]&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Intel CPUs, GPUs, and NPUs&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#musa&quot;&gt;MUSA&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Moore Threads GPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#cuda&quot;&gt;CUDA&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Nvidia GPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#hip&quot;&gt;HIP&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;AMD GPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#zendnn&quot;&gt;ZenDNN&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;AMD CPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#vulkan&quot;&gt;Vulkan&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;GPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#cann&quot;&gt;CANN&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Ascend NPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/OPENCL.md&quot;&gt;OpenCL&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Adreno GPU&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/zDNN.md&quot;&gt;IBM zDNN&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;IBM Z &amp;amp; LinuxONE&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md#webgpu&quot;&gt;WebGPU&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;All&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/tree/master/tools/rpc&quot;&gt;RPC&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;All&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/snapdragon/README.md&quot;&gt;Hexagon [In Progress]&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Snapdragon&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/backend/VirtGPU.md&quot;&gt;VirtGPU&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;VirtGPU APIR&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Obtaining and quantizing models&lt;/h2&gt; 
&lt;p&gt;The &lt;a href=&quot;https://huggingface.co&quot;&gt;Hugging Face&lt;/a&gt; platform hosts a &lt;a href=&quot;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&quot;&gt;number of LLMs&lt;/a&gt; compatible with &lt;code&gt;llama.cpp&lt;/code&gt;:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&quot;&gt;Trending&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://huggingface.co/models?sort=trending&amp;amp;search=llama+gguf&quot;&gt;LLaMA&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can either manually download the GGUF file or directly use any &lt;code&gt;llama.cpp&lt;/code&gt;-compatible models from &lt;a href=&quot;https://huggingface.co/&quot;&gt;Hugging Face&lt;/a&gt; or other model hosting sites, by using this CLI argument: &lt;code&gt;-hf &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;/code&gt;. For example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;llama-cli -hf ggml-org/gemma-3-1b-it-GGUF
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;By default, the CLI would download from Hugging Face, you can switch to other options with the environment variable &lt;code&gt;MODEL_ENDPOINT&lt;/code&gt;. The &lt;code&gt;MODEL_ENDPOINT&lt;/code&gt; must point to a Hugging Face compatible API endpoint.&lt;/p&gt; 
&lt;p&gt;After downloading a model, use the CLI tools to run it locally - see below.&lt;/p&gt; 
&lt;p&gt;&lt;code&gt;llama.cpp&lt;/code&gt; requires the model to be stored in the &lt;a href=&quot;https://github.com/ggml-org/ggml/raw/master/docs/gguf.md&quot;&gt;GGUF&lt;/a&gt; file format. Models in other data formats can be converted to GGUF using the &lt;code&gt;convert_*.py&lt;/code&gt; Python scripts in this repo.&lt;/p&gt; 
&lt;p&gt;The Hugging Face platform provides a variety of online tools for converting, quantizing and hosting models with &lt;code&gt;llama.cpp&lt;/code&gt;:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Use the &lt;a href=&quot;https://huggingface.co/spaces/ggml-org/gguf-my-repo&quot;&gt;GGUF-my-repo space&lt;/a&gt; to convert to GGUF format and quantize model weights to smaller sizes&lt;/li&gt; 
 &lt;li&gt;Use the &lt;a href=&quot;https://huggingface.co/spaces/ggml-org/gguf-my-lora&quot;&gt;GGUF-my-LoRA space&lt;/a&gt; to convert LoRA adapters to GGUF format (more info: &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/10123&quot;&gt;https://github.com/ggml-org/llama.cpp/discussions/10123&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Use the &lt;a href=&quot;https://huggingface.co/spaces/CISCai/gguf-editor&quot;&gt;GGUF-editor space&lt;/a&gt; to edit GGUF meta data in the browser (more info: &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/9268&quot;&gt;https://github.com/ggml-org/llama.cpp/discussions/9268&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Use the &lt;a href=&quot;https://ui.endpoints.huggingface.co/&quot;&gt;Inference Endpoints&lt;/a&gt; to directly host &lt;code&gt;llama.cpp&lt;/code&gt; in the cloud (more info: &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/9669&quot;&gt;https://github.com/ggml-org/llama.cpp/discussions/9669&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;To learn more about model quantization, &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/quantize/README.md&quot;&gt;read this documentation&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/cli&quot;&gt;&lt;code&gt;llama-cli&lt;/code&gt;&lt;/a&gt;&lt;/h2&gt; 
&lt;h4&gt;A CLI tool for accessing and experimenting with most of &lt;code&gt;llama.cpp&lt;/code&gt;&#39;s functionality.&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt; 
  &lt;details open&gt; 
   &lt;summary&gt;Run in conversation mode&lt;/summary&gt; 
   &lt;p&gt;Models with a built-in chat template will automatically activate conversation mode. If this doesn&#39;t occur, you can manually enable it by adding &lt;code&gt;-cnv&lt;/code&gt; and specifying a suitable chat template with &lt;code&gt;--chat-template NAME&lt;/code&gt;&lt;/p&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;llama-cli -m model.gguf

# &amp;gt; hi, who are you?
# Hi there! I&#39;m your helpful assistant! I&#39;m an AI-powered chatbot designed to assist and provide information to users like you. I&#39;m here to help answer your questions, provide guidance, and offer support on a wide range of topics. I&#39;m a friendly and knowledgeable AI, and I&#39;m always happy to help with anything you need. What&#39;s on your mind, and how can I assist you today?
#
# &amp;gt; what is 1+1?
# Easy peasy! The answer to 1+1 is... 2!
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Run in conversation mode with custom chat template&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# use the &quot;chatml&quot; template (use -h to see the list of supported templates)
llama-cli -m model.gguf -cnv --chat-template chatml

# use a custom template
llama-cli -m model.gguf -cnv --in-prefix &#39;User: &#39; --reverse-prompt &#39;User:&#39;
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Constrain the output with a custom grammar&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;llama-cli -m model.gguf -n 256 --grammar-file grammars/json.gbnf -p &#39;Request: schedule a call at 8pm; Command:&#39;

# {&quot;appointmentTime&quot;: &quot;8pm&quot;, &quot;appointmentDetails&quot;: &quot;schedule a a call&quot;}
&lt;/code&gt;&lt;/pre&gt; 
   &lt;p&gt;The &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/grammars/&quot;&gt;grammars/&lt;/a&gt; folder contains a handful of sample grammars. To write your own, check out the &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/grammars/README.md&quot;&gt;GBNF Guide&lt;/a&gt;.&lt;/p&gt; 
   &lt;p&gt;For authoring more complex JSON grammars, check out &lt;a href=&quot;https://grammar.intrinsiclabs.ai/&quot;&gt;https://grammar.intrinsiclabs.ai/&lt;/a&gt;&lt;/p&gt; 
  &lt;/details&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/server&quot;&gt;&lt;code&gt;llama-server&lt;/code&gt;&lt;/a&gt;&lt;/h2&gt; 
&lt;h4&gt;A lightweight, &lt;a href=&quot;https://github.com/openai/openai-openapi&quot;&gt;OpenAI API&lt;/a&gt; compatible, HTTP server for serving LLMs.&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt; 
  &lt;details open&gt; 
   &lt;summary&gt;Start a local HTTP server with default configuration on port 8080&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;llama-server -m model.gguf --port 8080

# Basic web UI can be accessed via browser: http://localhost:8080
# Chat completion endpoint: http://localhost:8080/v1/chat/completions
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Support multiple-users and parallel decoding&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# up to 4 concurrent requests, each with 4096 max context
llama-server -m model.gguf -c 16384 -np 4
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Enable speculative decoding&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# the draft.gguf model should be a small variant of the target model.gguf
llama-server -m model.gguf -md draft.gguf
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Serve an embedding model&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# use the /embedding endpoint
llama-server -m model.gguf --embedding --pooling cls -ub 8192
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Serve a reranking model&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# use the /reranking endpoint
llama-server -m model.gguf --reranking
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Constrain all outputs with a grammar&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# custom grammar
llama-server -m model.gguf --grammar-file grammar.gbnf

# JSON
llama-server -m model.gguf --grammar-file grammars/json.gbnf
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/perplexity&quot;&gt;&lt;code&gt;llama-perplexity&lt;/code&gt;&lt;/a&gt;&lt;/h2&gt; 
&lt;h4&gt;A tool for measuring the &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/perplexity/README.md&quot;&gt;perplexity&lt;/a&gt; &lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt; (and other quality metrics) of a model over a given text.&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt; 
  &lt;details open&gt; 
   &lt;summary&gt;Measure the perplexity over a text file&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;llama-perplexity -m model.gguf -f file.txt

# [1]15.2701,[2]5.4007,[3]5.3073,[4]6.2965,[5]5.8940,[6]5.6096,[7]5.7942,[8]4.9297, ...
# Final estimate: PPL = 5.4007 +/- 0.67339
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Measure KL divergence&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# TODO
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/llama-bench&quot;&gt;&lt;code&gt;llama-bench&lt;/code&gt;&lt;/a&gt;&lt;/h2&gt; 
&lt;h4&gt;Benchmark the performance of the inference for various parameters.&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt; 
  &lt;details open&gt; 
   &lt;summary&gt;Run default benchmark&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;llama-bench -m model.gguf

# Output:
# | model               |       size |     params | backend    | threads |          test |                  t/s |
# | ------------------- | ---------: | ---------: | ---------- | ------: | ------------: | -------------------: |
# | qwen2 1.5B Q4_0     | 885.97 MiB |     1.54 B | Metal,BLAS |      16 |         pp512 |      5765.41 ± 20.55 |
# | qwen2 1.5B Q4_0     | 885.97 MiB |     1.54 B | Metal,BLAS |      16 |         tg128 |        197.71 ± 0.81 |
#
# build: 3e0ba0e60 (4229)
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/examples/simple&quot;&gt;&lt;code&gt;llama-simple&lt;/code&gt;&lt;/a&gt;&lt;/h2&gt; 
&lt;h4&gt;A minimal example for implementing apps with &lt;code&gt;llama.cpp&lt;/code&gt;. Useful for developers.&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt; 
  &lt;details&gt; 
   &lt;summary&gt;Basic text completion&lt;/summary&gt; 
   &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;llama-simple -m model.gguf

# Hello my name is Kaitlyn and I am a 16 year old girl. I am a junior in high school and I am currently taking a class called &quot;The Art of
&lt;/code&gt;&lt;/pre&gt; 
  &lt;/details&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Contributors can open PRs&lt;/li&gt; 
 &lt;li&gt;Collaborators will be invited based on contributions&lt;/li&gt; 
 &lt;li&gt;Maintainers can push to branches in the &lt;code&gt;llama.cpp&lt;/code&gt; repo and merge PRs into the &lt;code&gt;master&lt;/code&gt; branch&lt;/li&gt; 
 &lt;li&gt;Any help with managing issues, PRs and projects is very appreciated!&lt;/li&gt; 
 &lt;li&gt;See &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22&quot;&gt;good first issues&lt;/a&gt; for tasks suitable for first contributions&lt;/li&gt; 
 &lt;li&gt;Read the &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for more information&lt;/li&gt; 
 &lt;li&gt;Make sure to read this: &lt;a href=&quot;https://github.com/ggml-org/llama.cpp/discussions/205&quot;&gt;Inference at the edge&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;A bit of backstory for those who are interested: &lt;a href=&quot;https://changelog.com/podcast/532&quot;&gt;Changelog podcast&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Other documentation&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/cli/README.md&quot;&gt;cli&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/completion/README.md&quot;&gt;completion&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/tools/server/README.md&quot;&gt;server&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/grammars/README.md&quot;&gt;GBNF grammars&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Development documentation&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/build.md&quot;&gt;How to build&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/docker.md&quot;&gt;Running on Docker&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/android.md&quot;&gt;Build on Android&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/multi-gpu.md&quot;&gt;Multi-GPU usage&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/docs/development/token_generation_performance_tips.md&quot;&gt;Performance troubleshooting&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ggml-org/llama.cpp/wiki/GGML-Tips-&amp;amp;-Tricks&quot;&gt;GGML tips &amp;amp; tricks&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Seminal papers and background on the models&lt;/h4&gt; 
&lt;p&gt;If your issue is with model generation quality, then please at least scan the following links and papers to understand the limitations of LLaMA models. This is especially important when choosing an appropriate model size and appreciating both the significant and subtle differences between LLaMA models and ChatGPT:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;LLaMA: 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://ai.facebook.com/blog/large-language-model-llama-meta-ai/&quot;&gt;Introducing LLaMA: A foundational, 65-billion-parameter large language model&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/2302.13971&quot;&gt;LLaMA: Open and Efficient Foundation Language Models&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;GPT-3 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/2005.14165&quot;&gt;Language Models are Few-Shot Learners&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;GPT-3.5 / InstructGPT / ChatGPT: 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://openai.com/research/instruction-following&quot;&gt;Aligning language models to follow instructions&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/2203.02155&quot;&gt;Training language models to follow instructions with human feedback&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;XCFramework&lt;/h2&gt; 
&lt;p&gt;The XCFramework is a precompiled version of the library for iOS, visionOS, tvOS, and macOS. It can be used in Swift projects without the need to compile the library from source. For example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-swift&quot;&gt;// swift-tools-version: 5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: &quot;MyLlamaPackage&quot;,
    targets: [
        .executableTarget(
            name: &quot;MyLlamaPackage&quot;,
            dependencies: [
                &quot;LlamaFramework&quot;
            ]),
        .binaryTarget(
            name: &quot;LlamaFramework&quot;,
            url: &quot;https://github.com/ggml-org/llama.cpp/releases/download/b5046/llama-b5046-xcframework.zip&quot;,
            checksum: &quot;c19be78b5f00d8d29a25da41042cb7afa094cbf6280a225abe614b03b20029ab&quot;
        )
    ]
)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The above example is using an intermediate build &lt;code&gt;b5046&lt;/code&gt; of the library. This can be modified to use a different version by changing the URL and checksum.&lt;/p&gt; 
&lt;h2&gt;Completions&lt;/h2&gt; 
&lt;p&gt;Command-line completion is available for some environments.&lt;/p&gt; 
&lt;h4&gt;Bash Completion&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ build/bin/llama-cli --completion-bash &amp;gt; ~/.llama-completion.bash
$ source ~/.llama-completion.bash
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Optionally this can be added to your &lt;code&gt;.bashrc&lt;/code&gt; or &lt;code&gt;.bash_profile&lt;/code&gt; to load it automatically. For example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-console&quot;&gt;$ echo &quot;source ~/.llama-completion.bash&quot; &amp;gt;&amp;gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Dependencies&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/yhirose/cpp-httplib&quot;&gt;yhirose/cpp-httplib&lt;/a&gt; - Single-header HTTP server, used by &lt;code&gt;llama-server&lt;/code&gt; - MIT license&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/nothings/stb&quot;&gt;stb-image&lt;/a&gt; - Single-header image format decoder, used by multimodal subsystem - Public domain&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/nlohmann/json&quot;&gt;nlohmann/json&lt;/a&gt; - Single-header JSON library, used by various tools/examples - MIT License&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/mackron/miniaudio&quot;&gt;miniaudio.h&lt;/a&gt; - Single-header audio format decoder, used by multimodal subsystem - Public domain&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sheredom/subprocess.h&quot;&gt;subprocess.h&lt;/a&gt; - Single-header process launching solution for C and C++ - Public domain&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr class=&quot;footnotes-sep&quot; /&gt; 
&lt;section class=&quot;footnotes&quot;&gt; 
 &lt;ol class=&quot;footnotes-list&quot;&gt; 
  &lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://huggingface.co/docs/transformers/perplexity&quot;&gt;https://huggingface.co/docs/transformers/perplexity&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/ggml-org/llama.cpp/master/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/section&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/612354784/c59e3320-a236-4182-941f-ea3f1a0f50e7" medium="image" />
      
    </item>
    
    <item>
      <title>ElyPrismLauncher/Launcher</title>
      <link>https://github.com/ElyPrismLauncher/Launcher</link>
      <description>&lt;p&gt;This fork of Prism Launcher adds integrated support for Ely.by accounts.&lt;/p&gt;&lt;hr&gt;&lt;div class=&quot;markdown-alert markdown-alert-caution&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-stop mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Caution&lt;/p&gt;
 &lt;p&gt;&lt;strong&gt;There&#39;s now malicious links in the wild that disguise themselves as this project.&lt;/strong&gt;&lt;/p&gt; 
 &lt;p&gt;Make sure that you download PineconeMC from &lt;code&gt;elyprismlauncher.github.io&lt;/code&gt; and/or &lt;code&gt;pineconemc.ru&lt;/code&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p align=&quot;center&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;/program_info/ru.pineconemc.launcher.logo-darkmode.svg&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;/program_info/ru.pineconemc.launcher.logo.svg&quot; /&gt; 
  &lt;img alt=&quot;ru.pineconemc.launcher&quot; src=&quot;https://raw.githubusercontent.com/ElyPrismLauncher/Launcher/develop/program_info/ru.pineconemc.launcher.logo.svg?sanitize=true&quot; width=&quot;40%&quot; /&gt; 
 &lt;/picture&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; This &lt;b&gt;fork&lt;/b&gt; of Prism Launcher adds integrated support for Ely.by accounts (MSA accounts can still be used)&lt;br /&gt; &lt;br /&gt;This is &lt;b&gt;not&lt;/b&gt; endorsed by Prism Launcher or Ely.by. &lt;/p&gt; 
&lt;h2&gt;Why this fork?&lt;/h2&gt; 
&lt;p&gt;There are already quite a few forks out in the wild that add &lt;a href=&quot;http://Ely.by&quot;&gt;Ely.by&lt;/a&gt; support and/or disable the Microsoft account requirement. This fork goes beyond simply adding a login-password prompt and authlib-injector download.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Modern and secure login: PineconeMC uses OAuth2 to log you in. This means that your credentials are never transferred to the launcher. Instead, you log into your account on the official &lt;a href=&quot;http://Ely.by&quot;&gt;Ely.by&lt;/a&gt; page in the browser, and &lt;a href=&quot;http://Ely.by&quot;&gt;Ely.by&lt;/a&gt; gives the launcher a token to access your account with limited privileges.&lt;/li&gt; 
 &lt;li&gt;Skins support on servers: All other forks rely exclusively on authlib-injector to patch Minecraft to support &lt;a href=&quot;http://Ely.by&quot;&gt;Ely.by&lt;/a&gt;. But authlib-injector can&#39;t provide skins on servers that don&#39;t have a special skins plugin installed. PineconeMC uses &lt;a href=&quot;http://Ely.by&quot;&gt;Ely.by&lt;/a&gt;&#39;s official Authlib patches, allowing you to see skins anywhere&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;All downloads and instructions for PineconeMC can be found on the &lt;a href=&quot;https://github.com/ElyPrismLauncher/Launcher/releases/latest&quot;&gt;Releases&lt;/a&gt; page.&lt;/li&gt; 
 &lt;li&gt;Last build status can be found in the &lt;a href=&quot;https://github.com/ElyPrismLauncher/Launcher/actions&quot;&gt;GitHub Actions&lt;/a&gt; tab.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Development Builds&lt;/h3&gt; 
&lt;p&gt;Please understand that these builds are not intended for most users. There may be bugs, and other instabilities. You have been warned.&lt;/p&gt; 
&lt;p&gt;There are development builds available through:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ElyPrismLauncher/Launcher/actions&quot;&gt;GitHub Actions&lt;/a&gt; (includes builds from pull requests opened by contributors)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/ElyPrismLauncher/Launcher/workflows/build/develop&quot;&gt;nightly.link&lt;/a&gt; (this will always point only to the latest version of develop)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;These have debug information in the binaries, so their file sizes are relatively larger.&lt;/p&gt; 
&lt;h2&gt;Community &amp;amp; Support&lt;/h2&gt; 
&lt;p&gt;Feel free to create a GitHub issue if you find a bug or want to suggest a new feature. We have a Discord server where other community members can help you:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://discord.gg/5kcBCvnbTp&quot;&gt;&lt;img src=&quot;https://discordapp.com/api/guilds/1201522867901313045/widget.png?style=banner3&quot; alt=&quot;Octol1ttle&#39;s Studio Discord server&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Building&lt;/h2&gt; 
&lt;p&gt;If you want to build PineconeMC yourself, check the &lt;a href=&quot;https://prismlauncher.org/wiki/development/build-instructions&quot;&gt;build instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;The following comes from the original Prism Launcher README&lt;/h2&gt; 
&lt;h3&gt;Forking/Redistributing/Custom builds policy&lt;/h3&gt; 
&lt;p&gt;You are free to fork, redistribute and provide custom builds as long as you follow the terms of the &lt;a href=&quot;https://raw.githubusercontent.com/ElyPrismLauncher/Launcher/develop/LICENSE&quot;&gt;license&lt;/a&gt; (this is a legal responsibility), and if you made code changes rather than just packaging a custom build, please do the following as a basic courtesy:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Make it clear that your fork is not Prism Launcher and is not endorsed by or affiliated with the Prism Launcher project (&lt;a href=&quot;https://prismlauncher.org&quot;&gt;https://prismlauncher.org&lt;/a&gt;).&lt;/li&gt; 
 &lt;li&gt;Go through &lt;a href=&quot;https://raw.githubusercontent.com/ElyPrismLauncher/Launcher/develop/CMakeLists.txt&quot;&gt;CMakeLists.txt&lt;/a&gt; and change Prism Launcher&#39;s API keys to your own or set them to empty strings (&lt;code&gt;&quot;&quot;&lt;/code&gt;) to disable them (this way the program will still compile but the functionality requiring those keys will be disabled).&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you have any questions or want any clarification on the above conditions please make an issue and ask us.&lt;/p&gt; 
&lt;p&gt;If you are just building Prism Launcher for your distribution, please make sure to set the &lt;code&gt;Launcher_BUILD_PLATFORM&lt;/code&gt; to a slug representing your distribution. Examples are &lt;code&gt;archlinux&lt;/code&gt;, &lt;code&gt;fedora&lt;/code&gt; and &lt;code&gt;nixpkgs&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;Note that if you build this software without removing the provided API keys in &lt;a href=&quot;https://raw.githubusercontent.com/ElyPrismLauncher/Launcher/develop/CMakeLists.txt&quot;&gt;CMakeLists.txt&lt;/a&gt; you are accepting the following terms and conditions:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/legal/microsoft-identity-platform/terms-of-use&quot;&gt;Microsoft Identity Platform Terms of Use&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.curseforge.com/en/support/solutions/articles/9000207405-curse-forge-3rd-party-api-terms-and-conditions&quot;&gt;CurseForge 3rd Party API Terms and Conditions&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you do not agree with these terms and conditions, then remove the associated API keys from the &lt;a href=&quot;https://raw.githubusercontent.com/ElyPrismLauncher/Launcher/develop/CMakeLists.txt&quot;&gt;CMakeLists.txt&lt;/a&gt; file by setting them to an empty string (&lt;code&gt;&quot;&quot;&lt;/code&gt;).&lt;/p&gt; 
&lt;h3&gt;License &lt;a href=&quot;https://raw.githubusercontent.com/ElyPrismLauncher/Launcher/develop/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/license/PrismLauncher/PrismLauncher?label=License&amp;amp;logo=gnu&amp;amp;color=C4282D&quot; alt=&quot;https://github.com/PrismLauncher/PrismLauncher/blob/develop/LICENSE&quot; /&gt;&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;All launcher code is available under the GPL-3.0-only license.&lt;/p&gt; 
&lt;p&gt;The logo and related assets are under the CC BY-SA 4.0 license.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/b01b36f853920517cae824627a6c87ffaa39fb34efabd0d04e0aa3b1a76e9f8a/ElyPrismLauncher/Launcher" medium="image" />
      
    </item>
    
    <item>
      <title>shadps4-emu/shadPS4</title>
      <link>https://github.com/shadps4-emu/shadPS4</link>
      <description>&lt;p&gt;PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++&lt;/p&gt;&lt;hr&gt;&lt;h1 align=&quot;center&quot;&gt; &lt;br /&gt; &lt;a href=&quot;https://shadps4.net/&quot;&gt;&lt;img src=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/.github/shadps4.png&quot; width=&quot;220&quot; /&gt;&lt;/a&gt; &lt;br /&gt; &lt;b&gt;shadPS4&lt;/b&gt; &lt;br /&gt; &lt;/h1&gt; 
&lt;h1 align=&quot;center&quot;&gt; &lt;a href=&quot;https://discord.gg/bFJxfftGW6&quot;&gt; &lt;img src=&quot;https://img.shields.io/discord/1080089157554155590?color=5865F2&amp;amp;label=shadPS4%20Discord&amp;amp;logo=Discord&amp;amp;logoColor=white&quot; width=&quot;275&quot; /&gt; &lt;/a&gt;&lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/releases/latest&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/downloads/shadps4-emu/shadPS4/total.svg?sanitize=true&quot; width=&quot;140&quot; /&gt; &lt;/a&gt;&lt;a href=&quot;https://shadps4.net/&quot;&gt; &lt;img src=&quot;https://img.shields.io/badge/shadPS4-website-8A2BE2&quot; width=&quot;150&quot; /&gt; &lt;/a&gt;&lt;a href=&quot;https://x.com/shadps4&quot;&gt; &lt;img src=&quot;https://img.shields.io/badge/-Join%20us-black?logo=X&amp;amp;logoColor=white&quot; width=&quot;100&quot; /&gt; &lt;/a&gt;&lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/stargazers&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/stars/shadps4-emu/shadPS4&quot; width=&quot;120&quot; /&gt; &lt;/a&gt;&lt;/h1&gt;
&lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/stargazers&quot;&gt; 
 &lt;table&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;text-align:center&quot;&gt;Bloodborne by From Software&lt;/th&gt; 
    &lt;th style=&quot;text-align:center&quot;&gt;Hatsune Miku Project DIVA Future Tone by SEGA&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/shadps4-emu/shadPS4/main/documents/Screenshots/1.png&quot; alt=&quot;Bloodborne screenshot&quot; /&gt;&lt;/td&gt; 
    &lt;td style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/shadps4-emu/shadPS4/main/documents/Screenshots/2.png&quot; alt=&quot;Project DIVA screenshot&quot; /&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
 &lt;table&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;text-align:center&quot;&gt;Yakuza 0 by SEGA&lt;/th&gt; 
    &lt;th style=&quot;text-align:center&quot;&gt;DRIVECLUB™ by Evolution Studios&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/shadps4-emu/shadPS4/main/documents/Screenshots/3.png&quot; alt=&quot;Yakuza screenshot&quot; /&gt;&lt;/td&gt; 
    &lt;td style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/shadps4-emu/shadPS4/main/documents/Screenshots/4.png&quot; alt=&quot;DRIVECLUB screenshot&quot; /&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; &lt;h1&gt;General information&lt;/h1&gt; &lt;p&gt;&lt;strong&gt;shadPS4&lt;/strong&gt; is an early &lt;strong&gt;PlayStation 4&lt;/strong&gt; emulator for &lt;strong&gt;Windows&lt;/strong&gt;, &lt;strong&gt;Linux&lt;/strong&gt; and &lt;strong&gt;macOS&lt;/strong&gt; written in C++.&lt;/p&gt; &lt;/a&gt;
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/stargazers&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;
   &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
    &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
   &lt;/svg&gt;Important&lt;/p&gt;&lt;p&gt;This is the emulator core, which does not include a GUI. If you just want to use the emulator as an end user, download the &lt;a href=&quot;https://github.com/shadps4-emu/shadps4-qtlauncher/releases&quot;&gt;&lt;strong&gt;QtLauncher&lt;/strong&gt;&lt;/a&gt; instead.&lt;/p&gt;&lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;If you encounter problems or have doubts, do not hesitate to look at the &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/wiki/I.-Quick-start-%5BUsers%5D&quot;&gt;&lt;strong&gt;Quickstart&lt;/strong&gt;&lt;/a&gt;.&lt;br /&gt; To verify that a game works, you can look at &lt;a href=&quot;https://github.com/shadps4-compatibility/shadps4-game-compatibility&quot;&gt;&lt;strong&gt;shadPS4 Game Compatibility&lt;/strong&gt;&lt;/a&gt;.&lt;br /&gt; To discuss shadPS4 development, suggest ideas or to ask for help, join our &lt;a href=&quot;https://discord.gg/bFJxfftGW6&quot;&gt;&lt;strong&gt;Discord server&lt;/strong&gt;&lt;/a&gt;.&lt;br /&gt; To get the latest news, go to our &lt;a href=&quot;https://x.com/shadps4&quot;&gt;&lt;strong&gt;X (Twitter)&lt;/strong&gt;&lt;/a&gt; or our &lt;a href=&quot;https://shadps4.net/&quot;&gt;&lt;strong&gt;website&lt;/strong&gt;&lt;/a&gt;.&lt;br /&gt; You can donate to the project via our &lt;a href=&quot;https://ko-fi.com/shadps4&quot;&gt;&lt;strong&gt;Kofi page&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Status&lt;/h1&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;shadPS4 is early in development, don&#39;t expect a flawless experience.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;Currently, the emulator can successfully run games like &lt;a href=&quot;https://www.youtube.com/watch?v=5sZgWyVflFM&quot;&gt;&lt;strong&gt;Bloodborne&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=-3PA-Xwszts&quot;&gt;&lt;strong&gt;Dark Souls Remastered&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=Al7yz_5nLag&quot;&gt;&lt;strong&gt;Red Dead Redemption&lt;/strong&gt;&lt;/a&gt;, and many other games.&lt;/p&gt; 
&lt;h1&gt;Why&lt;/h1&gt; 
&lt;p&gt;This project began for fun. Given our limited free time, it may take some time before shadPS4 can run more complex games, but we&#39;re committed to making small, regular updates.&lt;/p&gt; 
&lt;h1&gt;Building&lt;/h1&gt; 
&lt;h2&gt;Docker&lt;/h2&gt; 
&lt;p&gt;For building shadPS4 in a containerized environment using Docker and VSCode, check the instructions here:&lt;br /&gt; &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/documents/building-docker.md&quot;&gt;&lt;strong&gt;Docker Build Instructions&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Windows&lt;/h2&gt; 
&lt;p&gt;Check the build instructions for &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/documents/building-windows.md&quot;&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Linux&lt;/h2&gt; 
&lt;p&gt;Check the build instructions for &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/documents/building-linux.md&quot;&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;macOS&lt;/h2&gt; 
&lt;p&gt;Check the build instructions for &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/documents/building-macos.md&quot;&gt;&lt;strong&gt;macOS&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;macOS users need at least macOS 15.4 to run shadPS4. Due to GPU issues there are currently heavy bugs on Intel Macs.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h1&gt;Usage examples&lt;/h1&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;For a user-friendly GUI, download the &lt;a href=&quot;https://github.com/shadps4-emu/shadps4-qtlauncher/releases&quot;&gt;&lt;strong&gt;QtLauncher&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;To get the list of all available commands and also a more detailed description of what each command does, please refer to the &lt;code&gt;--help&lt;/code&gt; flag&#39;s output.&lt;/p&gt; 
&lt;p&gt;Below is a list of commonly used command patterns:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;shadPS4 CUSA00001 # Searches for a game folder called CUSA00001 in the list of game install folders, and boots it.
shadPS4 --fullscreen true --config-clean CUSA00001    # the game argument is always the last one,
shadPS4 -g CUSA00001 --fullscreen true --config-clean # ...unless manually specified otherwise.
shadPS4 /path/to/game.elf # Boots a PS4 ELF file directly. Useful if you want to boot an executable that is not named eboot.bin.
shadPS4 CUSA00001 -- -flag1 -flag2 # Passes &#39;-flag1&#39; and &#39;-flag2&#39; to the game executable in argv.
&lt;/code&gt;&lt;/pre&gt; 
&lt;h1&gt;Debugging and reporting issues&lt;/h1&gt; 
&lt;p&gt;For more information on how to test, debug and report issues with the emulator or games, read the &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/documents/Debugging/Debugging.md&quot;&gt;&lt;strong&gt;Debugging documentation&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Keyboard and Mouse Mappings&lt;/h1&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Some keyboards may also require you to hold the Fn key to use the F* keys. Mac users should use the Command key instead of Control, and need to use Command+F11 for full screen to avoid conflicting with system key bindings.&lt;/p&gt; 
&lt;/div&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Button&lt;/th&gt; 
   &lt;th&gt;Function&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F10&lt;/td&gt; 
   &lt;td&gt;FPS Counter&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ctrl+F10&lt;/td&gt; 
   &lt;td&gt;Video Debug Info&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F11&lt;/td&gt; 
   &lt;td&gt;Fullscreen&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F12&lt;/td&gt; 
   &lt;td&gt;Trigger RenderDoc Capture (or game-only screenshot if RenderDoc is unavailable)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Alt+F12&lt;/td&gt; 
   &lt;td&gt;Capture screenshot including HUD/dialog overlays&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Xbox and DualShock controllers work out of the box.&lt;/p&gt; 
&lt;/div&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Controller button&lt;/th&gt; 
   &lt;th&gt;Keyboard equivalent&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;LEFT AXIS UP&lt;/td&gt; 
   &lt;td&gt;W&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;LEFT AXIS DOWN&lt;/td&gt; 
   &lt;td&gt;S&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;LEFT AXIS LEFT&lt;/td&gt; 
   &lt;td&gt;A&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;LEFT AXIS RIGHT&lt;/td&gt; 
   &lt;td&gt;D&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;RIGHT AXIS UP&lt;/td&gt; 
   &lt;td&gt;I&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;RIGHT AXIS DOWN&lt;/td&gt; 
   &lt;td&gt;K&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;RIGHT AXIS LEFT&lt;/td&gt; 
   &lt;td&gt;J&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;RIGHT AXIS RIGHT&lt;/td&gt; 
   &lt;td&gt;L&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;TRIANGLE&lt;/td&gt; 
   &lt;td&gt;Numpad 8 or C&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;CIRCLE&lt;/td&gt; 
   &lt;td&gt;Numpad 6 or B&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;CROSS&lt;/td&gt; 
   &lt;td&gt;Numpad 2 or N&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;SQUARE&lt;/td&gt; 
   &lt;td&gt;Numpad 4 or V&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;PAD UP&lt;/td&gt; 
   &lt;td&gt;UP&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;PAD DOWN&lt;/td&gt; 
   &lt;td&gt;DOWN&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;PAD LEFT&lt;/td&gt; 
   &lt;td&gt;LEFT&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;PAD RIGHT&lt;/td&gt; 
   &lt;td&gt;RIGHT&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;OPTIONS&lt;/td&gt; 
   &lt;td&gt;RETURN&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;BACK BUTTON / TOUCH PAD&lt;/td&gt; 
   &lt;td&gt;SPACE&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;L1&lt;/td&gt; 
   &lt;td&gt;Q&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;R1&lt;/td&gt; 
   &lt;td&gt;U&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;L2&lt;/td&gt; 
   &lt;td&gt;E&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;R2&lt;/td&gt; 
   &lt;td&gt;O&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;L3&lt;/td&gt; 
   &lt;td&gt;X&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;R3&lt;/td&gt; 
   &lt;td&gt;M&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Keyboard and mouse inputs can be customized in the settings menu by clicking the Controller button, and further details and help on controls are also found there. Custom bindings are saved per-game. Inputs support up to three keys per binding, mouse buttons, mouse movement mapped to joystick input, and more.&lt;/p&gt; 
&lt;h1&gt;Firmware files&lt;/h1&gt; 
&lt;p&gt;shadPS4 can load some PlayStation 4 firmware files. The following firmware modules are supported and must be placed in shadPS4&#39;s &lt;code&gt;sys_modules&lt;/code&gt; folder.&lt;/p&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;table&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th&gt;Modules&lt;/th&gt; 
    &lt;th&gt;Modules&lt;/th&gt; 
    &lt;th&gt;Modules&lt;/th&gt; 
    &lt;th&gt;Modules&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td&gt;libSceAudiodec.sprx&lt;/td&gt; 
    &lt;td&gt;libSceCesCs.sprx&lt;/td&gt; 
    &lt;td&gt;libSceFont.sprx&lt;/td&gt; 
    &lt;td&gt;libSceFontFt.sprx&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td&gt;libSceFreeTypeOt.sprx&lt;/td&gt; 
    &lt;td&gt;libSceJpegDec.sprx&lt;/td&gt; 
    &lt;td&gt;libSceJpegEnc.sprx&lt;/td&gt; 
    &lt;td&gt;libSceJson.sprx&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td&gt;libSceJson2.sprx&lt;/td&gt; 
    &lt;td&gt;libSceLibcInternal.sprx&lt;/td&gt; 
    &lt;td&gt;libSceNgs2.sprx&lt;/td&gt; 
    &lt;td&gt;libScePngEnc.sprx&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td&gt;libSceRtc.sprx&lt;/td&gt; 
    &lt;td&gt;libSceSystemGesture.sprx&lt;/td&gt; 
    &lt;td&gt;libSceUlt.sprx&lt;/td&gt; 
    &lt;td&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-caution&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-stop mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Caution&lt;/p&gt;
 &lt;p&gt;The above modules are required to run the games properly and must be dumped from your legally owned PlayStation 4 console.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h1&gt;Main team&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/georgemoralis&quot;&gt;&lt;strong&gt;georgemoralis&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/psucien&quot;&gt;&lt;strong&gt;psucien&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/viniciuslrangel&quot;&gt;&lt;strong&gt;viniciuslrangel&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/roamic&quot;&gt;&lt;strong&gt;roamic&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/squidbus&quot;&gt;&lt;strong&gt;squidbus&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/baggins183&quot;&gt;&lt;strong&gt;frodo&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/StevenMiller123&quot;&gt;&lt;strong&gt;Stephen Miller&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/kalaposfos13&quot;&gt;&lt;strong&gt;kalaposfos13&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Logo is done by &lt;a href=&quot;https://github.com/Xphalnos&quot;&gt;&lt;strong&gt;Xphalnos&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/graphs/contributors&quot;&gt; &lt;img src=&quot;https://contrib.rocks/image?repo=shadps4-emu/shadPS4&amp;amp;max=24&quot; /&gt; &lt;/a&gt; 
&lt;h1&gt;Contributing&lt;/h1&gt; 
&lt;p&gt;If you want to contribute, please read the &lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/CONTRIBUTING.md&quot;&gt;&lt;strong&gt;CONTRIBUTING.md&lt;/strong&gt;&lt;/a&gt; file.&lt;br /&gt; Open a PR and we&#39;ll check it 😃&lt;/p&gt; 
&lt;h1&gt;Special Thanks&lt;/h1&gt; 
&lt;p&gt;A few noteworthy teams/projects who&#39;ve helped us along the way are:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/wheremyfoodat/Panda3DS&quot;&gt;&lt;strong&gt;Panda3DS&lt;/strong&gt;&lt;/a&gt;: A multiplatform 3DS emulator from our co-author wheremyfoodat. They have been incredibly helpful in understanding and solving problems that came up from natively executing the x64 code of PS4 binaries&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/red-prig/fpPS4&quot;&gt;&lt;strong&gt;fpPS4&lt;/strong&gt;&lt;/a&gt;: The fpPS4 team has assisted massively with understanding some of the more complex parts of the PS4 operating system and libraries, by helping with reverse engineering work and research.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;yuzu&lt;/strong&gt;: Our shader compiler has been designed with yuzu&#39;s Hades compiler as a blueprint. This allowed us to focus on the challenges of emulating a modern AMD GPU while having a high-quality optimizing shader compiler implementation as a base.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/OFFTKP/felix86&quot;&gt;&lt;strong&gt;felix86&lt;/strong&gt;&lt;/a&gt;: A new x86-64 → RISC-V Linux userspace emulator&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://emudev.org/&quot;&gt;&lt;strong&gt;emudev.org&lt;/strong&gt;&lt;/a&gt;: A network of people interested in the documentation, emulation, simulation and re-implementation of hardware near extinction . Belongs to my friend skmp and me (shadow) also a member of it&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;License&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/shadps4-emu/shadPS4/raw/main/LICENSE&quot;&gt;&lt;strong&gt;GPL-2.0 license&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/01ba828f56e15fbef3f3df5a6a203a370b0f9a764afa900920191195066d9f81/shadps4-emu/shadPS4" medium="image" />
      
    </item>
    
    <item>
      <title>chriskohlhoff/asio</title>
      <link>https://github.com/chriskohlhoff/asio</link>
      <description>&lt;p&gt;Asio C++ Library&lt;/p&gt;&lt;hr&gt;&lt;p&gt;asio version 1.38.0 Released Tuesday, 30 December 2025.&lt;/p&gt; 
&lt;p&gt;Visit &lt;a href=&quot;https://think-async.com/&quot;&gt;https://think-async.com/&lt;/a&gt; or see packaged doc/index.html for API documentation and a tutorial.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/26db2884f540b652dea2a3e308317b15139c0048c62f5a05df51c46d44a3b84d/chriskohlhoff/asio" medium="image" />
      
    </item>
    
    <item>
      <title>ceph/ceph</title>
      <link>https://github.com/ceph/ceph</link>
      <description>&lt;p&gt;Ceph is a distributed object, block, and file storage platform&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Ceph - a scalable distributed storage system&lt;/h1&gt; 
&lt;p&gt;See &lt;a href=&quot;https://ceph.com/&quot;&gt;https://ceph.com/&lt;/a&gt; for current information about Ceph.&lt;/p&gt; 
&lt;h2&gt;Status&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.bestpractices.dev/projects/2220&quot;&gt;&lt;img src=&quot;https://www.bestpractices.dev/projects/2220/badge&quot; alt=&quot;OpenSSF Best Practices&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ceph/ceph/actions/workflows/create-backport-trackers.yml&quot;&gt;&lt;img src=&quot;https://github.com/ceph/ceph/actions/workflows/create-backport-trackers.yml/badge.svg?sanitize=true&quot; alt=&quot;Issue Backporting&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Contributing Code&lt;/h2&gt; 
&lt;p&gt;Most of Ceph is dual-licensed under the LGPL version 2.1 or 3.0. Some miscellaneous code is either public domain or licensed under a BSD-style license.&lt;/p&gt; 
&lt;p&gt;The Ceph documentation is licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0).&lt;/p&gt; 
&lt;p&gt;Some headers included in the &lt;code&gt;ceph/ceph&lt;/code&gt; repository are licensed under the GPL. See the file &lt;code&gt;COPYING&lt;/code&gt; for a full inventory of licenses by file.&lt;/p&gt; 
&lt;p&gt;All code contributions must include a valid &quot;Signed-off-by&quot; line. See the file &lt;code&gt;SubmittingPatches.rst&lt;/code&gt; for details on this and instructions on how to generate and submit patches.&lt;/p&gt; 
&lt;p&gt;Assignment of copyright is not required to contribute code. Code is contributed under the terms of the applicable license.&lt;/p&gt; 
&lt;h2&gt;Checking out the source&lt;/h2&gt; 
&lt;p&gt;Clone the ceph/ceph repository from github by running the following command on a system that has git installed:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone git@github.com:ceph/ceph
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Alternatively, if you are not a github user, you should run the following command on a system that has git installed:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/ceph/ceph.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;When the &lt;code&gt;ceph/ceph&lt;/code&gt; repository has been cloned to your system, run the following commands to move into the cloned &lt;code&gt;ceph/ceph&lt;/code&gt; repository and to check out the git submodules associated with it:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cd ceph
git submodule update --init --recursive --progress
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Build Prerequisites&lt;/h2&gt; 
&lt;p&gt;&lt;em&gt;section last updated 06 Sep 2024&lt;/em&gt;&lt;/p&gt; 
&lt;p&gt;We provide the Debian and Ubuntu &lt;code&gt;apt&lt;/code&gt; commands in this procedure. If you use a system with a different package manager, then you will have to use different commands.&lt;/p&gt; 
&lt;p&gt;#. Install &lt;code&gt;curl&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;apt install curl
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;#. Install package dependencies by running the &lt;code&gt;install-deps.sh&lt;/code&gt; script:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;./install-deps.sh
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;#. Install the &lt;code&gt;python3-routes&lt;/code&gt; package:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;apt install python3-routes
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Building Ceph&lt;/h2&gt; 
&lt;p&gt;These instructions are meant for developers who are compiling the code for development and testing. To build binaries that are suitable for installation we recommend that you build &lt;code&gt;.deb&lt;/code&gt; or &lt;code&gt;.rpm&lt;/code&gt; packages, or refer to &lt;code&gt;ceph.spec.in&lt;/code&gt; or &lt;code&gt;debian/rules&lt;/code&gt; to see which configuration options are specified for production builds.&lt;/p&gt; 
&lt;p&gt;To build Ceph, follow this procedure:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt; &lt;p&gt;Make sure that you are in the top-level &lt;code&gt;ceph&lt;/code&gt; directory that contains &lt;code&gt;do_cmake.sh&lt;/code&gt; and &lt;code&gt;CONTRIBUTING.rst&lt;/code&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Run the &lt;code&gt;do_cmake.sh&lt;/code&gt; script:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;./do_cmake.sh
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/ceph/ceph/main/#build-types&quot;&gt;build types&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Move into the &lt;code&gt;build&lt;/code&gt; directory:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;cd build
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Use the &lt;code&gt;ninja&lt;/code&gt; buildsystem to build the development environment:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;ninja -j3
&lt;/code&gt;&lt;/pre&gt; 
  &lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
   &lt;p class=&quot;markdown-alert-title&quot;&gt;
    &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
     &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
    &lt;/svg&gt;Important&lt;/p&gt;
   &lt;p&gt;&lt;/p&gt; 
   &lt;p&gt;&lt;a href=&quot;https://ninja-build.org/&quot;&gt;Ninja&lt;/a&gt; is the build system used by the Ceph project to build test builds. The number of jobs used by &lt;code&gt;ninja&lt;/code&gt; is derived from the number of CPU cores of the building host if unspecified. Use the &lt;code&gt;-j&lt;/code&gt; option to limit the job number if build jobs are running out of memory. If you attempt to run &lt;code&gt;ninja&lt;/code&gt; and receive a message that reads &lt;code&gt;g++: fatal error: Killed signal terminated program cc1plus&lt;/code&gt;, then you have run out of memory.&lt;/p&gt; 
   &lt;p&gt;Using the &lt;code&gt;-j&lt;/code&gt; option with an argument appropriate to the hardware on which the &lt;code&gt;ninja&lt;/code&gt; command is run is expected to result in a successful build. For example, to limit the job number to 3, run the command &lt;code&gt;ninja -j3&lt;/code&gt;. On average, each &lt;code&gt;ninja&lt;/code&gt; job run in parallel needs approximately 2.5 GiB of RAM.&lt;/p&gt; 
  &lt;/div&gt; &lt;p&gt;This documentation assumes that your build directory is a subdirectory of the &lt;code&gt;ceph.git&lt;/code&gt; checkout. If the build directory is located elsewhere, point &lt;code&gt;CEPH_GIT_DIR&lt;/code&gt; to the correct path of the checkout. Additional CMake args can be specified by setting ARGS before invoking &lt;code&gt;do_cmake.sh&lt;/code&gt;. See &lt;a href=&quot;https://raw.githubusercontent.com/ceph/ceph/main/#cmake-options&quot;&gt;cmake options&lt;/a&gt; for more details. For example:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;ARGS=&quot;-DCMAKE_C_COMPILER=gcc-7&quot; ./do_cmake.sh
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;To build only certain targets, run a command of the following form:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;ninja [target name]
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Install the vstart cluster:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;ninja install
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Build Types&lt;/h2&gt; 
&lt;p&gt;&lt;code&gt;do_cmake.sh&lt;/code&gt; by default creates a &quot;debug build&quot; of Ceph (assuming &lt;code&gt;.git&lt;/code&gt; exists). A &lt;code&gt;Debug&lt;/code&gt; build runtime performance may be as little as 20% of that of a non-debug build. Pass &lt;code&gt;-DCMAKE_BUILD_TYPE=RelWithDebInfo&lt;/code&gt; to &lt;code&gt;do_cmake.sh&lt;/code&gt; to create a non-debug build. The default build type is &lt;code&gt;RelWithDebInfo&lt;/code&gt; once &lt;code&gt;.git&lt;/code&gt; does not exist.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;CMake mode&lt;/th&gt; 
   &lt;th&gt;Debug info&lt;/th&gt; 
   &lt;th&gt;Optimizations&lt;/th&gt; 
   &lt;th&gt;Sanitizers&lt;/th&gt; 
   &lt;th&gt;Checks&lt;/th&gt; 
   &lt;th&gt;Use for&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;Debug&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Yes&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;-Og&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;None&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;ceph_assert&lt;/code&gt;, &lt;code&gt;assert&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;gdb, development&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;RelWithDebInfo&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Yes&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;-O2&lt;/code&gt;, &lt;code&gt;-DNDEBUG&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;None&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;ceph_assert&lt;/code&gt; only&lt;/td&gt; 
   &lt;td&gt;production&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;CMake Options&lt;/h3&gt; 
&lt;p&gt;The &lt;code&gt;-D&lt;/code&gt; flag can be used with &lt;code&gt;cmake&lt;/code&gt; to speed up the process of building Ceph and to customize the build.&lt;/p&gt; 
&lt;h4&gt;Building without RADOS Gateway&lt;/h4&gt; 
&lt;p&gt;The RADOS Gateway is built by default. To build Ceph without the RADOS Gateway, run a command of the following form:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake -DWITH_RADOSGW=OFF [path to top-level ceph directory]
&lt;/code&gt;&lt;/pre&gt; 
&lt;h4&gt;Building with debugging and arbitrary dependency locations&lt;/h4&gt; 
&lt;p&gt;Run a command of the following form to build Ceph with debugging and alternate locations for some external dependencies:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake -DCMAKE_INSTALL_PREFIX=/opt/ceph -DCMAKE_C_FLAGS=&quot;-Og -g3 -gdwarf-4&quot; \
..
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Ceph has several bundled dependencies such as Boost, RocksDB and Arrow. By default, &lt;code&gt;cmake&lt;/code&gt; builds these bundled dependencies from source instead of using libraries that are already installed on the system. You can opt to use these system libraries, as long as they meet Ceph&#39;s version requirements. To use system libraries, use &lt;code&gt;cmake&lt;/code&gt; options like &lt;code&gt;WITH_SYSTEM_BOOST&lt;/code&gt;, as in the following example:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake -DWITH_SYSTEM_BOOST=ON [...]
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To view an exhaustive list of -D options, invoke &lt;code&gt;cmake -LH&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake -LH
&lt;/code&gt;&lt;/pre&gt; 
&lt;h4&gt;Preserving diagnostic colors&lt;/h4&gt; 
&lt;p&gt;If you pipe &lt;code&gt;ninja&lt;/code&gt; to &lt;code&gt;less&lt;/code&gt; and would like to preserve the diagnostic colors in the output in order to make errors and warnings more legible, run the following command:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake -DDIAGNOSTICS_COLOR=always ...
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The above command works only with supported compilers.&lt;/p&gt; 
&lt;p&gt;The diagnostic colors will be visible when the following command is run:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;ninja | less -R
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Other available values for &lt;code&gt;DIAGNOSTICS_COLOR&lt;/code&gt; are &lt;code&gt;auto&lt;/code&gt; (default) and &lt;code&gt;never&lt;/code&gt;.&lt;/p&gt; 
&lt;h2&gt;Tips and Tricks&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Use &quot;debug builds&quot; only when needed. Debugging builds are helpful for development, but they can slow down performance. Use &lt;code&gt;-DCMAKE_BUILD_TYPE=Release&lt;/code&gt; when debugging isn&#39;t necessary.&lt;/li&gt; 
 &lt;li&gt;Enable Selective Daemons when testing specific components. Don&#39;t start unnecessary daemons.&lt;/li&gt; 
 &lt;li&gt;Preserve Existing Data skip cluster reinitialization between tests by using the &lt;code&gt;-n&lt;/code&gt; flag.&lt;/li&gt; 
 &lt;li&gt;To manage a vstart cluster, stop daemons using &lt;code&gt;./stop.sh&lt;/code&gt; and start them with &lt;code&gt;./vstart.sh --daemon osd.${ID} [--nodaemonize]&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Restart the sockets by stopping and restarting the daemons associated with them. This ensures that there are no stale sockets in the cluster.&lt;/li&gt; 
 &lt;li&gt;To track RocksDB performance, set &lt;code&gt;export ROCKSDB_PERF=true&lt;/code&gt; and start the cluster by using the command &lt;code&gt;./vstart.sh -n -d -x --bluestore&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Build with &lt;code&gt;vstart-base&lt;/code&gt; using debug flags in cmake, compile, and deploy via &lt;code&gt;./vstart.sh -d -n --bluestore&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;To containerize, generate configurations with &lt;code&gt;vstart.sh&lt;/code&gt;, and deploy with Docker, mapping directories and configuring the network.&lt;/li&gt; 
 &lt;li&gt;Manage containers using &lt;code&gt;docker run&lt;/code&gt;, &lt;code&gt;stop&lt;/code&gt;, and &lt;code&gt;rm&lt;/code&gt;. For detailed setups, consult the Ceph-Container repository.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Troubleshooting&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Cluster Fails to Start: Look for errors in the logs under the &lt;code&gt;out/&lt;/code&gt; directory.&lt;/li&gt; 
 &lt;li&gt;OSD Crashes: Check the OSD logs for errors.&lt;/li&gt; 
 &lt;li&gt;Cluster in a &lt;code&gt;Health Error&lt;/code&gt; State: Run the &lt;code&gt;ceph status&lt;/code&gt; command to identify the issue.&lt;/li&gt; 
 &lt;li&gt;RocksDB Errors: Look for RocksDB-related errors in the OSD logs.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Building a source tarball&lt;/h2&gt; 
&lt;p&gt;To build a complete source tarball with everything needed to build from source and/or build a (deb or rpm) package, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;./make-dist
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This will create a tarball like ceph-$version.tar.bz2 from git. (Ensure that any changes you want to include in your working directory are committed to git.)&lt;/p&gt; 
&lt;h2&gt;Running a test cluster&lt;/h2&gt; 
&lt;p&gt;From the &lt;code&gt;ceph/&lt;/code&gt; directory, run the following commands to launch a test Ceph cluster:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cd build
ninja vstart        # builds just enough to run vstart
../src/vstart.sh --debug --new -x --localhost --bluestore
./bin/ceph -s
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Most Ceph commands are available in the &lt;code&gt;bin/&lt;/code&gt; directory. For example:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;./bin/rbd create foo --size 1000
./bin/rados -p foo bench 30 write
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To shut down the test cluster, run the following command from the &lt;code&gt;build/&lt;/code&gt; directory:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;../src/stop.sh
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Use the sysvinit script to start or stop individual daemons:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;./bin/init-ceph restart osd.0
./bin/init-ceph stop
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Running unit tests&lt;/h2&gt; 
&lt;p&gt;To build and run all tests (in parallel using all processors), use &lt;code&gt;ctest&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cd build
ninja
ctest -j$(nproc)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;(Note: Many targets built from src/test are not run using &lt;code&gt;ctest&lt;/code&gt;. Targets starting with &quot;unittest&quot; are run in &lt;code&gt;ninja check&lt;/code&gt; and thus can be run with &lt;code&gt;ctest&lt;/code&gt;. Targets starting with &quot;ceph_test&quot; can not, and should be run by hand.)&lt;/p&gt; 
&lt;p&gt;When failures occur, look in build/Testing/Temporary for logs.&lt;/p&gt; 
&lt;p&gt;To build and run all tests and their dependencies without other unnecessary targets in Ceph:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cd build
ninja check -j$(nproc)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To run an individual test manually, run &lt;code&gt;ctest&lt;/code&gt; with -R (regex matching):&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;ctest -R [regex matching test name(s)]
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;(Note: &lt;code&gt;ctest&lt;/code&gt; does not build the test it&#39;s running or the dependencies needed to run it)&lt;/p&gt; 
&lt;p&gt;To run an individual test manually and see all the tests output, run &lt;code&gt;ctest&lt;/code&gt; with the -V (verbose) flag:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;ctest -V -R [regex matching test name(s)]
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To run tests manually and run the jobs in parallel, run &lt;code&gt;ctest&lt;/code&gt; with the &lt;code&gt;-j&lt;/code&gt; flag:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;ctest -j [number of jobs]
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;There are many other flags you can give &lt;code&gt;ctest&lt;/code&gt; for better control over manual test execution. To view these options run:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;man ctest
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Building Ceph using Containers&lt;/h3&gt; 
&lt;p&gt;Ceph now provides tools to build the code, run unit tests, or build packages from within an OCI-style container using Podman or Docker! This allows one to build code for distributions other than the one you have on your system, avoids the need to install build dependencies for Ceph on your local system and provides an opportunity to test builds on platforms that are not yet supported by the official build infrastructure. For more details see the &lt;a href=&quot;https://raw.githubusercontent.com/ceph/ceph/main/ContainerBuild.md&quot;&gt;container build document&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Building the Documentation&lt;/h2&gt; 
&lt;h3&gt;Prerequisites&lt;/h3&gt; 
&lt;p&gt;The list of package dependencies for building the documentation can be found in &lt;code&gt;doc_deps.deb.txt&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;sudo apt-get install `cat doc_deps.deb.txt`
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Building the Documentation&lt;/h3&gt; 
&lt;p&gt;To build the documentation, ensure that you are in the top-level &lt;code&gt;/ceph&lt;/code&gt; directory, and execute the build script. For example:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;admin/build-doc
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Reporting Issues&lt;/h2&gt; 
&lt;p&gt;To report an issue and view existing issues, please visit &lt;a href=&quot;https://tracker.ceph.com/projects/ceph&quot;&gt;https://tracker.ceph.com/projects/ceph&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/2310495/c84a2edb-6a86-4388-a7a1-4df83bc391d0" medium="image" />
      
    </item>
    
    <item>
      <title>Neargye/magic_enum</title>
      <link>https://github.com/Neargye/magic_enum</link>
      <description>&lt;p&gt;Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/Neargye/magic_enum/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/release/Neargye/magic_enum.svg?sanitize=true&quot; alt=&quot;Github releases&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://conan.io/center/recipes/magic_enum&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Conan-package-blueviolet&quot; alt=&quot;Conan package&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/microsoft/vcpkg/tree/master/ports/magic-enum&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Vcpkg-package-blueviolet&quot; alt=&quot;Vcpkg package&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.cppget.org/magic_enum?q=magic_enum&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Build2-package-blueviolet&quot; alt=&quot;Build2 package&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/mesonbuild/wrapdb/raw/master/subprojects/magic_enum.wrap&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Meson-wrap-blueviolet&quot; alt=&quot;Meson wrap&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/license/Neargye/magic_enum.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://godbolt.org/z/feqcPa5G6&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/compiler_explorer-online-blue.svg?sanitize=true&quot; alt=&quot;Compiler explorer&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://securityscorecards.dev/viewer/?uri=github.com/Neargye/magic_enum&quot;&gt;&lt;img src=&quot;https://api.securityscorecards.dev/projects/github.com/Neargye/magic_enum/badge&quot; alt=&quot;OpenSSF Scorecard&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://stand-with-ukraine.pp.ua&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg?sanitize=true&quot; alt=&quot;Stand With Ukraine&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;Magic Enum C++&lt;/h1&gt; 
&lt;p&gt;Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.&lt;/p&gt; 
&lt;p&gt;If you like this project, please consider donating to one of the funds that help victims of the war in Ukraine: &lt;a href=&quot;https://u24.gov.ua&quot;&gt;https://u24.gov.ua&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/doc/reference.md&quot;&gt;Reference&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/doc/limitations.md&quot;&gt;Limitations&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/#Integration&quot;&gt;Integration&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/example/&quot;&gt;Features &amp;amp; Examples&lt;/a&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;Basic&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;#include &amp;lt;magic_enum/magic_enum.hpp&amp;gt;
#include &amp;lt;iostream&amp;gt;

enum class Color { RED = -10, BLUE = 0, GREEN = 10 };

int main() {
  Color c1 = Color::RED;
  std::cout &amp;lt;&amp;lt; magic_enum::enum_name(c1) &amp;lt;&amp;lt; std::endl; // RED
  return 0;
}
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum value to string&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;Color color = Color::RED;
auto color_name = magic_enum::enum_name(color);
// color_name -&amp;gt; &quot;RED&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;String to enum value&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;std::string color_name{&quot;GREEN&quot;};
auto color = magic_enum::enum_cast&amp;lt;Color&amp;gt;(color_name);
if (color.has_value()) {
  // color.value() -&amp;gt; Color::GREEN
}

// case insensitive enum_cast
auto color = magic_enum::enum_cast&amp;lt;Color&amp;gt;(value, magic_enum::case_insensitive);

// enum_cast with BinaryPredicate
auto color = magic_enum::enum_cast&amp;lt;Color&amp;gt;(value, [](char lhs, char rhs) { return std::tolower(lhs) == std::tolower(rhs); });

// enum_cast with default
auto color_or_default = magic_enum::enum_cast&amp;lt;Color&amp;gt;(value).value_or(Color::NONE);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Integer to enum value&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;int color_integer = 0;
auto color = magic_enum::enum_cast&amp;lt;Color&amp;gt;(color_integer);
if (color.has_value()) {
  // color.value() -&amp;gt; Color::BLUE
}

auto color_or_default = magic_enum::enum_cast&amp;lt;Color&amp;gt;(value).value_or(Color::NONE);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Indexed access to enum value&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;std::size_t i = 0;
Color color = magic_enum::enum_value&amp;lt;Color&amp;gt;(i);
// color -&amp;gt; Color::RED
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum value sequence&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;constexpr auto colors = magic_enum::enum_values&amp;lt;Color&amp;gt;();
// colors -&amp;gt; {Color::RED, Color::BLUE, Color::GREEN}
// colors[0] -&amp;gt; Color::RED
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Number of enum elements&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;constexpr std::size_t color_count = magic_enum::enum_count&amp;lt;Color&amp;gt;();
// color_count -&amp;gt; 3
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum value to integer&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;Color color = Color::RED;
auto color_integer = magic_enum::enum_integer(color); // or magic_enum::enum_underlying(color);
// color_integer -&amp;gt; -10
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum names sequence&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;constexpr auto color_names = magic_enum::enum_names&amp;lt;Color&amp;gt;();
// color_names -&amp;gt; {&quot;RED&quot;, &quot;BLUE&quot;, &quot;GREEN&quot;}
// color_names[0] -&amp;gt; &quot;RED&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum entries sequence&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;constexpr auto color_entries = magic_enum::enum_entries&amp;lt;Color&amp;gt;();
// color_entries -&amp;gt; {{Color::RED, &quot;RED&quot;}, {Color::BLUE, &quot;BLUE&quot;}, {Color::GREEN, &quot;GREEN&quot;}}
// color_entries[0].first -&amp;gt; Color::RED
// color_entries[0].second -&amp;gt; &quot;RED&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum fusion for multi-level switch/case statements&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;switch (magic_enum::enum_fuse(color, direction).value()) {
  case magic_enum::enum_fuse(Color::RED, Directions::Up).value(): // ...
  case magic_enum::enum_fuse(Color::BLUE, Directions::Down).value(): // ...
// ...
}
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum switch runtime value as constexpr constant&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;Color color = Color::RED;
magic_enum::enum_switch([] (auto val) {
  constexpr Color c_color = val;
  // ...
}, color);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum iterate for each enum as constexpr constant&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;magic_enum::enum_for_each&amp;lt;Color&amp;gt;([] (auto val) {
  constexpr Color c_color = val;
  // ...
});
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Check if enum contains&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;magic_enum::enum_contains(Color::GREEN); // -&amp;gt; true
magic_enum::enum_contains&amp;lt;Color&amp;gt;(2); // -&amp;gt; true
magic_enum::enum_contains&amp;lt;Color&amp;gt;(123); // -&amp;gt; false
magic_enum::enum_contains&amp;lt;Color&amp;gt;(&quot;GREEN&quot;); // -&amp;gt; true
magic_enum::enum_contains&amp;lt;Color&amp;gt;(&quot;fda&quot;); // -&amp;gt; false
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum index in sequence&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;constexpr auto color_index = magic_enum::enum_index(Color::BLUE);
// color_index.value() -&amp;gt; 1
// color_index.has_value() -&amp;gt; true
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Functions for flags&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;enum Directions : std::uint64_t {
  Left = 1,
  Down = 2,
  Up = 4,
  Right = 8,
};
template &amp;lt;&amp;gt;
struct magic_enum::customize::enum_range&amp;lt;Directions&amp;gt; {
  static constexpr bool is_flags = true;
};

magic_enum::enum_flags_name(Directions::Up | Directions::Right); // -&amp;gt; &quot;Directions::Up|Directions::Right&quot;
magic_enum::enum_flags_name(Directions::Up | Directions::Right, &#39;,&#39;); // -&amp;gt; &quot;Directions::Up,Directions::Right&quot;
magic_enum::enum_flags_contains(Directions::Up | Directions::Right); // -&amp;gt; true
magic_enum::enum_flags_cast(3); // -&amp;gt; &quot;Directions::Left|Directions::Down&quot;
magic_enum::enum_flags_cast&amp;lt;Directions&amp;gt;(&quot;Left,Down&quot;, &#39;,&#39;); // -&amp;gt; Directions::Left|Directions::Down
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Enum type name&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;Color color = Color::RED;
auto type_name = magic_enum::enum_type_name&amp;lt;decltype(color)&amp;gt;();
// type_name -&amp;gt; &quot;Color&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;IOstream operator for enum&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;using magic_enum::iostream_operators::operator&amp;lt;&amp;lt;; // out-of-the-box ostream operators for enums.
Color color = Color::BLUE;
std::cout &amp;lt;&amp;lt; color &amp;lt;&amp;lt; std::endl; // &quot;BLUE&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;using magic_enum::iostream_operators::operator&amp;gt;&amp;gt;; // out-of-the-box istream operators for enums.
Color color;
std::cin &amp;gt;&amp;gt; color;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Bitwise operator for enum&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;enum class Flags { A = 1 &amp;lt;&amp;lt; 0, B = 1 &amp;lt;&amp;lt; 1, C = 1 &amp;lt;&amp;lt; 2, D = 1 &amp;lt;&amp;lt; 3 };
using namespace magic_enum::bitwise_operators; // out-of-the-box bitwise operators for enums.
// Support operators: ~, |, &amp;amp;, ^, |=, &amp;amp;=, ^=.
Flags flags = Flags::A | Flags::B &amp;amp; ~Flags::C;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Checks whether type is an &lt;a href=&quot;https://en.cppreference.com/w/cpp/language/enum#Unscoped_enumeration&quot;&gt;Unscoped enumeration&lt;/a&gt;.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;enum color { red, green, blue };
enum class direction { left, right };

magic_enum::is_unscoped_enum&amp;lt;color&amp;gt;::value -&amp;gt; true
magic_enum::is_unscoped_enum&amp;lt;direction&amp;gt;::value -&amp;gt; false
magic_enum::is_unscoped_enum&amp;lt;int&amp;gt;::value -&amp;gt; false

// Helper variable template.
magic_enum::is_unscoped_enum_v&amp;lt;color&amp;gt; -&amp;gt; true
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Checks whether type is an &lt;a href=&quot;https://en.cppreference.com/w/cpp/language/enum#Scoped_enumerations&quot;&gt;Scoped enumeration&lt;/a&gt;.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;enum color { red, green, blue };
enum class direction { left, right };

magic_enum::is_scoped_enum&amp;lt;color&amp;gt;::value -&amp;gt; false
magic_enum::is_scoped_enum&amp;lt;direction&amp;gt;::value -&amp;gt; true
magic_enum::is_scoped_enum&amp;lt;int&amp;gt;::value -&amp;gt; false

// Helper variable template.
magic_enum::is_scoped_enum_v&amp;lt;direction&amp;gt; -&amp;gt; true
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Static storage enum variable to string This version is much lighter on the compile times and is not restricted to the enum_range &lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/doc/limitations.md&quot;&gt;limitation&lt;/a&gt;.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;constexpr Color color = Color::BLUE;
constexpr auto color_name = magic_enum::enum_name&amp;lt;color&amp;gt;();
// color_name -&amp;gt; &quot;BLUE&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;code&gt;containers::array&lt;/code&gt; array container for enums.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;magic_enum::containers::array&amp;lt;Color, RGB&amp;gt; color_rgb_array {};
color_rgb_array[Color::RED] = {255, 0, 0};
color_rgb_array[Color::GREEN] = {0, 255, 0};
color_rgb_array[Color::BLUE] = {0, 0, 255};
magic_enum::containers::get&amp;lt;Color::BLUE&amp;gt;(color_rgb_array) // -&amp;gt; RGB{0, 0, 255}
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;code&gt;containers::bitset&lt;/code&gt; bitset container for enums.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;std::uint8_t incoming = 0b00000011;
auto color_bitset = magic_enum::containers::bitset&amp;lt;Color&amp;gt; {magic_enum::containers::raw_access, incoming};
color_bitset.set(Color::BLUE);
auto raw_value = color_bitset.to_ulong(magic_enum::containers::raw_access);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;code&gt;containers::set&lt;/code&gt; set container for enums.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;auto color_set = magic_enum::containers::set&amp;lt;Color&amp;gt;();
bool empty = color_set.empty();
// empty -&amp;gt; true
color_set.insert(Color::GREEN);
color_set.insert(Color::BLUE);
color_set.insert(Color::RED);
std::size_t size = color_set.size();
// size -&amp;gt; 3
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Improved UB-free &quot;SFINAE-friendly&quot; &lt;a href=&quot;https://en.cppreference.com/w/cpp/types/underlying_type&quot;&gt;underlying_type&lt;/a&gt;.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;magic_enum::underlying_type&amp;lt;color&amp;gt;::type -&amp;gt; int

// Helper types.
magic_enum::underlying_type_t&amp;lt;Direction&amp;gt; -&amp;gt; int
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Remarks&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;code&gt;magic_enum&lt;/code&gt; does not pretend to be a silver bullet for reflection for enums, it was originally designed for small enum.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Before use, read the &lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/doc/limitations.md&quot;&gt;limitations&lt;/a&gt; of functionality.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Integration&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;You should add the required file &lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/include/magic_enum/magic_enum.hpp&quot;&gt;magic_enum.hpp&lt;/a&gt;, and optionally other headers from &lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/include/&quot;&gt;include dir&lt;/a&gt; or &lt;a href=&quot;https://github.com/Neargye/magic_enum/releases/latest&quot;&gt;release archive&lt;/a&gt;. Alternatively, you can build the library with CMake.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;If you are using &lt;a href=&quot;https://github.com/Microsoft/vcpkg/&quot;&gt;vcpkg&lt;/a&gt; on your project for external dependencies, then you can use the &lt;a href=&quot;https://github.com/microsoft/vcpkg/tree/master/ports/magic-enum&quot;&gt;magic-enum package&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;If you are using &lt;a href=&quot;https://www.conan.io/&quot;&gt;Conan&lt;/a&gt; to manage your dependencies, merely add &lt;code&gt;magic_enum/x.y.z&lt;/code&gt; to your conan&#39;s requires, where &lt;code&gt;x.y.z&lt;/code&gt; is the release version you want to use.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;If you are using &lt;a href=&quot;https://build2.org/&quot;&gt;Build2&lt;/a&gt; to build and manage your dependencies, add &lt;code&gt;depends: magic_enum ^x.y.z&lt;/code&gt; to the manifest file where &lt;code&gt;x.y.z&lt;/code&gt; is the release version you want to use. You can then import the target using &lt;code&gt;magic_enum%lib{magic_enum}&lt;/code&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Alternatively, you can use something like &lt;a href=&quot;https://github.com/TheLartians/CPM&quot;&gt;CPM&lt;/a&gt; which is based on CMake&#39;s &lt;code&gt;Fetch_Content&lt;/code&gt; module.&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;CPMAddPackage(
    NAME magic_enum
    GITHUB_REPOSITORY Neargye/magic_enum
    GIT_TAG vx.y.z # Where `x.y.z` is the release version you want to use.
)
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Bazel is also supported, simply add to your WORKSPACE file:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;http_archive(
    name = &quot;magic_enum&quot;,
    strip_prefix = &quot;magic_enum-&amp;lt;commit&amp;gt;&quot;,
    urls = [&quot;https://github.com/Neargye/magic_enum/archive/&amp;lt;commit&amp;gt;.zip&quot;],
)
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;To use bazel inside the repository it&#39;s possible to do:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;bazel build //...
bazel test //...
bazel run //example
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;(Note that you must use a supported compiler or specify it with &lt;code&gt;export CC= &amp;lt;compiler&amp;gt;&lt;/code&gt;.)&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;If you are using &lt;a href=&quot;https://www.ros.org/&quot;&gt;Ros&lt;/a&gt;, you can include this package by adding &lt;code&gt;&amp;lt;depend&amp;gt;magic_enum&amp;lt;/depend&amp;gt;&lt;/code&gt; to your package.xml and include this package in your workspace. In your CMakeLists.txt add the following:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;find_package(magic_enum CONFIG REQUIRED)
...
target_link_libraries(your_executable magic_enum::magic_enum)
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;C++20 modules&lt;/strong&gt; are supported as an alternative to the header-only mode, requires CMake 3.28+.&lt;/p&gt; &lt;p&gt;Configure with CMake:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;cmake -DMAGIC_ENUM_USE_MODULES=ON -G Ninja ...
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Then use &lt;code&gt;import&lt;/code&gt; instead of &lt;code&gt;#include&lt;/code&gt;:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;import magic_enum;

enum class Color { RED, GREEN, BLUE };
auto name = magic_enum::enum_name(Color::RED); // &quot;RED&quot;
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Caveats:&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;Do not mix &lt;code&gt;#include &amp;lt;magic_enum/...&amp;gt;&lt;/code&gt; and &lt;code&gt;import magic_enum;&lt;/code&gt; within the same link unit — ODR violation.&lt;/li&gt; 
   &lt;li&gt;&lt;code&gt;import std;&lt;/code&gt; is opt-in: add &lt;code&gt;-DCMAKE_CXX_STANDARD=23 -DCMAKE_CXX_IMPORT_STD=ON&lt;/code&gt; (requires CMake 3.30+).&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Compiler compatibility&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Clang/LLVM &amp;gt;= 5&lt;/li&gt; 
 &lt;li&gt;MSVC++ &amp;gt;= 14.11 / Visual Studio &amp;gt;= 2017&lt;/li&gt; 
 &lt;li&gt;Xcode &amp;gt;= 10&lt;/li&gt; 
 &lt;li&gt;GCC &amp;gt;= 9&lt;/li&gt; 
 &lt;li&gt;MinGW &amp;gt;= 9&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Licensed under the &lt;a href=&quot;https://raw.githubusercontent.com/Neargye/magic_enum/master/LICENSE&quot;&gt;MIT License&lt;/a&gt;&lt;/h2&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/577ff0b9cb47d126d4cbf673ca719b5cfa4bae5174f1d4267e5499d8711fdb01/Neargye/magic_enum" medium="image" />
      
    </item>
    
  </channel>
</rss>
