NVIDIA DGX Spark vs 4x RTX 3090 (used) on EPYC 7003, open frame
The NVIDIA DGX Spark gives a model 120 GB to work in (an assumed figure), against 91.5 GB on the 4x RTX 3090 (used) on EPYC 7003, open frame. The 4x RTX 3090 (used) on EPYC 7003, open frame has 3.4× the memory bandwidth (936 against 273 GB/s, per card for multi-GPU builds), which sets the ceiling on generation speed. The largest 4-bit model each holds at 8,192 tokens of context: Qwen3.8 Flash-Next on the NVIDIA DGX Spark, Nemotron 3 Super 120B-A12B on the 4x RTX 3090 (used) on EPYC 7003, open frame. The 4x RTX 3090 (used) on EPYC 7003, open frame has no complete price: GPU, motherboard, ram, risers, case and cooling prices not included. Rows where the two differ are tinted.
NVIDIA GB10
NVIDIA DGX Spark
NVIDIA's own GB10 desktop with 128GB of unified memory, CUDA and a ConnectX-7 port for linking up to four units. Its 273 GB/s memory bandwidth limits single-user token speed compared with Macs of similar memory size, while prompt processing is strong.
gpt-oss-20b, 4-bit: 83 tok/s
Multi-GPU
4x RTX 3090 (used) on EPYC 7003, open frame
The classic 96 GB home rig: four used 3090s on risers around a single-socket EPYC board with a full x16 link for every card. It runs 70B dense models at 8-bit or ~120B MoE models in VRAM.
gpt-oss-20b, 4-bit: ~117–171 tok/sestimate
| Specification | NVIDIA DGX Spark | 4x RTX 3090 (used) on EPYC 7003, open frame |
|---|---|---|
| Kind | NVIDIA GB10 · NVIDIA | Multi-GPU · DIY |
| Chip or GPUs | GB10 Grace Blackwell | 4× RTX 3090 |
| Memory | 128 GB | 96 GB VRAM + 256 GB RAM |
| Memory for models | 120 GB (GPU-usable memory)assumption | 91.5 GB (VRAM across all cards) |
| Memory bandwidth | 273 GB/s | 936 GB/s per card |
| FP16 compute | not published | 71.2 TFLOPS per card |
| Price | ~$4,699 | ~$2,178 + unpriced parts (GPU, motherboard, ram, risers, case and cooling prices not included) |
| Largest at 4-bit, 8k context | Qwen3.8 Flash-Next | Nemotron 3 Super 120B-A12B |
| Software | CUDA, Vulkan | CUDA, Vulkan |
| Power | 240 W | 3000 W power supply |
What each one runs
Every model in the catalog that at least one of the two holds at 4-bit with 8,192 tokens of context. Copper speeds are measured medians; outlined ones are estimates. Rows where only one fits, or where the speed differs by more than a quarter, are tinted.
| Model | NVIDIA DGX Spark | 4x RTX 3090 (used) on EPYC 7003, open frame |
|---|---|---|
| Qwen3.8 Flash-Next125B, 6B active · 111.4 GB file | ~22–29 tok/sestimate | does not fit |
| Nemotron 3 Super 120B-A12B120B, 12B active · 81.0 GB file | 17 tok/smedian of 2 runs | ~27–39 tok/sestimate |
| Qwen3.5 122B-A10B122B, 10B active · 71.3 GB file | 21 tok/smedian of 2 runs | ~37–54 tok/sestimate |
| Mistral Medium 3.5 128B128B · 69.8 GB file | ~2.5–3.0 tok/sestimate | ~6.1–9.6 tok/sestimate |
| GLM-4.5-Air106B, 12B active · 68.0 GB file | ~16–20 tok/sestimate | ~28–41 tok/sestimate |
| Mistral Small 4 119B (2603)119B, 6.5B active · 67.6 GB file | ~32–41 tok/sestimate | ~59–86 tok/sestimate |
| Llama 4 Scout 17B-16E Instruct109B, 17B active · 60.9 GB file | ~13–16 tok/sestimate | ~23–33 tok/sestimate |
| gpt-oss-120b117B, 5.1B active · 58.5 GB file | 53 tok/smedian of 23 runs | ~85–124 tok/sestimate |
| Qwen3 Coder Next80B, 3B active · 45.2 GB file | 49 tok/smedian of 2 runs | ~128–187 tok/sestimate |
| Llama 3.3 70B Instruct70B · 39.6 GB file | ~4.4–5.2 tok/sestimate | ~11–17 tok/sestimate |
| Nemotron 3.5 Lightning 30B-A3B30B, 3B active · 23.7 GB file | ~50–64 tok/sestimate | ~91–133 tok/sestimate |
| Qwen3.6 35B-A3B35B, 3B active · 20.8 GB file | ~67–86 tok/sestimate | ~122–178 tok/sestimate |
| Ornith 1.5 35B-A3B35B, 3B active · 20.2 GB file | ~69–88 tok/sestimate | ~125–183 tok/sestimate |
| Qwen3 Coder 30B-A3B Instruct30.5B, 3.3B active · 17.3 GB file | ~64–82 tok/sestimate | ~116–169 tok/sestimate |
| Gemma 4 31B IT30.7B · 17.1 GB file | ~10–12 tok/sestimate | ~25–39 tok/sestimate |
| Granite 4.2 30B29.3B · 16.8 GB file | ~10–12 tok/sestimate | ~25–40 tok/sestimate |
| Qwen3.8 27B27B · 16.2 GB file | ~11–13 tok/sestimate | ~26–41 tok/sestimate |
| Gemma 4 26B-A4B IT25.2B, 3.8B active · 15.9 GB file | ~50–64 tok/sestimate | ~91–132 tok/sestimate |
| Qwen3.6 27B27B · 15.7 GB file | ~11–13 tok/sestimate | ~27–43 tok/sestimate |
| Devstral Small 2 24B (2512)24B · 13.3 GB file | ~13–15 tok/sestimate | ~32–50 tok/sestimate |
| gpt-oss-20b21B, 3.6B active · 10.8 GB file | 83 tok/smedian of 13 runs | ~117–171 tok/sestimate |
| Phi-414.7B · 8.3 GB file | ~21–25 tok/sestimate | ~52–81 tok/sestimate |
| Ministral 3 14B Reasoning (2512)13.9B · 7.7 GB file | ~22–27 tok/sestimate | ~56–87 tok/sestimate |
| Gemma 4 12B IT11.95B · 6.6 GB file | ~26–31 tok/sestimate | ~64–101 tok/sestimate |
| Qwen3.5 9B9B · 5.3 GB file | ~33–39 tok/sestimate | ~81–127 tok/sestimate |
| Granite 4.2 8B8.8B · 5.2 GB file | ~33–40 tok/sestimate | ~83–130 tok/sestimate |
| Gemma 4 E4B IT8B · 5.0 GB file | ~61–73 tok/sestimate | ~151–237 tok/sestimate |
| Qwen3 8B8.2B · 4.7 GB file | ~37–44 tok/sestimate | ~91–143 tok/sestimate |
| Llama 3.1 8B Instruct8B · 4.6 GB file | 38 tok/smedian of 5 runs | ~93–146 tok/sestimate |
| Qwen3.5 4B4B · 2.6 GB file | ~68–81 tok/sestimate | ~167–263 tok/sestimate |
Full pages: NVIDIA DGX Spark · 4x RTX 3090 (used) on EPYC 7003, open frame · check a different quant or context length