Disclosure: As an Amazon Associate I earn from qualifying purchases. This site contains affiliate links.
Qwen 3.8 27B on One GX10: The Receipts
The Aug 10 cheer was a bet. The Aug 11 lab note was a load plan. The run started after weights landed Aug 13–14.
Key takeaways
- The Aug 10 cheer was a bet. The Aug 11 lab note was a load plan. The run started after weights landed Aug 13–14.
- On this box the daily driver is Qwen3.8-27B-NVFP4, one Spark, thinking off. Unsloth on vLLM+MTP. RadixArk (ModelOpt) on SGLang+EAGLE.
- Short matched decode: SGLang+EAGLE won. Smoke 25.89 → 32.19 tok/s. Test1 26.09 → 31.19. Recipe claimed ~33–35. We landed ~31–32.
- Long HTML is a different scoreboard. Same PULSE-16 prompt: 21.78 / 24.62 / 21.52 tok/s. Short TG claims are not long-gen TPS.
- MTP beat DSpark on this host because the draft actually got accepted. Pirate-ship six-panels are content, not a bench.
Local LLMs on NVIDIA Spark / ASUS GX10
I cheered Qwen 3.8 27B before the weights existed. Then I loaded NVFP4 on the ASUS Ascent GX10 and timed it. This is that week, with the threads and the comments attached.

The bet
The Aug 10 cheer — Qwen 3.8 27b, thirty times, then “We believe in you!!!!”
That post did ~538K impressions. I later quoted it and wrote, “I wish I could still write these bangers like I used to.” @decapostos asked for the secret. I told him I’m not sure it’s repeatable.
QwenDevs answered the cheer in-thread: “Got you covered bro, 27B is landing this week.” Weights did. Official repo is Qwen/Qwen3.8-27B, Apache 2.0, BF16 about 55.6 GB, 262K native context, vision included. The file I actually run is NVFP4, not the 55 GB safetensors.
The first-look note is still up: Qwen 3.8 27B Locally: We Believe in You. That was the load plan. The run started after weights landed Aug 13–14.
Hardware is the same ASUS Ascent GX10 I unboxed Aug 8: The ASUS Ascent GX10 Showed Up — NVIDIA GB10, 128 GB unified. One box. Not a cluster.
What I actually ran
Quant: Qwen3.8-27B-NVFP4.
Stacks I named in public:
- Unsloth NVFP4 on vLLM + MTP (
:8000) - RadixArk ModelOpt NVFP4 on SGLang + EAGLE (
:8888) - sparkrun vLLM 0.27 + MTP-3 after @jaita pointed at styles01/sparkrun-recipes and the drowzeys GB10 image (
:8078)
Baseline → MTP → DSpark sweep, thinking off, temp 0, wall-clock tok/s:
| Seat | short | med | long |
|---|---|---|---|
| Baseline Unsloth NVFP4 | 7.3 | 11.0 | 11.2 |
| MTP Unsloth NVFP4 | 5.6 (0.77×) | 19.0 (1.73×) | 25.5 (2.28×) |
| DSpark Unsloth NVFP4 | 0.8 | 10.2 | 8.3 |
| DSpark ModelOpt NVFP4 | 5.3 | 11.5 | 12.2 |
| FP8 + RadixArk DSpark | 4.0 | 7.87 | 8.52 |
DSpark accept rate 3.4–8.1%, mean accept length 1.24–1.57. MTP accept 60–100% on longer sequences, mean accept length 2.2–3.0. MTP won.
MTP depth sweep n=1–4, thinking off. Daily winner n=3: med 19.7 / long 20.0 tok/s, math 11.5, accept ~56%, mean accept length 2.67. n=4 added about 7% on long (21.5) and lost short/math. Accept fell to ~51%. Default MTP_N_SPEC=3.
@jurlycat said n=4’s long-context gain probably isn’t worth the acceptance hit for mixed workloads.
@neojohnson113 asked if 27B could sit next to DeepSeek V4 Flash on one Spark. I said I don’t think it can fit. Flash stays the Moon Trail coding loop: Hermes + DeepSeek V4 Flash on the GX10.
The speed-leader thread
Matched single-stream, same host, one heavy stack at a time, thinking off, smoke 256 / test1 4096.
| vLLM + MTP · Unsloth | SGLang + EAGLE · RadixArk | |
|---|---|---|
| Smoke decode | 25.89 tok/s | 32.19 tok/s (+24%) |
| Test1 decode | 26.09 tok/s | 31.19 tok/s (+20%) |
| Smoke TTFT | 1.46s | 0.35s |
| Test1 TTFT | 0.47s | 0.27s (~1.8×) |
SGLang won. Recipe claimed ~33–35 tok/s single. We landed ~31–32. Tagged @MiaAI_lab and @sgl_project.
Comments from that thread:
- @MiaAI_lab: “Yeah sglang is faster on this model vs vllm.”
- @jaita: “I got 32 on vLLM.”
- @PhilShteuck: bake-offs have a shelf life of about nine days.
- @jtregunna on 2× RTX A6000 (not a Spark): vLLM BF16, 8-bit KV, MTP 2, up to 44 tok/s high / 30 low, ~980 tok/s prefill; SGLang ~12% slower on decode. Caveat: different card.
- @unseenmars_ asked about DSpark.
- @DJLougen pointed at vanilla SGLang + DSpark, quoting sgl_project (206.1 tok/s 5090, 38.28 DGX Spark).
- @alexellisuk wanted prefill and a longer sweep.
- @RedmixGeco on 4.2× smoke TTFT. I said Asus Ascent GX10.
- @JakeSmGaming QT: “SGLang keeps winning these. TTFT from 1.46s to 0.35s is wild.”
- @vernons: Lightning ~100 tok/s vs Qwen 3.8 NVFP4 ~10 tok/s, MoE-vs-dense confound.
The long-HTML bake-off
PULSE-16 locked prompt SHA 4cae231f…, thinking off, max_tokens 64k, long HTML.
| Seat | tok/s | TTFT | tokens | gen |
|---|---|---|---|---|
| A prior vLLM+MTP (Unsloth) | 21.78 | 0.84s | 23,606 | 1083.6s |
| B SGLang+EAGLE (RadixArk) | 24.62 | 0.65s | 19,526 | 793.2s |
| C sparkrun vLLM 0.27 MTP-3 | 21.52 | 0.67s | 25,665 | 1192.7s |
B still fastest (+13% vs A). C is A-class and gate-passed. External “~32 on vLLM” did not show up as ~32 on long HTML. C smoke ~21. Short TG claims ≠ long HTML TPS.
@jaita is in that thread.
What I used 27B for
- Breakout
- Racer
- Nemotron same prompt
- Laguna same prompt
- Cheer-thread reply game
- Speed test reply
- Same-prompt clip dump
- @jaita asked about Hermes quirks. That question is still open. I am not inventing an answer.
Pirate-ship caveat
I ran the same “build a pirate ship game” brief through 6 models. Content, not science. His own bullets:
- Same prompt ≠ same product. Each model invents a different game, so you’re ranking vibes, not capability on a fixed task.
- The footage is scripted autopilot (orbit + force-click), not a human playing. Smooth video ≠ fun.
- Local vs cloud confounds stack, quant, thinking flags, max tokens, and parent polish.
- One GPU at a time → sequential, not fair head-to-head latency.
- Pretty six-panels with burn-in labels hide broken meshes, bare identifiers, and “works on my capture harness.”
- Freeform Test-1 energy: brands and UIs diverge; the bench quietly becomes a design contest.
What would be a real bench: locked identity + identical prompt bytes + completeness gate + honest autopilot vs organic labels + stack IDs only. Until then this is content, not science.
35B-A3B
This will be next, quoting AstraiaAI. Next-weight note, not a 27B receipt.
How I would load it this week
- One GX10. Do not pair 27B NVFP4 with Flash as two residents.
- Start Unsloth NVFP4 on vLLM, MTP n=3, thinking off.
- If first-token latency matters, time RadixArk SGLang+EAGLE on your prompt.
- If someone quotes ~32 tok/s, ask smoke-256 vs 20k-token HTML.
- Native NVFP4 on Blackwell. Ada/Ampere still Q4_K_M. See the VRAM requirements guide and the 2026 model tracker.
- Flash for the long coding loop. 27B for chat and light agents.
If you timed the same quant on a Spark, a 4090, or something else, send the stack and the prompt class — X (@wikiwayne).
Frequently asked questions
Maybe at a hard Q4. I did not time that this week. Ollama qwen3.8:27b is an 18 GB file size, not a tok/s number.
SGLang+EAGLE / RadixArk. Unsloth was close on long gen. sparkrun did not steal the crown.
That is SGLang day-0. We landed ~31–32 short and ~25 long HTML.
No. Pirate-ship is content, not a bench.
Affiliate Disclosure: As an Amazon Associate I earn from qualifying purchases. This site contains affiliate links.
