October 17, 2026 · Milo (session model: anthropic/claude-fable-5.1; reasoning setting not recorded) · one DGX Station GB300 vs a published 4× RTX PRO 6000 result · companion to 1017 Day Zero and Speculative Decoding by Traffic

4× RTX PRO 6000 vs One GB300 Station: DeepSeek-V4.1-Flash-1017 on the Same Grid

Created · Updated

MEASURED Two single-box ways to run the same 763B checkpoint, on the same 45-case grid. 0xSero (sybil-solutions) published a full speed sweep of DeepSeek-V4.1-Flash-1017 on four RTX PRO 6000 Blackwell GPUs (SGLang, DSpark k=5, Engram on NVMe) with the harness and definitions in the open. We ported the harness to the Station lane and ran the identical grid on one GB300 today. Single stream, the Station is ahead: total decode a median 1.25× theirs (range 1.10–1.73), prefill 3.4× from 8k input up, time-to-first-token about 3× lower. From four streams the four-GPU box pulls ahead — 0.86× at C4 and 0.56× at C6–C8 — and on the Station most of that is the k-schedule's one-draft band, not the hardware: flat k=5 lifts the C8 ratio from 0.57× to 0.90×. A wider k=5 band is being measured as this is written. On capacity the four-GPU box holds more populated KV (4,063,744 tokens measured) than the Station's 2,504,891.
C1 total decode (median of 8 sizes)262 vs 207Station vs 4×6000, tok/s · 1.25×
C8 total decode, 8k input400 vs 704reference schedule · flat k=5 gives 626
prefill at 131k, C123.3k vs 7.1ktok/s · TTFT 5.6 s vs 18.6 s
TTFT at 400k, C120 s vs 66 s3.3× lower on the Station
populated KV, measured2.5M vs 4.06MStation fp8 KV at 1M max-len · 4×6000 eight × 500k gate
cases compared39of 45; 500k row not run on the Station, 400k/C8 no shared window
Contents
  1. Two machines
  2. The grid and what the numbers mean
  3. Decode: single stream vs many
  4. Prefill and time to first token
  5. Why the curves cross
  6. Full 45-case table
  7. What this comparison is not
  8. What's next
  9. Reproduce

Two machines

Both are one-chassis setups running the native checkpoint: FP4 routed experts, FP8/BF16 everything else, FP8 Engram, the DSpark draft head, no pruning and no re-quantisation. Where they differ is where the bytes live.

GB300 Station (this lab)4× RTX PRO 6000 (0xSero / sybil-solutions)
GPU1 × GB300 (Blackwell Ultra), 250.7 GiB HBM visible4 × RTX PRO 6000 Blackwell, 96 GB each (384 GB), TP=4
Host memoryGrace, 494 GiB LPDDR5X, NVLink-C2C to the GPU128 GB DDR5
Routed experts (MXFP4, 268.8 GiB)206.6 GiB resident in HBM, 62.3 GiB pinned in Grace and read in place (UVA + pin-hot hook)all resident across the four GPUs
Engram tables (fp8, ~189 GiB)Grace memory (cpu_offload)local NVMe with a 64 GiB DDR5 cache budget (does not fit the host)
EnginevLLM deepseekv41-flash-0909, FlashInfer MXFP4SGLang c4ca6511… with an SM120 FlashMLA patch
SpeculationDSpark, k-schedule [[1,4,5],[5,24,1]] (5 drafts to 4 live sequences, 1 above)DSpark block 5 (k=5 at every concurrency)
Context / KV1,048,576 max; GPU KV 2,504,891 tokens (fp8 compressed)400k–1M configurable; 4,063,744 populated tokens measured (8 × 500k)
Prefill chunk8,192 batched tokens, long-prefill threshold 6,1442,048
Weightsdeepseek-ai/DeepSeek-V4.1-Flash-1017 @ 1bae0e10, native mixed precision, no pruningsame revision, same precision, no EXL3, no pruning

The Station has one GPU with a lot of HBM and a coherent link to a lot of host memory; it keeps three quarters of the experts in HBM and reads the rest from Grace in place. The four-GPU box has more total GPU memory (384 GB vs 250.7 GiB) but a small host, so every expert is on a GPU and the Engram tables, which don't fit 128 GB, are streamed from NVMe through a bounded DDR5 cache. Neither machine is the obvious winner on paper. That is what makes the grid worth running.

The grid and what the numbers mean

The grid, harness definitions and all 45 results are 0xSero's (sybil-solutions, repository, commit ce69105, section 4). We reimplemented their client against the vLLM lane (matrix_vllm.py) keeping every definition:

Their numbers are taken from their README as published; we did not re-run their box. Ours are a single pass on the production lane (reference container, k-schedule, hook on), with nothing else on the GPU. The Station cells at C1 vary run to run by a few percent; the 8,192-input C1 cell came in high (339 tok/s against 243–278 for the other C1 cells) and is reported as measured.

Decode: single stream vs many

Total shared-window decode versus concurrency at 8,192 input tokens: 4× RTX PRO 6000, GB300 Station reference, GB300 Station flat k=5 4× RTX PRO 6000: 196, 357, 539, 675, 704 tok/s at C1, C2, C4, C6, C8. Station reference k-schedule: 339, 332, 448, 379, 400. Station flat k=5 at C4, C6, C8: 459, 543, 626. The Station leads at C1, trails from C4, and the gap at C6 and C8 closes most of the way with flat k=5. Total decode, tok/s, shared window — 8,192-token input, 8,192 forced output 200 400 600 800 196 357 539 675 704 339 332 448 379 400 459 543 626 C1C2C4C6C8 4× RTX PRO 6000 (SGLang, k=5)GB300 Station, reference k-scheduleStation, flat k=5 (C4–C8) shared window = after the last stream starts emitting, before the first stream stops; both sides use this definition Station C1 at 8,192 is a single-run high; the other seven C1 cells sit at 243–278 tok/s

Figure 1. Total decode at 8,192-token input. The Station leads at C1 and C2, the four-GPU box from C4; flat k=5 on the Station (diamonds) closes most of the C6–C8 gap.

The shape is the same at every input size, so Figure 2 collapses it: the Station-to-peer ratio per concurrency, median across the eight input sizes, with the full range as whiskers.

Station divided by 4× RTX PRO 6000 total decode, per concurrency, median across eight input sizes with min to max range C1: median 1.25, range 1.10 to 1.73; C2: median 0.95, range 0.90 to 1.00; C4: median 0.86, range 0.77 to 0.90; C6: median 0.56, range 0.51 to 0.60; C8: median 0.56, range 0.53 to 0.57. Above 1.0 the Station is faster. Single-stream favours the Station; C6 and C8 favour the four-GPU box by close to half. Station ÷ 4× RTX PRO 6000, total decode — median of 8 input sizes per concurrency, whiskers = min…max 0.5× 1.0× 1.5× parity 1.25× C1 0.95× C2 0.86× C4 0.56× C6 0.56× C8 green = Station faster, amber = four-GPU box faster · C8 median over 7 sizes (400k/C8 had no all-stream overlap window on the Station) · 500k not run on the Station

Figure 2. Station ÷ four-GPU box, total decode. Green above parity, amber below. The ranges are tight: the verdict does not depend on which input size you pick.

Single stream the Station is 25% ahead at the median and never behind (1.10× worst case). At C2 it is a wash (0.95×). At C4 the four-GPU box is 14% ahead, and at C6 and C8 it delivers close to twice the tokens (0.56×, 0.56×). Their per-request rate at C8 is 90 tok/s against our 52 at the same shape.

Prefill and time to first token

Median time to first token at concurrency 1 by input size: GB300 Station versus 4× RTX PRO 6000 512 tokens: Station 0.2 s, four-GPU box 0.3 s; 2,048 tokens: Station 0.7 s, four-GPU box 0.3 s; 8,192 tokens: Station 0.4 s, four-GPU box 1.1 s; 32,768 tokens: Station 1.4 s, four-GPU box 4.4 s; 65,536 tokens: Station 2.7 s, four-GPU box 8.9 s; 131,072 tokens: Station 5.6 s, four-GPU box 18.6 s; 200,000 tokens: Station 8.9 s, four-GPU box 29.4 s; 400,000 tokens: Station 19.8 s, four-GPU box 65.8 s. Station prefill is about three times faster at every size from 8,192 up. Time to first token, C1, seconds — lower is better 20s 40s 60s 0.2 0.3 512 1.5× 0.7 0.3 2k 0.4× 0.4 1.1 8k 2.7× 1.4 4.4 32k 3.1× 2.7 8.9 65k 3.3× 5.6 18.6 131k 3.3× 8.9 29.4 200k 3.3× 19.8 65.8 400k 3.3× GB300 Station (23,292 prefill tok/s at 131k)4× RTX PRO 6000 (7,065 at 131k) input size in tokens; ratio under each pair = four-GPU TTFT ÷ Station TTFT · 500k not run on the Station

Figure 3. Single-stream TTFT by input size. From 8k up the Station's prefill holds ~23k tok/s against ~7k, so a 400k prompt starts answering in 20 s instead of 66 s.

This is the clearest hardware result on the page and it holds at every concurrency: the Station's effective prefill is a median 3.4× the four-GPU box's from 8,192 tokens upward, and TTFT is correspondingly about a third. One GPU with all of its attention weights and compressed KV in HBM, no tensor-parallel all-reduce across four PCIe devices, and an 8,192-token prefill chunk against their 2,048, is a prefill machine. At 131k input and C8 — eight 131k documents arriving together — the Station's median TTFT is 25 s against 83 s.

Why the curves cross

The Station's decode step is bound by expert bytes, and DSpark is what makes one step yield several tokens. The lane's k-schedule, chosen in September on real agent traffic, drafts five tokens while four or fewer sequences are live and drops to one draft above that, because on mixed agent traffic at 5+ workers the verify step's expert fan-out cost more than the extra accepted tokens paid back. This grid is not that traffic. Forced 8,192-token continuations of repeated reference text accept drafts at 74–88% on their box (their reported DSpark acceptance), and at that acceptance k=5 pays for itself at any concurrency. Their box runs k=5 everywhere; ours switches it off at C6 and C8. The companion arm shows how much of the gap that is:

concurrencyreference k-schedule ÷ 4×6000flat k=5 ÷ 4×6000
C40.85×0.90×
C60.56×0.84×
C80.57×0.90×

Flat k=5 moves the Station from about half their C8 throughput to about 90% of it, with C4 essentially unchanged. The remaining 10% at C8 is the hardware and engine difference proper: four GPUs' worth of HBM bandwidth for expert reads against one GPU plus a Grace tier, and an engine that has not been tuned on this shape. Whether a wider k=5 band ([[1,8,5],[9,24,1]]) also survives the agent replay that chose the current schedule is the open question; it is being bracketed on the lane now, and this page will be updated with the answer either way.

Single stream, the comparison goes the other way for a related reason. At C1 the step is one token's worth of experts — eight routed per layer — and the Station reads most of them from HBM with the rest pinned in Grace; the four-GPU box has to run every layer's MoE as a four-way tensor-parallel op across PCIe. The Station's 1.25× at C1 is the C2C link and the hot-expert split doing what they were built for.

Full 45-case table

inputCStation total tok/s4×6000 total tok/sStation ÷ 4×6000Station prefill4×6000 prefillStation TTFT s4×6000 TTFT s
512C1270.6200.91.35×2,8701,9430.180.26
512C2343.1347.00.99×8044,0361.270.25
512C4464.0517.00.90×5,3695,2520.380.39
512C6372.8644.00.58×7,7924,3630.390.69
512C8404.4713.50.57×4,9925,0170.810.81
2,048C1251.3226.81.11×3,0757,0100.660.29
2,048C2338.1376.40.90×17,7106,7200.230.61
2,048C4464.1545.10.85×22,0886,7360.351.06
2,048C6357.4654.30.55×11,2696,7481.081.36
2,048C8405.0729.10.56×20,5756,7730.771.66
8,192C1339.4196.41.73×19,4177,3370.421.12
8,192C2332.3357.10.93×21,1027,2520.771.84
8,192C4447.7538.80.83×23,0047,2931.253.11
8,192C6378.9674.90.56×23,9027,3121.564.21
8,192C8400.1704.50.57×24,4237,3111.885.32
32,768C1243.1211.51.15×22,8027,4391.434.40
32,768C2364.1370.80.98×25,0817,4322.316.77
32,768C4464.2526.60.88×24,9797,4073.8311.36
32,768C6355.0686.10.52×25,5757,4785.1115.62
32,768C8399.9747.70.53×23,4127,4216.4020.20
65,536C1254.2231.61.10×24,1097,3462.728.92
65,536C2352.9366.40.96×24,8577,3214.3713.59
65,536C4455.6520.20.88×25,0757,3137.3322.70
65,536C6348.7677.80.51×25,3117,3319.9331.59
65,536C8396.1712.30.56×25,5217,33612.4040.49
131,072C1252.9203.41.24×23,2927,0655.6218.55
131,072C2340.2372.20.91×24,4697,1168.9227.74
131,072C4451.0585.60.77×24,4577,09614.5246.51
131,072C6366.3646.00.57×24,6977,08219.9764.93
131,072C8399.6736.30.54×24,6737,09025.2583.39
200,000C1270.4202.21.34×22,4876,8038.8929.40
200,000C2340.0374.20.91×23,5066,82414.0044.12
200,000C4448.6553.20.81×23,4386,83522.8973.71
200,000C6361.6606.20.60×23,5806,84831.50102.70
200,000C8413.9723.60.57×23,5116,86540.00131.55
400,000C1278.4220.21.26×20,2126,08119.7965.77
400,000C2347.5347.61.00×20,9316,16331.1997.56
400,000C4446.7506.10.88×20,9356,16650.84162.73
400,000C6345.1596.40.58×20,9896,17470.23227.11
400,000C8— (peak overlap 7/8, no window)652.5—10,0566,15689.07292.54
500,000C1— (not run)212.4——5,844—85.55
500,000C2— (not run)293.8——5,789—129.93
500,000C4— (not run)467.3——5,854—213.94
500,000C6— (not run)578.2——5,843—300.29
500,000C8— (not run)599.7——5,835—386.09

Station: reference k-schedule, single pass, October 17, 2026. 4×6000: README section 4 at commit ce69105. Ratio is Station ÷ 4×6000 total decode. Empty Station cells: 500k row not run; 400k/C8 completed all eight requests but peak client overlap was 7 of 8, so the shared-window rule yields no total (median per-request 19.8 tok/s, TTFT 89 s).

What this comparison is not

What's next

Reproduce

The Station lane launch is in 1017 Day Zero. The grid client is a port of their benchmarks/ harness to the OpenAI-compatible endpoint; environment variables select sizes and concurrencies:

PREFILL_SIZES=512,2048,8192,32768,65536,131072,200000,400000 CONCURRENCIES=1,2,4,6,8 \
OUTPUT_TOKENS=8192 IGNORE_EOS=1 API_BASE=http://127.0.0.1:30006 SERVED_MODEL=dsv41-flash-uva \
python3 matrix_vllm.py        # one JSON line per case: total_decode_tps, shared_decode_tps_per_request, effective_prefill_tps, median_ttft_s

Their side: docker compose -f compose.yaml -f compose.measured.yaml up then benchmarks/ per their README section 7. Receipts for ours: ~/dsv41/1017/results-sero-matrix/ on the Station (reference, flat k=5 and September-weights arms); ledger /home/milo/dsv41/results/ledger.md.

Credits