DGX Spark LLM Benchmark — October 2026 (128K context × 4 users)

Short answer: the fastest well-rounded model on a single NVIDIA DGX Spark is Qwen3.6-35B-A3B NVFP4 on vLLM 0.31.0 with MTP speculative decoding: 102.3 tok/s for one user and 240.0 tok/s total with 4 users, at 128K context, using ~56 GB. It sustained 218.0 tok/s for 15 minutes with zero failed requests.

Español: Benchmark DGX Spark (octubre 2026) · Ready-to-run configs: Recipes · Let an AI agent deploy one: Agent prompt

Last updated: 2026-10-06. Hardware: one NVIDIA DGX Spark (GB10 Grace Blackwell, 128 GB unified memory, ~121 GB usable, aarch64). Every model ran with the same configuration: 128K tokens of context per conversation, 4 concurrent users, FP8 KV cache, and a memory budget computed for that size.

How we measured

  1. 1 user: 3 streamed requests with a fixed ~200-word prompt; median time to first token (TTFT) and decode tokens/s.
  2. 4 users: 4 simultaneous requests; total tokens/s across users.
  3. Long prompt: one ~46K-token prompt (prefill speed).
  4. Stability: 3 rounds of 4 concurrent users plus the long prompt; any server error, failed request or container restart marks the model as unstable.
  5. Extended check for the top pick: varied prompts (code, JSON/tool calls, long summary, Spanish writing) at temperature 0 and 0.7, then 15 minutes of sustained load.

The benchmark script is in benchmarks/standard-round/standard_round.py (standard library only) and works against any OpenAI-compatible server.

Results (sorted by single-user speed)

ModelParams (total / active)EngineSpeculative1 user tok/s4 users tok/s (total)TTFT46K-token promptLoadMemoryStable
Qwen3.6-35B-A3B35B / 3B MoEvLLM 0.31.0MTP k=2102.3240.0106 ms9.5 s2.7 min55.5 GByes
GPT-OSS-20B21B / 3.6B MoEvLLM 0.31.0—96.2150.63319 ms8.9 s2.9 min25.7 GByes
Nemotron 3.5 Lightning 30B-A3B30B / 3B MoE (hybrid Mamba)vLLM 0.31.0DSpark k=394.4213.295 ms9.5 s4.5 min43.5 GByes
Qwen3.6-35B-A3B35B / 3B MoEvLLM 0.31.0—78.1196.663 ms9.6 s2.1 min47.0 GByes
Nemotron 3.5 Lightning 30B-A3B30B / 3B MoE (hybrid Mamba)vLLM 0.31.0—70.3170.7100 ms10.2 s3.9 min45.0 GByes
Qwen3.6-35B-A3B35B / 3B MoEvLLM 0.31.0DFlash k=1167.8148.695 ms9.5 s3.4 min71.8 GByes
GPT-OSS-20B21B / 3.6B MoENIM 2.0.9—62.8151.41650 ms13.8 s4.8 min33.0 GByes
GPT-OSS-20B21B / 3.6B MoEvLLM 0.31.0Eagle3 k=359.4144.71314 ms16.4 s2.7 min38.4 GByes
Nemotron 3 Nano Omni 30B-A3B30B / 3B MoE (hybrid Mamba)vLLM 0.31.0—58.8184.6123 ms8.6 s4.1 min43.6 GByes
Gemma 4 26B-A4B26B / 4B MoEvLLM 0.31.0MTP drafter k=356.5186.6119 ms29.7 s4.8 min45.1 GByes
Nemotron 3 Nano Omni 30B-A3B30B / 3B MoE (hybrid Mamba)NIM 2.0.13—56.0161.3148 ms11.4 s6.7 min62.7 GByes
GPT-OSS-120B117B / 5.1B MoEvLLM 0.31.0—44.4124.91921 ms14.5 s9.3 min80.5 GByes
GPT-OSS-120B117B / 5.1B MoEvLLM 0.31.0Eagle3 k=340.591.82143 ms26.1 s9.2 min87.5 GByes
Gemma 4 26B-A4B26B / 4B MoEvLLM 0.31.0—30.8114.091 ms26.0 s4.3 min39.9 GByes
Gemma 4 26B-A4B26B / 4B MoEvLLM gemma4 image—30.7108.582 ms25.4 s3.8 min39.4 GByes
Qwen3.8-Flash-Next176B / 6B MoEpatched vLLM (qwen38-flash-dgx)MTP k=226.852.5259 ms30.2 s13.8 min95.7 GByes
Llama 3.1 8B Instruct8B denseNIM 2.0.9—26.4102.381 ms15.5 s5.1 min33.6 GByes
Qwen3-8B8B densevLLM 0.31.0 (YaRN x4)—23.295.784 ms21.7 s2.8 min55.5 GByes
Nemotron 3 Super 120B-A12B120B / 12B MoE (hybrid Mamba)vLLM 0.31.0MTP k=323.057.0424 ms25.8 s13.4 min95.2 GByes
Qwen3.8-27B27B densevLLM 0.31.0MTP k=219.067.0233 ms41.9 s7.7 min59.5 GByes
Nemotron 3 Super 120B-A12B120B / 12B MoE (hybrid Mamba)vLLM 0.31.0—16.142.8326 ms22.8 s10.3 min94.3 GByes
Qwen3.8-27B27B densevLLM 0.31.0DSpark k=1412.533.9256 ms43.6 s8.8 min63.6 GByes
Qwen3.8-27B27B densevLLM 0.31.0—11.039.6202 ms47.7 s6.6 min47.0 GByes

TTFT for GPT-OSS includes its reasoning phase. “Memory” is how much free memory the Spark lost when the model loaded.

Speculative decoding: real gains by workload (Qwen3.6-35B + MTP)

MTP never lowers quality (the main model verifies every drafted token); what changes is how many drafts are accepted, and that depends on the content.

WorkloadWithout MTPMTP, temp 0MTP, temp 0.7MTP acceptance
Code78.6125.2117.184.2–77.4 %
JSON / tool calls79.2129.3120.390.2–82.6 %
Long summary75.0106.2102.870.4–67.6 %
Spanish writing78.495.192.451.3–49.3 %
15 min sustained, 4 users170.9218.0 (mixed)69.3 %

NIM vs your own vLLM container

ModelNIM (1 user / 4 users)vLLM 0.31.0 (1 user / 4 users)
GPT-OSS-20B62.8 / 151.496.2 / 150.6
Nemotron 3 Nano Omni56.0 / 161.358.8 / 184.6

NIMs are convenient and pass vLLM flags through, but on the Spark a plain, recent vLLM image was faster. Check the image architecture before pulling: nvcr.io/nim/qwen/qwen3.8-27b (latest and 2.1.1-variant) and nvcr.io/nim/qwen/qwen3-32b were amd64-only on 2026-10-06.

What did not fit or did not run

Recommendations by use case

Use casePickWhy
Agents / tool calling (e.g. Hermes, OpenClaw)Qwen3.6-35B + MTPFastest overall, 80–90% MTP acceptance on JSON/tool calls, image + video input
Coding assistantQwen3.6-35B + MTP; second opinion with GPT-OSS-120BFast iteration plus an independent model family to review
Multimodal with audio/videoNemotron 3 Nano Omni (vLLM)Text, image, audio and video in one model; fastest long-prompt prefill
Fast general model, low memoryNemotron 3.5 Lightning + DSpark or GPT-OSS-20B94.4 / 96.2 tok/s single user
Deep reasoning, long documents, fewer usersNemotron 3 Super 120B + MTPLargest model that fits with 128K × 4; tiny KV cache thanks to its hybrid Mamba design

FAQ

What is the fastest LLM on the NVIDIA DGX Spark?

In our October 2026 round at 128K context and 4 concurrent users, Qwen3.6-35B-A3B NVFP4 on vLLM 0.31.0 with MTP speculative decoding was the fastest: 102.3 tok/s for one user and 240.0 tok/s total with 4 users, using about 56 GB of the 128 GB unified memory.

Is NVIDIA NIM faster than vLLM on the DGX Spark?

Not in our tests. With the same model, a plain vLLM 0.31.0 container was faster than the official NIM: GPT-OSS-20B ran at 96.2 vs 62.8 tok/s for one user, and Nemotron 3 Nano Omni at 58.8 vs 56.0 tok/s. Some NIMs (Qwen3-32B, Qwen3.8-27B) are only published for amd64 and do not run on the Spark.

Does speculative decoding (MTP, DSpark, Eagle3) help on the DGX Spark?

Yes, mostly for agent and code workloads. Qwen3.6 with MTP went from ~78 to ~125 tok/s on code and JSON/tool calls (80-90% acceptance) but only to ~95 tok/s on free-form writing (~50% acceptance). Gemma 4 with its official MTP drafter nearly doubled (31 to 57 tok/s). DSpark helped Nemotron 3.5 Lightning (+34%) but barely helped Qwen3.8-27B on fresh text. Eagle3 made GPT-OSS slower (96 to 59 tok/s on 20B), so skip it there.

Can I run Llama 3.3 70B with 128K context and 4 users on a DGX Spark?

No. Llama 3.3 70B is dense with 80 full-attention layers, so its KV cache needs about 160 KB per token: four 128K conversations plus the weights need roughly 133 GB, more than the Spark’s 121 GB of usable unified memory. Use fewer users or a shorter context.

Which model should I use for agents, coding, content or research on the DGX Spark?

Agents (tool calling, low latency): Qwen3.6-35B + MTP. Coding: Qwen3.6-35B + MTP, with GPT-OSS-120B as an independent second opinion. Multimodal with audio/video: Nemotron 3 Nano Omni (vLLM). Long, careful reasoning with fewer users: Nemotron 3 Super 120B + MTP.