Running LLMs on the DGX Spark
I run local language models on the DGX Spark, including in NVFP4 of FP8. This guide covers memory, speed and my software settings. How useful a model is depends on your task and the number of concurrent users.
Updated 14 September 2026
What the DGX Spark is
The DGX Spark is a compact NVIDIA AI computer with a GB10 superchip. CPU and GPU share memory. You can run language models locally and place the machine next to your desk.
The interesting detail is in the FP4 compute. NVIDIA advertises the Spark with a petaFLOP of FP4, but on sm_121 it lacks the instruction path that NVFP4 needs. vLLM warns about this itself and falls back to Marlin, which dequantizes the 4-bit weights to BF16. So you store 4-bit, and that memory win is real, but you compute at a higher level. For pure compute that's a downside, for memory and bandwidth it isn't, and on this hardware that's where the win sits.
- Chip
- GB10 superchip
- Memory
- 128 GB unified
- Compute
- SM12.1, no native FP4
- Price range
- ~€3,700 excluding VAT
What fits on it
The rule of thumb: model size in billions of parameters, times the bytes per parameter, is what you spend in memory. BF16 costs 2 bytes per parameter, FP8 one, NVFP4 half. So a 30B model in BF16 is about 60 GB of weights, in NVFP4 just 15. On top of that comes the KV cache, and that grows with your context length.
What fits in 128 GB depends on model size and precision. After loading the weights, there must still be room for the KV cache. Precision therefore also affects the context you can use.
- BF16
- 2 bytes / param
- FP8
- 1 byte / param
- NVFP4
- 0.5 byte / param
Best quality, eats memory. For codegen where it has to be right.
The middle ground. Halves memory, quality barely noticeably lower.
Maximum room and throughput. Fine for RAG and agents, watch out for codegen.
How fast it is
Prefill processes your prompt; decode generates the answer tokens. With short prompts, output speed is most noticeable. Long prompts can take substantial time to process before output starts. In my Spark tests, this waiting time rose sharply with large contexts.
In my overload test, requests stayed in the queue and the server did not crash. Waiting time did increase. Alongside throughput, check how long users wait for answers under heavy load.
The exact numbers per model and context length are in the benchmark suite, run on a single Spark with a fixed measurement protocol. The reasoning behind these three numbers is in a separate essay.
- Decode @ small
- 20,9 t/s/user
- Decode @ 25k
- 7,6 t/s/user
- Prefill wall
- ~25k tokens
- Stable streams
- 25 concurrent
Indication on Gemma-4-26B-A4B in NVFP4. This differs per model and precision, the full numbers are in the arena.
→ To the full benchmark suiteWhich engine
I use vLLM to serve models as an API. It supports the NVFP4 configuration I test and can process long prompts in chunks using chunked prefill.
My configuration enables chunked prefill. I tune max-num-batched-tokens and memory utilisation to the desired context length. These settings affect stability and throughput. The configuration is in the Gemma-4 build log.
What it costs
Hardware is a one-time purchase; electricity is ongoing. A Spark draws about 170 watts under load. It will rarely run at full capacity 24/7. At roughly 8 hours of actual load per day, electricity costs about €93 per year. An extra token then costs very little: just electricity. But the actual cost per token depends on how fully you use the machine and is by no means always lower than a hosted API.
The break-even point depends on your volume. Run a prompt now and then and a cloud API is cheaper. Run day in day out with a team or a production workload and the hardware pays for itself. The full sum is on the cost page.
- Purchase
- ~€3,700 excluding VAT
- Power under load
- ≈170 W
- Power per year
- ≈€93/year
- Per extra token
- ≈€0,00
Power based on ~8 hours of load per day at €0.26/kWh. A Spark is rarely under full load 24/7, so running continuously overstates the bill.
→ The full cost comparison: local vs cloudWho it's for
A cloud API can be more practical if you are allowed to process data there and do not want to manage a model server yourself. A Spark is an option when you want to keep processing under your own control.
Hardware is only one part of the decision. The Local AI decision guide also compares quality, data boundaries, operations, cost and change.
Think of SMBs and organizations that work with personal data, internal documents or customer data that has to stay close under GDPR. Then the question isn't "what's the fastest model", but "which part is even allowed to leave". A Spark under your own control answers that a lot more easily than a contract with a cloud provider.
With your own hardware, you choose the model version and when to update it. Your machine limits capacity. You also handle maintenance and updates yourself.
Reproduce it yourself
All figures on this site come from one Spark, using a fixed protocol: the same prompts, the same seeds and three runs per measurement. Configuration, prompts and raw output are public on GitHub.
Getting different results on another Spark or vLLM version? Send your settings and measurements so we can investigate the differences.
Read next
Gemma-4 on the DGX Spark: where context hurts
Nine benchmarks with the vLLM configuration and waiting times for longer prompts.
Read on →BenchmarkGemma-4: NVFP4 vs BF16
The same nine tests, two precisions. Where NVFP4 nearly doubles throughput.
Read on →BenchmarkNemotron-3: BF16 vs FP8 vs NVFP4
Three precisions side by side on the same model and the same Spark.
Read on →QuantizationWhat quantization became after three benchmark rounds
The concept under the numbers: which task may run on which precision.
Read on →LensThe three numbers behind a fast DGX Spark
How output speed, prompt processing and queues affect the measurements.
Read on →