Ninfer-3090
Mirrored from r/LocalLLaMA for archival readability. Support the source by reading on the original site.
Hi all,
Of course I had to jump on Qwen3.8-27B and get it running on the RTX 3090 port of NInfer.
For anyone unfamiliar with it, NInfer is a small, dedicated C++/CUDA inference runtime built around fused kernels rather than a huge general-purpose serving stack. The 3090 fork specifically targets Ampere GPU's (edit: just added early support for the 4090 also)
And Qwen3.8-27B does pretty damn well on a single 24 GB 3090. As far as I know, this is currently (among) the fastest throughput, single and batched for this model on this hardware. Prefill is quick too.
Qwen3.8-27B - RTX 3090
Qwen3.8-27B is now validated from C1 through C8.
One of the more interesting additions is ReplaySSM, which cuts the memory overhead of speculative decoding enough that we can keep the faster MTP3 mode enabled even at C8.
These are sustained runs, not short bursts. Every request generated 1,024 output tokens, with CUDA Graphs enabled.
| Cohort | Total output | End-to-end | Decode | MTP acceptance | Mean TTFT | Peak VRAM |
|---|---|---|---|---|---|---|
| C1 | 1,024 | 70.19 tok/s | 71.00 tok/s | 61.13% | 149 ms | 19,641 MiB |
| C2 | 2,048 | 89.43 tok/s | 90.66 tok/s | 59.66% | 262 ms | 20,022 MiB |
| C4 | 4,096 | 97.89 tok/s | 100.28 tok/s | 59.63% | 538 ms | 20,641 MiB |
| C8 | 8,192 | 161.28 tok/s | 165.33 tok/s | 56.84% | 1,215 ms | 22,138 MiB |
So the interesting part for me isn't only the ~70 tok/s single-stream result. A single old 3090 can push 165 tok/s decode across eight concurrent requests, while staying inside 24 GB VRAM and keeping speculative decoding active. Btw I did not have time to run this headless so there is still a 10 - 15% extra in the tank, if you can run it without desktop.
Qwen3-35B-A3B still works great too. I've measured around 260 tok/s single-stream, and over 400 tok/s on highly repetitive workloads. (Still to measure concurrency well for this model, this could go over 600 tokens per second I guess?)
Huge props to Neroued for building the original NInfer project incl ReplaySSM:
https://github.com/Neroued/ninfer
The 3090 port is basically my attempt to see how far we can push these models on hardware a lot of us already have sitting under our desks. PR's very much appreaciated, we much push it beyond 100 tokens a sec, at least.
Would love to hear results from anyone else running Qwen3.8-27B on a 3090, especially llama.cpp / SGLang / vLLM comparisons.
edit:
- Addition: man this model is certainly token hungry. 170K context window now support now validated in INT8, and I added Rotorquant RK8v4, which safely gives 248K. Maybe a bit more.
- Early RTX 4090 support is running. Still needs optimalisation:
| Cohort | Total output | End-to-end | Decode | MTP acceptance | Mean TTFT | Peak VRAM |
|---|---|---|---|---|---|---|
| C1 | 1,024 | 102.13 tok/s | 103.35 tok/s | 45.31% | 112 ms | 18,250 MiB |
| C2 | 2,048 | 162.46 tok/s | 165.74 tok/s | 53.13% | 160 ms | 18,562 MiB |
| C4 | 4,096 | 193.49 tok/s | 198.76 tok/s | 56.91% | 295 ms | 19,184 MiB |
| C8 | 8,192 | 299.82 tok/s | 315.09 tok/s | 53.16% | 644 ms | 20,708 MiB |
[link] [comments]
Discussion (0)
Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.
Sign in →No comments yet. Sign in and be the first to say something.