<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了]]></title><description><![CDATA[<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>值</th>
</tr>
</thead>
<tbody>
<tr>
<td>目标硬件</td>
<td>RTX 3090 / 3090 Ti(24 GB,SM86)</td>
</tr>
<tr>
<td>模型</td>
<td>Qwen3.8-27B(以及 35B-A3B 也能跑)</td>
</tr>
<tr>
<td>单用户 decode</td>
<td><strong>71 tok/s</strong></td>
</tr>
<tr>
<td>8 用户并发(C8 队列)</td>
<td>总吞吐 ≈ 163 tok/s(分摊每人 ~20)</td>
</tr>
<tr>
<td>最大上下文</td>
<td><strong>171 K token</strong>(INT8 KV)</td>
</tr>
<tr>
<td>接口</td>
<td>OpenAI + Anthropic 兼容 HTTP API,跑在 <code>127.0.0.1:8080/v1</code></td>
</tr>
<tr>
<td>系统</td>
<td>Linux(Docker 测试)/ Windows 11(原生预编译包)</td>
</tr>
<tr>
<td>仓库</td>
<td><a href="https://github.com/Don-Chad/ninfer-3090" rel="nofollow ugc">https://github.com/Don-Chad/ninfer-3090</a></td>
</tr>
</tbody>
</table>
<hr />
<h2>背景:这事为什么值得说</h2>
<p dir="auto">如果你有一张 3090 想跑 Qwen 27B,过去基本只有三个选择:</p>
<ul>
<li><strong>llama.cpp</strong> —— 通用、稳,但速度拉胯</li>
<li><strong>vLLM</strong> —— 高吞吐,专为多卡 / 数据中心,单 3090 不是它的甜区</li>
<li><strong>TensorRT-LLM</strong> —— 性能强,但编译复杂、坑多</li>
</ul>
<p dir="auto"><code>Neroued/ninfer</code> 原版我之前 <a href="https://lcz.me/...">试过</a>,<strong>它只为 RTX 5090 写,build 直接拒绝 sm_120a 之外的架构</strong>,3090 连编译都过不去。</p>
<p dir="auto"><code>Don-Chad/ninfer-3090</code> 就是社区里跑出来的一根硬骨头:<strong>把 NInfer 的整套 C++/CUDA 引擎移植到 SM86,专门给 3090 用</strong>。原作者 <code>Neroued</code> 的 5090 路标是 1,313 tok/s@C8、15 K tok/s prefill,这次是把"单 GPU 极致调优"的基因搬到了消费级 Ampere 上。</p>
<hr />
<h2>这是什么东西</h2>
<ul>
<li><strong>定位</strong>:Hyper-optimised Qwen3.8-27B 推理引擎,单 3090 专用</li>
<li><strong>技术栈</strong>:C++ / CUDA,从零写,不是 llama.cpp fork</li>
<li><strong>核心优化</strong>:
<ul>
<li><strong>MTP3 投机解码</strong> + <strong>ReplaySSM</strong> 状态机加速</li>
<li><strong>Paged KV cache</strong> + 兼容前缀复用</li>
<li><strong>CUDA Graphs</strong> 降低 decode 延迟</li>
<li><strong>C1-C8 Cohort 批处理</strong>:1~8 路并发复用同一份 KV pool</li>
</ul>
</li>
<li><strong>接口</strong>:OpenAI / Anthropic 兼容 HTTP API,工具调用、reasoning effort 都开箱即用</li>
<li><strong>视觉 / 长文本</strong>:Qwen3.8 视觉推理 + 32K 上下文窗口,长文本用 INT8 KV 顶到 171 K</li>
</ul>
<hr />
<h2>快速开始</h2>
<h3>准备</h3>
<ul>
<li>一张 RTX 3090(24 GB)</li>
<li>CUDA Toolkit</li>
<li>Linux:有 Docker;Windows 11:无依赖,直接下预编译包</li>
</ul>
<h3>Linux (Docker)</h3>
<pre><code class="language-bash">git clone https://github.com/Don-Chad/ninfer-3090.git
cd ninfer-3090
docker build --tag ninfer-3090:sm86 .
# 下载 Qwen3.8-27B 量化模型
hf download neroued/Qwen3.8-27B-nvfp4-NInfer \
  qwen3_8_27b_nvfp4.ninfer --local-dir models
# 启动服务
docker run --rm --gpus all -p 8080:8080 \
  -v $PWD/models:/models:ro \
  ninfer-3090:sm86 \
  /usr/local/bin/ninfer-serve \
  /models/qwen3_8_27b_nvfp4.ninfer \
  --max-concurrency 1 --kv-dtype fp8 \
  --spec mtp --draft-tokens 3 --lm-head-draft
</code></pre>
<h3>Windows 11</h3>
<p dir="auto">直接下 release archive,解压,跑 <code>download-qwen38.bat</code> 下模型,然后 <code>run-qwen38-c1.bat</code>(单用户)或 <code>run-qwen38-c8.bat</code>(8 并发)。</p>
<h3>试一下</h3>
<pre><code class="language-bash">curl http://127.0.0.1:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "qwen3.8-27b",
    "messages": [{"role": "user", "content": "Reply with one short sentence."}],
    "max_tokens": 64
  }'
</code></pre>
<hr />
<h2>性能测试</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>场景</th>
<th>tok/s</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>C1(单用户)</td>
<td><strong>71</strong></td>
<td>长对话 / 64K 上下文,低 TTFT</td>
</tr>
<tr>
<td>C8(8 并发)</td>
<td>~20/user</td>
<td>总吞吐是 C1 的 2.3×(~163)</td>
</tr>
<tr>
<td>视觉推理</td>
<td>-</td>
<td>MTP3 + 32K 上下文</td>
</tr>
<tr>
<td>长上下文(171 K INT8)</td>
<td>单 24 GB 顶得住</td>
<td>KV cache 做了 INT8 量化</td>
</tr>
</tbody>
</table>
<blockquote>
<p dir="auto">注:上面 71 tok/s 是"短上下文 + MTP3 投机解码"的数据,实际你会看到 60–85 区间,具体看 prompt 长度和并发。</p>
</blockquote>
<hr />
<h2>跟同类项目对比</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项目</th>
<th>在 3090 上跑 27B 的体验</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Don-Chad/ninfer-3090</strong>(本帖)</td>
<td><strong>71 tok/s</strong> 单用户,8 并发 2.3×,INT8 KV 171 K</td>
</tr>
<tr>
<td><code>gggerganov/llama.cpp</code></td>
<td>通用,稳,大概 30–45 tok/s</td>
</tr>
<tr>
<td><code>vllm-project/vllm</code></td>
<td>高吞吐引擎,但不是单 3090 甜区,部署重</td>
</tr>
<tr>
<td><code>NVIDIA/TensorRT-LLM</code></td>
<td>性能强,编译复杂,3090 没有官方优化 lane</td>
</tr>
<tr>
<td><code>Ollama</code></td>
<td>5 分钟跑起来,但 27B 在 3090 上 ~30 tok/s</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>怎么选</strong>:</p>
<ul>
<li><strong>想要速度,愿折腾</strong> → 这个</li>
<li><strong>想要省事,5 分钟跑通</strong> → Ollama</li>
<li><strong>想要通用 + 模型多</strong> → llama.cpp</li>
<li><strong>想要生产 + 多卡</strong> → vLLM</li>
</ul>
<hr />
<h2>局限 / 注意点</h2>
<ol>
<li><strong>RotorQuant rk8v4 KV 模式暂时不可用</strong> —— 作者说在修</li>
<li><strong>没有预编译的 Linux archive</strong> —— 走 Docker build</li>
<li><strong>FP8 KV cache profile 在 SM86 不支持</strong> —— 只能 INT8,但够用</li>
<li><strong>C8 启动时如果请求是 35B-A3B + 8 并发会被拒</strong> —— 资源不够,降级到 C4 或 C2</li>
<li><strong>社区支持,best-effort</strong> —— 不是商业产品,出问题自己看 issue</li>
<li><strong>模型是 NInfer 注册的 artifact</strong> —— 不能随便换 GGUF,只能用 <code>neroued/Qwen3.8-27B-nvfp4-NInfer</code> 等几个固定 artifact</li>
</ol>
<hr />
<h2>适合谁 / 不适合谁</h2>
<p dir="auto"><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=0650a1064dd" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /> <strong>适合</strong>:</p>
<ul>
<li>3090 玩家想榨干硬件</li>
<li>跑 Qwen 27B 想要 OpenAI / Anthropic API 兼容的本地服务</li>
<li>单用户低延迟聊天 / 多用户小服务</li>
</ul>
<p dir="auto"><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/274c.png?v=0650a1064dd" class="not-responsive emoji emoji-android emoji--x" style="height:23px;width:auto;vertical-align:middle" title="❌" alt="❌" /> <strong>不适合</strong>:</p>
<ul>
<li>想要 5090 / 多卡的极致性能(看原版 Neroued/ninfer)</li>
<li>想要丰富模型库(看 llama.cpp / Ollama)</li>
<li>想要"开箱即用 + 桌面 GUI"(看 LM Studio)</li>
<li>macOS 用户(本项目只支持 Linux / Windows 11)</li>
</ul>
<hr />
]]></description><link>https://lcz.me/topic/1644</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 04:19:19 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/1644.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Sep 2026 02:27:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了 on Sun, 13 Sep 2026 04:32:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/johnnybegood" aria-label="Profile: johnnybegood">@<bdi>johnnybegood</bdi></a> 折腾下NVLink呢，体验不是更好，关键你现在都是风扇版本，落地了。</p>
]]></description><link>https://lcz.me/post/17750</link><guid isPermaLink="true">https://lcz.me/post/17750</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Sun, 13 Sep 2026 04:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to 3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了 on Sun, 13 Sep 2026 02:12:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/terry" aria-label="Profile: terry">@<bdi>terry</bdi></a> 哈哈， 那我幸亏落在了你说的“双卡就3090”的范围。我第二张买的就是三风扇静音版了， 第一张是涡轮，真的吵得要命，花了500改一样的风扇了，现在在机箱里看着还挺好看。 间距虽然小了点， 但是平时双卡待机 37度， 满载长程最高76-78度， 噪音最高55分贝以下（自己买的分贝仪测的），非常满意。</p>
<p dir="auto"><img src="https://upload.lcz.me/uploads/2665d284-b517-4d1e-8f98-3181661afc22.png" alt="2x3090png.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://lcz.me/post/17704</link><guid isPermaLink="true">https://lcz.me/post/17704</guid><dc:creator><![CDATA[johnnybegood]]></dc:creator><pubDate>Sun, 13 Sep 2026 02:12:01 GMT</pubDate></item><item><title><![CDATA[Reply to 3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了 on Sun, 13 Sep 2026 01:50:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/johnnybegood" aria-label="Profile: johnnybegood">@<bdi>johnnybegood</bdi></a> 你单卡又不能多开，decode再快，体验差距并不大。A卡跑llama.cpp在Vulkan下体验是很好的，这是我实测。况且单卡的话，3090是旧卡，硬件问题风险就很大。所以单卡肯定买XTX，双卡就买3090，但是要自己面对硬件风险。光噪音一项，3090就下马了。</p>
]]></description><link>https://lcz.me/post/17699</link><guid isPermaLink="true">https://lcz.me/post/17699</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Sun, 13 Sep 2026 01:50:12 GMT</pubDate></item><item><title><![CDATA[Reply to 3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了 on Sun, 13 Sep 2026 00:57:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/terry" aria-label="Profile: terry">@<bdi>terry</bdi></a> <a href="https://lcz.me/topic/1656">https://lcz.me/topic/1656</a> 看了我这个新帖，还说XTX更好么？ 我用3090跑到191 tok/s 了。</p>
]]></description><link>https://lcz.me/post/17690</link><guid isPermaLink="true">https://lcz.me/post/17690</guid><dc:creator><![CDATA[johnnybegood]]></dc:creator><pubDate>Sun, 13 Sep 2026 00:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to 3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了 on Sat, 12 Sep 2026 21:07:12 GMT]]></title><description><![CDATA[<p dir="auto">跑LLama.cpp，单卡，还是用xtx更好，3090双卡TP SGLang更合适。</p>
]]></description><link>https://lcz.me/post/17663</link><guid isPermaLink="true">https://lcz.me/post/17663</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Sat, 12 Sep 2026 21:07:12 GMT</pubDate></item><item><title><![CDATA[Reply to 3090 也能跑到 71 tok/s:NInfer 移植到 SM86 了 on Sat, 12 Sep 2026 07:02:59 GMT]]></title><description><![CDATA[<p dir="auto">27B Q4 权重约 15–16G，3090 带宽约 936GB/s，纯自回归 decode 上限大约 55–60 t/s。71 这个数已经越过它，说明至少开了投机/草稿解码，或者统计口径不是纯 decode——不是质疑数字，是想确认它快在哪。</p>
<p dir="auto">问三个量，对齐了才好和 llama.cpp 那套对照：</p>
<ol>
<li>Qwen3.8-27B 用的量化格式和实际权重体积；</li>
<li>KV 是每路独立分配还是共享池，长上下文能开到多少；</li>
<li>71 t/s 和 8 并发 163 t/s 是不是同一上下文长度下测的。</li>
</ol>
<p dir="auto">3090 的 24G 里留给 KV 不到 8G，并发一高会先撞上下文墙，不是算力墙。</p>
]]></description><link>https://lcz.me/post/17506</link><guid isPermaLink="true">https://lcz.me/post/17506</guid><dc:creator><![CDATA[Xiaote]]></dc:creator><pubDate>Sat, 12 Sep 2026 07:02:59 GMT</pubDate></item></channel></rss>