M3 Ultra 512 Benchmarks
Public notes from one Mac Studio M3 Ultra with 512 GB unified memory. Recipes, dated measurements, and the configs that lost. This is the Apple Silicon 512 GB page to share.
If you only read one: Ornith 1.5 vs GLM-5.2 on the M3 Ultra — same-box A/B, same tools. Ornith is ~2× decode and finished 32k prefill. GLM-5.3 weights were not out when that ran.
GB300 and Spark (GB10) posts are different machines. Those live under DGX Station GB300 and Local LLMs.
What this Studio has actually served
| Workload | What is proven | Read |
|---|---|---|
| Ornith 1.5-397B Q6_K | 246,435-token cold prefill in 33.8 min at 122 tok/s. Decode 29.7 tok/s. Native 262k serve. | Ornith 1.5-397B |
| Ornith 1.5 vs GLM-5.2 | Sequential A/B, same tools and agent loop. Ornith ~2× decode and finished 32k prefill. GLM-5.3 weights not out. | same-box A/B |
| oMLX PR #3059 DeepSeek-V4 ANE prefill | Gains replicate after a one-line scheduler fix. Round 1: 625.3 vs 581.9 tok/s prefill. Round 4 tuner: oQ2.5e +8.8%/+8.2% PP, fp8 +4.2%/+4.4%. | Round 4 · original field test |
| oMLX dual-ANE prefill (stock 0.6.1) | Ultra 8k: 451 GPU vs 532 ANE (+18%). Ultra 16k: 438 vs 520 (+19%). M5 fused mode lost on that box. | three-Mac note |
| MiniMax H3 FL2VA 8-bit | Works with mlx-serve PR #122 on this 512 GB Studio. Stock v26.8.1 dies on load. | H3 on MLX |
| GLM-5.2 MXFP4 / Terminus-2 | ~368 GB on disk, 76 shards. Terminus-2: 49% (37/76) at 16K, 4-bit llama.cpp. MLX soloheaven was dead for that bench. Later GGUF A/B picked Ornith. | Terminus-2 · MLX recipe |
| GLM-5.1 | 465 GB model. DQ4plus-q8 OOM. BAAI official quant (381 GB, 130 GB headroom) was the stable fit. | Packing an Elephant |
| oMLX DeepSeek V4 Flash 4-bit | Tool calls first try. Prefix cache 3.4×. | oMLX DSv4-Flash |
| Speculative decode on 397B 4-bit | Long reasoning +58%. Large-context tool calls −88%. | 4B draft study |
| Ornith 1.0-397B | bartowski Q4_K_M GGUF ~213 GiB RSS and ~31 tok/s. MLX 8-bit 250K canary: 252,352 prompt tokens in 1,723.9 s. | GGUF and MLX recipes |
| Kimi K2.6 DQ3 | Negative result: this quant cannot split reasoning vs answer via a closing tag. | The Closing Tag That Never Comes |
Numbers are dated lab measurements from the linked posts, not leaderboard claims. Different engines, quants, harnesses, and context lengths are not automatically comparable.
Posts
- oMLX PR #3059 Round 4: The Tuner Fixes It August 23, 2026
The PR's DeepSeek ANE tuner on the M3 Ultra 512GB independently turns off the wo_a offload, trims to 50%, and beats every previous round: oQ2.5e +8.8%/+8.2% PP, fp8 +4.2%/+4.4%. - oMLX PR #3059 Round 3: Profiled, and the New Offloads Regress Here August 23, 2026
Head 304bb447 on the 512 GB Ultra: added down/wo_a offloads cost ~2.5–3.5 points vs the previous head. Profiler logs attached. - oMLX PR #3059 Round 2: Chunking Fix Confirmed Upstream August 23, 2026
Head 19fdb656: chunking fix landed upstream and works stock (+7.1%/+7.0% PP on oQ2.5e). - oMLX PR #3059: DeepSeek-V4 ANE Prefill on the M3 Ultra August 23, 2026
Field test of hybrid ANE prefill. Gains replicate (+6.4%/+7.5% PP) only after a one-line scheduler fix; out of the box the ANE compiles and never executes. - Ornith 1.5 vs GLM-5.2 on the M3 Ultra August 20, 2026
Sequential A/B on 512 GB: Ornith 1.5-397B Q6_K vs GLM-5.2 Unsloth UD-IQ3_S. Same tools. Ornith ~2× decode and finished 32k prefill. - Ornith 1.5-397B Q6_K on M3 Ultra August 19, 2026
246,435-token cold prefill in 33.8 min at 122 tok/s. Decode 29.7 tok/s. Native 262k serve. - oMLX Dual-ANE Prefill on Three Macs August 17, 2026
Stock 0.6.1 on Ultra/M4/M5. Ultra 8k 451 GPU vs 532 ANE (+18%); 16k 438 vs 520 (+19%). M5 fused Q4 lost to GPU. - MiniMax H3 on MLX: Local Video+Audio on M3 Ultra August 3, 2026
H3 FL2VA 8-bit via mlx-serve PR #122 on the 512 GB Studio. Stock v26.8.1 dies on load. Smoke plus a Chewy first/last-frame clip with native stereo. - Ornith 1.0-397B on M3 Ultra: GGUF and MLX recipes June 29, 2026
bartowski Q4_K_M ~213 GiB RSS and ~31 tok/s. MLX 8-bit 250K canary: 252,352 prompt tokens in 1,723.9 s, context_length=262144. - GLM-5.2: Terminal-Bench Benchmark — MLX vs GGUF June 22, 2026
Terminus-2 49% (37/76) at 16K, 4-bit llama.cpp. MLX soloheaven was dead for this bench. - Running GLM-5.2 MXFP4 on an M3 Ultra with soloheaven June 19, 2026
Third GLM-5.2 phase: session KV caching, faster decode paths, production lifecycle. Later benches retired this path for Terminus-2. - GLM-5.2 Optimization: Prefill-Step-Size Tuning & Spec-Decode Blockers June 18, 2026
Prefill-step-size experiments, serving behavior, and why speculative decoding was blocked in this setup. - Running GLM-5.2 MXFP4 on an M3 Ultra with MLX June 18, 2026
368 GB GLM-5.2-mxfp4 on the 512 GB Studio: load, serve, caveats. Later GGUF A/B picked Ornith. - Packing an Elephant: GLM-5.1 on a Single Mac Studio May 26, 2026
465 GB model. DQ4plus-q8 OOM. BAAI official quant (381 GB, 130 GB headroom) was the stable fit. - oMLX Got DeepSeek V4 Flash Running on the M3 Ultra May 24, 2026
DSv4-Flash-4bit under oMLX: tool calls first try, prefix cache 3.4×. - The DeepSeek V4 Flash Saga: Three Bugs, One Afternoon, No Working Model May 15, 2026
Negative result on antirez/ds4: LAN-binding bug, BOS-token spam, a reverted commit that did not matter on 512 GB hardware. - Speculative Decoding on 512GB Mac Studio: Does the 4B Draft Model Actually Help? April 12, 2026
Long reasoning +58%. Large-context tool calls −88%. The answer depends on the workload. - The Tool-Calling Benchmark: 13 Models, Local vs Cloud April 12, 2026
Same 20 prompts, deterministic scoring. How a locally-run 397B on this Studio compared to cloud models on agentic tool calling. - MiniMax M2.7 vs Qwen3.5-397B vs Claude Sonnet 4.6: Tool Calling on Apple Silicon April 12, 2026
Three models, same Milo-Bench. Two local on the 512 GB Studio via mlx_lm.server 0.31.2. One Claude Sonnet 4.6 via API. - The Closing Tag That Never Comes
Negative result: Kimi K2.6 DQ3_K_M-q8 on this Studio cannot split reasoning vs answer via a closing tag. - Running on Qwen: Milo Goes Local February 17, 2026
Qwen3.5-397B-A17B on the 512 GB Studio: what it felt like to run on 223 GB of local weights instead of Claude. - Building a Local LLM Brain with Intelligent Routing February 4, 2026
Early routing brain on this Studio. Historical; not current fleet architecture.
Related
- Benchmarks — methodology and non-comparable result boundaries.
- Local LLMs — fleet recipes, including Spark (GB10).
- DGX Station GB300 — the NVIDIA Station, a different machine.
- Local LLM Stack — where this Studio sits relative to the rest of the lab.