Mac Studio M3 Ultra 96GB vs NVIDIA DGX Spark 128GB
For running models locally, priced in Canada. At 128k context the first runs 68 models fully in memory, the second 79.
In short
The NVIDIA DGX Spark 128GB has more memory for models: 128 GB against 96 GB. At 128k context the NVIDIA DGX Spark 128GB runs 79 of the models we track fully in memory and the Mac Studio M3 Ultra 96GB 68; only the NVIDIA DGX Spark 128GB holds DeepSeek V4 Flash. On the models both run fully in memory, the Mac Studio M3 Ultra 96GB is about 3.1× as fast as the NVIDIA DGX Spark 128GB (estimated, median across models).
Updated . Speeds are estimates; how they are worked out.
Specifications
| Spec | Mac Studio M3 Ultra 96GB | NVIDIA DGX Spark 128GB |
|---|---|---|
| Chip | Apple M3 Ultra (80-core GPU) | GB10 Grace Blackwell |
| Memory bus | 1024-bit | 256-bit |
| Memory bandwidth | 819 GB/s | 273 GB/s |
| FP16 compute | 28 TFLOPS | 62 TFLOPS |
| Software | Metal | CUDA |
| Unified memory | 96 GB | 128 GB |
| GPU can use by default | 72 GB | 119 GB |
| GPU can use, tuned | 88 GB | 122 GB |
| Operating system | macos | dgx-os |
| Processor | M3 Ultra 32-core | 20-core Arm (GB10) |
| Storage | 1000 GB | 4000 GB |
What each runs
Estimated decode speed with the most precise quant that fits each one est.
| Model | Mac Studio M3 Ultra 96GB | NVIDIA DGX Spark 128GB |
|---|---|---|
| DeepSeek V4 Flash | won't run | 6tok/sUD-Q2_K_XL |
| GLM 5.3 Flash | won't run | 10tok/sUD-Q2_K_XL |
| Qwen 3.8 Flash Next | won't run | 2tok/sQ4_K_M |
| Qwen 3.8 27B | 14tok/sQ8_0 | 5tok/sQ8_0 |
| MiniMax M2.7 | won't run | 3tok/sUD-Q2_K_XL |
| Qwen 3.5 122B-A10B | 41tok/sQ3_K_M | 9tok/sQ6_K |
| Qwen 3.6 27B | 14tok/sQ8_0 | 5tok/sQ8_0 |
| Qwen3 Coder Next | 49tok/sQ6_K | 14tok/sQ8_0 |
| Nemotron 3 Super 120B-A12B | 44tok/sUD-Q3_K_M | 8tok/sUD-Q6_K |
| gpt-oss 120B | 40tok/sMXFP4 | 13tok/sMXFP4 |
| Gemma 4 31B | 12tok/sQ8_0 | 4tok/sQ8_0 |
| Mistral Small 4 119B | 44tok/sQ4_K_M | 11tok/sUD-Q6_K |
| Qwen 3.6 35B-A3B | 55tok/sQ8_0 | 17tok/sQ8_0 |
| Qwen 3.5 27B | 14tok/sQ8_0 | 5tok/sQ8_0 |
| Gemma 4 26B-A4B | 45tok/sQ8_0 | 14tok/sQ8_0 |
| GLM 4.5 Air | 11tok/sQ2_K | 3tok/sQ6_K |
| Qwen3 Next 80B-A3B | 56tok/sQ6_K | 16tok/sQ8_0 |
| Qwen 3.5 35B-A3B | 55tok/sQ8_0 | 17tok/sQ8_0 |
| GLM 4.7 Flash | 26tok/sQ8_0 | 8tok/sQ8_0 |
| Devstral Small 2 24B | 11tok/sQ8_0 | 4tok/sQ8_0 |
| Nemotron 3.5 Lightning 30B-A3B | 76tok/sUD-Q6_K_XL | 24tok/sUD-Q6_K_XL |
| Kimi Linear 48B-A3B | 75tok/sQ8_0 | 24tok/sQ8_0 |
| gpt-oss 20B | 57tok/sMXFP4 | 18tok/sMXFP4 |
| Qwen3 Coder 30B-A3B | 20tok/sQ8_0 | 6tok/sQ8_0 |
| Qwen3 32B | 8tok/sQ8_0 | 2tok/sQ8_0 |
| Gemma 4 12B | 35tok/sQ8_0 | 11tok/sQ8_0 |
| Qwen 3.5 9B | 38tok/sQ8_0 | 12tok/sQ8_0 |
| Gemma 3 27B | 13tok/sQ8_0 | 4tok/sQ8_0 |
| Mistral Small 3.2 24B | 11tok/sQ8_0 | 4tok/sQ8_0 |
| DeepSeek R1 Distill Qwen 32B | 8tok/sQ8_0 | 2tok/sQ8_0 |
| Llama 3.3 70B | won't run | 1tok/sQ8_0 |
| Ministral 3 14B | 15tok/sQ8_0 | 5tok/sQ8_0 |
| Qwen3 14B | 14tok/sQ8_0 | 5tok/sQ8_0 |
| DeepSeek R1 0528 Qwen3 8B | 19tok/sQ8_0 | 6tok/sQ8_0 |
| Qwen3 8B | 19tok/sQ8_0 | 6tok/sQ8_0 |
| Phi-4 14B | 13tok/sQ8_0 | 4tok/sQ8_0 |
| Qwen 3.5 4B | 60tok/sQ8_0 | 19tok/sQ8_0 |
| Ministral 3 8B | 20tok/sQ8_0 | 6tok/sQ8_0 |
| Granite 4.2 8B | 17tok/sQ8_0 | 6tok/sQ8_0 |
| Gemma 4 E4B | 44tok/sQ8_0 | 14tok/sQ8_0 |
| LFM2.5 8B-A1B | 43tok/sQ8_0 | 14tok/sQ8_0 |
| Llama 3.1 8B | 22tok/sQ6_K | 7tok/sQ6_K |
| Qwen2.5 0.5B | 249tok/sQ8_0 | 79tok/sQ8_0 |
| Qwen3.5 0.8B | 218tok/sQ8_0 | 69tok/sQ8_0 |
| Qwen3.5 2B | 174tok/sQ5_K_M | 55tok/sQ5_K_M |
| DeepSeek R1 Distill Qwen 1.5B | 94tok/sQ8_0 | 30tok/sQ8_0 |
| Mellum2.1 12B A2.5B Thinking | 70tok/sQ8_0 | 22tok/sQ8_0 |
| Spark X2.5 4B | 67tok/smlx-4bit | 21tok/smlx-4bit |
| MiniCPM5 2B | 64tok/sQ8_0 | 20tok/sQ8_0 |
| FrogNano 4B 2609 | 59tok/sQ8_0 | 19tok/sQ8_0 |
| LFM2.5 2.6B | 49tok/sQ8_0 | 16tok/sQ8_0 |
| LFM2.5 VL 3B | 49tok/sQ8_0 | 16tok/sQ8_0 |
| Kimi VL A3B Thinking 2506 | 45tok/sQ8_0 | 14tok/sQ8_0 |
| Kimi VL A3B | 44tok/smlx-8bit | 14tok/smlx-8bit |
| GLM 4 9B 0414 | 39tok/smlx-5bit | 12tok/smlx-5bit |
| granite vision 4.1 4b | 37tok/sQ8_0 | 12tok/sQ8_0 |
| granite 4.2 3b | 36tok/sQ8_0 | 12tok/sQ8_0 |
| GLM 4.6V Flash | 35tok/sQ8_0 | 11tok/sQ8_0 |
| DeepSeek R1 Distill Qwen 7B | 34tok/sQ8_0 | 11tok/sQ8_0 |
| GLM 4.1V 9B Thinking | 31tok/smlx-8bit | 10tok/smlx-8bit |
| Ministral 3 3B Instruct 2512 | 30tok/sQ8_0 | 10tok/sQ8_0 |
| LFM2.5 24B A2B | 25tok/sQ8_0 | 8tok/sQ8_0 |
| DeepSeek R1 Distill Llama 8B | 21tok/sQ8_0 | 7tok/sQ8_0 |
| Ministral 3 8B Reasoning 2512 | 20tok/sQ8_0 | 6tok/sQ8_0 |
| Qwen3.8 27B OBLITERATED | 18tok/smlx-4bit | 6tok/smlx-4bit |
| Muse Glimmer 30B | 16tok/sQ8_0 | 5tok/sQ8_0 |
| Ministral 3 14B Reasoning 2512 | 15tok/sQ8_0 | 5tok/sQ8_0 |
| DeepSeek R1 Distill Qwen 14B | 13tok/sQ8_0 | 4tok/sQ8_0 |
| Devstral Small 2507 | 11tok/sQ8_0 | 4tok/sQ8_0 |
| Magistral Small 2506 | 11tok/sQ8_0 | 4tok/sQ8_0 |
| Magistral Small 2507 | 11tok/sQ8_0 | 4tok/sQ8_0 |
| Magistral Small 2509 | 11tok/sQ8_0 | 4tok/sQ8_0 |
| granite 4.2 30b | 8tok/sQ8_0 | 3tok/sQ8_0 |
| DeepSeek R1 Distill Llama 70B | won't run | 1tok/sQ8_0 |
| Devstral 2 123B Instruct 2512 | won't run | 1tok/sQ4_K_M |
| GLM 4.5V | won't run | 3tok/sQ4_K_M |
| GLM 4.6V | won't run | 3tok/sQ4_K_M |
| Kimi Dev 72B | won't run | 1tok/sQ8_0 |
| Mistral Medium 3.5 128B | won't run | 1tok/sQ4_K_M |
| DeepSeek R1 | won't run | won't run |
| DeepSeek R1 0528 | won't run | won't run |
| DeepSeek R1 Zero | won't run | won't run |
| DeepSeek V3 | won't run | won't run |
| DeepSeek V3 0324 | won't run | won't run |
| DeepSeek V3.1 | won't run | won't run |
| DeepSeek V3.1 Terminus | won't run | won't run |
| DeepSeek V3.2 | won't run | won't run |
| DeepSeek V4 Flash 0731 | won't run | won't run |
| DeepSeek V4 Flash Vision Exp | won't run | won't run |
| GLM 4.5 | won't run | won't run |
| GLM 4.6 | won't run | won't run |
| GLM 4.7 | won't run | won't run |
| GLM 5 | won't run | won't run |
| GLM 5.1 | won't run | won't run |
| GLM 5.2 | won't run | won't run |
| GLM 5.3 | won't run | won't run |
| Kimi K2 | won't run | won't run |
| Kimi K2 Instruct 0905 | won't run | won't run |
| Kimi K2 Thinking | won't run | won't run |
| Kimi K2.5 | won't run | won't run |
| MiniMax M2 | won't run | won't run |
| MiniMax M2.1 | won't run | won't run |
| MiniMax M2.5 | won't run | won't run |
| MiniMax M3 | won't run | won't run |
Questions
- Which is better for local AI, the Mac Studio M3 Ultra 96GB or the NVIDIA DGX Spark 128GB?
- Choose the NVIDIA DGX Spark 128GB to run bigger models. Choose the Mac Studio M3 Ultra 96GB for speed.
- Which can run bigger models, the Mac Studio M3 Ultra 96GB or the NVIDIA DGX Spark 128GB?
- At 128k context the NVIDIA DGX Spark 128GB runs 79 of the models we track fully in memory and the Mac Studio M3 Ultra 96GB 68; only the NVIDIA DGX Spark 128GB holds DeepSeek V4 Flash.
- Which is faster for local AI, the Mac Studio M3 Ultra 96GB or the NVIDIA DGX Spark 128GB?
- On the models both run fully in memory, the Mac Studio M3 Ultra 96GB is about 3.1× as fast as the NVIDIA DGX Spark 128GB (estimated, median across models).
More comparisons
- ASUS Ascent GX10 128GB vs Mac Studio M3 Ultra 96GB
- ASUS Ascent GX10 128GB vs NVIDIA DGX Spark 128GB
- Beelink GTR9 Pro Ryzen AI Max+ 395 128GB vs Mac Studio M3 Ultra 96GB
- Beelink GTR9 Pro Ryzen AI Max+ 395 128GB vs NVIDIA DGX Spark 128GB
- Framework Desktop Ryzen AI Max+ 395 128GB vs Mac Studio M3 Ultra 96GB
- Framework Desktop Ryzen AI Max+ 395 128GB vs NVIDIA DGX Spark 128GB
- Framework Desktop Ryzen AI Max+ 395 64GB vs Mac Studio M3 Ultra 96GB
- Framework Desktop Ryzen AI Max+ 395 64GB vs NVIDIA DGX Spark 128GB
- GMKtec EVO-X2 Ryzen AI Max+ 395 128GB vs Mac Studio M3 Ultra 96GB
- GMKtec EVO-X2 Ryzen AI Max+ 395 128GB vs NVIDIA DGX Spark 128GB