Home / Articles

Mac Studio M5 Ultra vs DGX Spark: Local LLM Speed on the Same Models

Mac Studio M5 Ultra 256 GB against one, two and four DGX Spark boxes on Nemotron, Qwen3.8 and DeepSeek-V4.1-Flash: decode, prefill, batching and images.

Publisher: REACTAPP.TOP4 min read863 words

This article is published in English.

If a model doesn't fit on a gaming GPU, the two machines most people look at next are a Mac Studio M5 Ultra and NVIDIA's DGX Spark. Both use unified memory, both sit on a desk, and both are sold as local AI boxes. They behave very differently once you measure them on the same models.

The Mac here is a Mac Studio M5 Ultra with 256 GB of unified memory. The Spark side is one, two or four GB10 boxes with 128 GB each, linked by direct ConnectX-7 cables for tensor parallelism; besides NVIDIA's own unit, the multi-box runs use ASUS Ascent GX10, Gigabyte AI TOP ATOM and Lenovo ThinkStation PGX machines built on the same chip. Every run uses the same harness: 512-token answers, a warm-up, medians, thinking off.

Same model, both machines

Grouped bar chart of decode speed for four models on a Mac Studio M5 Ultra and on one, two and four DGX Spark boxes
Single-request decode speed. On the cleanest pair, Nemotron 3.5 Lightning with the same engine and quant, the Mac is 2.2× faster than one Spark.
ModelMac Studio M5 Ultra1× DGX Spark2× DGX Spark4× DGX Spark
Nemotron 3.5 Lightning 30B-A3B, MLX 4-bit, TensorFold 1.2.5306.9 tok/s141.9 tok/sn/an/a
Qwen3.8-27B with DFlash2, TensorFold158.6 tok/s (MLX 4-bit)47.3 tok/s (EXL3 4.0 bpw)n/an/a
Qwen3.8-Flash-Next152.5 tok/s (oMLX)42.8 tok/s (TensorFold NVFP4)58.3 tok/s (TensorFold NVFP4)n/a
DeepSeek-V4.1-Flash, TensorFold74.2 tok/s (MLX 2/3-bit)not measured70.6 tok/s (EXL3 2.5 bpw)81.8 tok/s (EXL3 4.0 bpw)

Nemotron 3.5 Lightning is the fairest comparison: same TensorFold 1.2.5 release, same MLX 4-bit weights, same MTP drafts. The Mac decodes at 306.9 tok/s, one Spark at 141.9. Quality is the same on both (51.4 % vs 51.9 %), which is what you'd expect from identical weights. The Spark in these runs has its GPU clock capped at 2200 MHz.

On dense Qwen3.8-27B the gap is wider: 158.6 tok/s on the Mac against 47.3 on one Spark. Memory bandwidth decides dense decode, and the M5 Ultra has a lot more of it than a single GB10. Qwen3.8-Flash-Next shows the same pattern, and even two Sparks in tensor parallel (58.3 tok/s) stay well behind one Mac (152.5 tok/s).

DeepSeek-V4.1-Flash is where the Spark cluster catches up

The big MoE model changes the picture. On the Mac, TensorFold's Metal engine runs a 2/3-bit build at 74.2 tok/s and uses 206.3 GiB of the 256 GB. Two Sparks with a 2.5 bpw EXL3 build reach 70.6 tok/s, and four Sparks with a 4.0 bpw build reach 81.8 tok/s, the only setup here that beats the Mac on this model while also using a larger quant.

Quality is close across all of them: 67.4 % on the Mac, 66.1 % on two Sparks, 66.6 % on four. The Mac also runs other DeepSeek builds: the ds4 engine with a Q2 quant scores 69.7 % at 54.5 tok/s, and oMLX with LSQ3 scores 60.0 % at 63.8 tok/s using 225.6 GiB.

Prompt processing

Grouped bar chart of 8K prompt processing speed on a Mac Studio M5 Ultra and DGX Spark setups
Prompt processing speed on an 8K-token prompt. The Mac leads on Nemotron and dense Qwen; Spark setups lead on DeepSeek.

Prefill is closer than decode. On Nemotron Lightning the Mac reads an 8K prompt at 9,888 tok/s and one Spark at 7,348. On dense Qwen3.8-27B it is 1,833 vs 876. On DeepSeek-V4.1-Flash the Spark side wins: 2,157 tok/s on two boxes and 2,016 on four, against 1,763 on the Mac. First token for a 32K prompt on DeepSeek takes 18.3 s on the Mac, 17.9 s on two Sparks and 15.8 s on four.

Parallel requests

Line chart of total throughput at 1 to 8 parallel requests for Nemotron 3.5 Lightning on a Mac Studio and one DGX Spark
Total throughput with 1, 2, 4 and 8 parallel requests on Nemotron 3.5 Lightning. Both scale; the Mac stays about twice as fast.

Both machines batch well on the MoE model. With eight parallel requests the Mac delivers 533.5 tok/s in total and one Spark 248.0 tok/s. On DeepSeek, four Sparks reach 141.2 tok/s across eight requests and the Mac 84.5.

Images and video

Bar chart of seconds per image for FLUX Klein and Qwen-Image 2.1 on a Mac Studio, a DGX Spark and an RTX 5090
Median seconds per image. Lower is better. Mac and Spark are close; a single RTX 5090 is about four times faster than either.

For diffusion models neither machine is fast. FLUX Klein takes 8.76 s per image on the Mac and 7.37 s on a Spark; Qwen-Image 2.1 takes 29.87 s and 28.7 s. An RTX 5090 does the same images in 1.96 s and 7.64 s. The Spark's 128 GB does let it run very large video jobs: redrawing a 5-second draft at 2560×1440 with Open-H3-Regenerate takes about 22 minutes per clip at a 78.9 GiB memory peak, far more than a 32 GB card holds.

Which one for what

  • One person who wants the fastest single box: the Mac Studio M5 Ultra. It is two to three and a half times faster than one Spark on the same models and runs DeepSeek-V4.1-Flash on its own at 74.2 tok/s.
  • Building a cluster over time: the Spark. Two boxes run DeepSeek-V4.1-Flash at Mac speed, and four boxes pass it with a larger quant.
  • CUDA-only tools, NVFP4 checkpoints and vLLM or SGLang recipes: the Spark, because the software you want already targets it.
  • Images and short video: neither. Put an RTX 5090 next to whichever you pick.
  • Very large video and memory-hungry diffusion jobs: a Spark, for the 128 GB of GPU-addressable memory.