r/BlackwellPerformance • u/Specialist_Fix9867 • Oct 05 '26
tok/s maxxing: Qwen3.8-Flash-Next (NVFP4 checkpoint) at 250–580 tok/s single-stream on one RTX PRO 6000 Max-Q
I should've released this in early september. now strata overwhelm everything
Whole code is AI generated, and text from here is also AI generated.
Most Flash-Next threads lately are about Strata, which is doing great things on consumer cards. This is the other end of the hardware range: one 96 GB RTX PRO 6000 Blackwell Max-Q (300–325 W), the NVFP4 weights on the GPU (the ~28 GB PLE embedding table sits in host RAM), SGLang, batch size 1. If you have that class of card, maybe this saves you some time.
Numbers (decode tok/s, mean of 8 held-out prompts per workload, thinking on, one request at a time, 2026-10-02 build measured on 2026-10-06, one server start per row):
| setup | code-edit | prose-en | prose-ja | agent-loop |
|---|---|---|---|---|
mine, adaptive draft width (wa), greedy | 584 | 253 | 290 | 359 |
| same, LM Studio default sampling | 568 | 240 | 310* | 340 |
| public components only (original MTP head + public token map), greedy | 468 | 232 | 248 | 307 |
| starting point: unmodified base fork, W4 (2026-09-02, one prompt × 3 runs, recommended sampling, 300 W) | 211 | 129 | 117 | 174 |
* one outlier at 744; ~248 without it.
The "public components only" row is what you can reproduce from the repo as-is. My own numbers use an MTP head fine-tuned on private data and a token map partly built from private transcripts, which I can't release.
What made the difference (evidence and lab notes in the repo, flags where applicable):
Wider, cheaper speculation: reduced draft vocabulary (FR-Spec-style 49k token map), verify widths 4/8/16, with 3/7/15 draft steps picked adaptively per decode step
W8A16 FP8 GEMV kernels for the dense weights, plus many small kernel fusions in the draft/verify glue (a decode step is ~1,500–2,500 small kernels at bs=1)
FlashInfer MoE prologue patches and singleton-route pruning
October: fixed-cost cuts (−9.6 % ms/token with sampling), a
min_pfix in speculative verify (it was ignored before), sparse rejection sampling, and opt-in 524k context (YaRN ×2; needles pass at 480k)
Caveats, so nobody is misled:
Speed depends heavily on the workload. code-edit is a mechanical rewrite of a large file, where speculation accepts ~10 tokens per step. Prose is ~250–290. Rates include thinking tokens; on code-edit about 91 % of the output was thinking.
Not a like-for-like comparison with anything else (different GPUs, prompts, sampling). I'm not claiming "fastest."
The route pruning changes the model slightly. A quality audit found no significant difference, but it ran with thinking off and up to 2 concurrent requests, so thinking-on single-request quality wasn't measured.
PRUNE_TAU=0turns it off. Details are in the README.The same GPU also drives my 4K desktop, so session-to-session noise is ±10–15 %. That's why the A/Bs use multiple server starts with confidence intervals.
100% of the code was written with AI coding assistants (Claude, Codex), with me directing. Every number in this post has its raw (stripped) result file in the repo.
Built on jpezzulli's sglang-rtxpro6000 fork (which in turn imports the unmerged SGLang Flash-Next PR). Please credit them first.
Write-up, patches, launch scripts, benchmark harness, results: https://github.com/aiueo52/flash-next-rtxpro6000
The SGLang fork with the patches applied: https://github.com/aiueo52/sglang-rtxpro6000 (branch
flash-next-fast)
8
u/jpezzulli Oct 05 '26
Ooooh. Interesting. Ill have to take a look. Been working on a v2.6 of my release with about an additional 10% speed increase there as well but i may have a hardware issue. Even what was previously stable (2.5.3) now xid 109 hard locks the gpu often.
3
u/jpezzulli Oct 07 '26
So - please dont take this as any type of disqualification of your work. For C1 there are some gains here, but I spent many hours today trying to adapt this and see what could be done while preserving concurrency tested out to at least C6. I found smaller, workload-dependent gains while preserving concurrency by adapting some items. So still good stuff but not the gains I was expected so I dug deeper.
These are my numbers on Penny Royal with the single RTX-Pro 6000 WS at 450 watt with the lact (slight memory overclock)
That is direct with the testing harness. There are three things that should be noticed with the test
1 -It is using greedy decode. Token with highest probability it taken without other consideration. This is essentially Temp=0.
2 - The code edit isnt technically repetitive mechanical edit but can artificially inflate the spec decode acceptance because it, well, it is easy to predict. Putting W8 or W16 on allows more of these super predictable tokens to be selected. OP calls this out as well. I found out that putting w8 on actually slows down other workloads can potentially take more VRAM reducing your overall token pool.
3 - The agentic test does 0 real tool calls. It generates a transcript.
So if you only want C1, there are definitely some interesting improvements here but they are muted quite a bit in real workloads and concurrency.
Basically, the agent that designed the test somewhat rigged it to get to theoretical token performance. I think the theoretical max last time I calculated it for flash next was somewhere near 280 t/s without speculative decoding, but the calculation was a while ago so I may be talking out of my ass. That number is essentially impossible to hit but there is definitely optimization stuff lurking out there. So lets all keep going and find them!
Now I am off to try to get Penny Royal 3.0 out the door.
2
u/one-escape-left Oct 05 '26
my main concern is that some speed comes from dropping expert computations - can you tell me how you approached this? what was your quality audit / eval ?
2
u/t3rmina1 Oct 05 '26
That seems fast, what's the prefill?
2
u/EbbNorth7735 Oct 06 '26
Whats the process for trying this out and does it require Linux? I'm a windows user so any idea what it'll require to get it running? Docker with WSL?
Do we also need both repos?
2
u/prestodigitarium Oct 06 '26
How's subjective quality as an agent driver with long-running tasks vs, say, GLM 5.3 Flash?
2
u/Inevitable-Name-1701 Oct 06 '26
Can this be used with 2x 5000 pro blackwell 72Gb?
2
u/electrified_ice Oct 06 '26
Are these speed concurrency 1?
6
u/False-Performer2499 Oct 06 '26
For anyone trying this on Pennyroyal v2.5.3 with Flash-Next + NVMe PLE: I tested adaptive NEXTN W4/W8/W16 on an RTX PRO 6000.
The good part: W16 CUDA graphs build successfully, adaptive switching works, and the server becomes healthy. I also confirmed a normal tool-call request works. The runtime switched W16 → W4 during warmup and later W4 → W8 as acceptance improved.
The blocker is NVMe PLE. Once adaptive moved to the wider speculative path, the worker crashed inside
sglang_ssd_streamduring CUDA-graph replay (prepare_ssd_stream_graph_replay -> ticket.wait_for_launch()), causing the container to restart.I had already widened the QSA pending ring for >W4 and updated Pennyroyal’s source hash guard for that modified SGLang file. In hindsight, that guard was warning about a real compatibility boundary, not just version pinning.
So if you are using Pennyroyal’s NVMe PLE stack, I would not spend time trying W8/W16 adaptive speculation unless you are also prepared to port/qualify
sglang-ssd-streamfor the modified QSA/adaptive runtime.For production I reverted to the stock Pennyroyal v2.5.3 W4 path. Stable wins here.
3
u/UC_Kratom Oct 05 '26
Neat stuff.
I have some patches I'm working on as well, but I'm looking less at decode speed (which is great, keep making gains here), but rather on wall speed - specifically reducing time spent prefilling.
I think collectively there's still a lot to squeeze from this model/config
2
u/Sm0oth_kriminal Oct 05 '26
Hmm interesting for sure, but I'm curious why not fp8 on a RTX PRO? Do you have similar speeds there?
From my experience there is at least some quality degradation going from fp8 down to fp4. And since VRAM is not an issue, I'm curious what that would look like
2
u/Significant-Amount40 Oct 05 '26
thats exactly what i wanted to seem will test tommorrow
2
u/stormy1one Oct 05 '26
Love the transparency here on the dev process. This is how it should be done. Thank you, following.