Mac › 96 GB
Best local LLMs for a 96GB Mac
Short answer: A 96GB Mac lets the GPU use about 72 GB by default (~75%). That fits Mistral Medium 3.5 128B at Q3_K_M with room for 8k context. Best picks: Mistral Medium 3.5 128B, Ornith 1.5 122B (MoE), NVIDIA Nemotron 3.5 Super VL 120B A12B (MoE). Memory figures are estimates. Speeds are measured llama.cpp results where we have them and labeled estimates otherwise.
Checked 2026-10-22 · memory figures are estimates; measured speeds link their source
| Model | Quant | Memory needed (estimated, 8k ctx) | Fits default limit | Speed on Apple M3 Ultra (96 GB) | Format |
|---|---|---|---|---|---|
| Mistral Medium 3.5 128B | Q3_K_M | 69.8 GB | Y | ~5 tok/s est. | GGUF |
| Ornith 1.5 122B (MoE) MoE | IQ4_XS | 69.7 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3.5 Super VL 120B A12B (MoE) MoE | IQ4_XS | 69.2 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3 Super 120B A12B (MoE) MoE | IQ4_XS | 68.7 GB | Y | not measured | GGUF |
| Mistral Small 4 119B (2603) (MoE) MoE | IQ4_XS | 66.6 GB | Y | not measured | GGUF |
| gpt oss 120b (MoE) MoE | IQ4_XS | 65.4 GB | Y | not measured | GGUF |
| GLM 4.5 Air (MoE) MoE | Q4_K_M | 71.5 GB | Y | not measured | GGUF |
| Llama 4 Scout 17B 16E (MoE) MoE | Q4_K_M | 70.5 GB | Y | not measured | GGUF |
| Qwen3 Coder Next (MoE) MoE | Q6_K | 68.5 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3.5 Bolt 74B A9B (MoE) MoE | Q6_K | 64.5 GB | Y | not measured | GGUF |
| Kimi Linear 48B A3B (MoE) MoE | Q8_0 | 55.4 GB | Y | not measured | GGUF |
| Flint 39.8B A2.5B (MoE) MoE | Q8_0 | 45.3 GB | Y | not measured | GGUF |
| Qwen3.6 35B A3B (MoE) MoE | Q8_0 | 40.9 GB | Y | not measured | GGUF |
| Qwen3.5 35B A3B (MoE) MoE | Q8_0 | 40.9 GB | Y | not measured | GGUF |
| Olmo 3.1 32B | Q8_0 | 37.9 GB | Y | ~10 tok/s est. | GGUF |
| NVIDIA Nemotron 3.5 Lightning 30B A3B (MoE) MoE | Q8_0 | 35.9 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3 Nano 30B A3B (MoE) MoE | Q8_0 | 35.9 GB | Y | not measured | GGUF |
| Gemma 4 31B | Q8_0 | 37.7 GB | Y | ~10 tok/s est. | GGUF |
| GLM 4.7 Flash MoE | Q8_0 | 35.9 GB | Y | not measured | GGUF |
| Qwen3 Coder 30B A3B (MoE) MoE | Q8_0 | 35.5 GB | Y | not measured | GGUF |
| Qwen3 30B A3B (2507) (MoE) MoE | Q8_0 | 35.5 GB | Y | not measured | GGUF |
| granite 4.2 30b | Q8_0 | 35.4 GB | Y | ~11 tok/s est. | GGUF |
| Raon-1 mini preview 28.8B A4.3B (MoE) MoE | Q8_0 | 32.8 GB | Y | not measured | GGUF |
| Qwen3.8 27B | Q8_0 | 32.1 GB | Y | ~11 tok/s est. | GGUF |
| Qwen3.6 27B | Q8_0 | 32.1 GB | Y | ~11 tok/s est. | GGUF |
| Qwen3.5 27B | Q8_0 | 32.1 GB | Y | ~11 tok/s est. | GGUF |
| Gemma 4 26B A4B (MoE) MoE | Q8_0 | 29.9 GB | Y | not measured | GGUF |
| Devstral Small 2 24B (2512) | Q8_0 | 28.7 GB | Y | ~13 tok/s est. | GGUF |
| LFM2.5 24B A2B (MoE) MoE | Q8_0 | 27.5 GB | Y | not measured | GGUF |
| gpt-oss 20B (MoE) MoE | Q8_0 | 24.1 GB | Y | not measured | GGUF |
| Phi 4 reasoning vision 15B | Q8_0 | 19.1 GB | Y | ~21 tok/s est. | GGUF |
| Ministral 3 14B (2512) | Q8_0 | 17.5 GB | Y | ~23 tok/s est. | GGUF |
| Gemma 4 12B | Q8_0 | 14.8 GB | Y | ~26–27 tok/s est. | GGUF |
| GLM 4.6V Flash | Q8_0 | 12.4 GB | Y | ~31–32 tok/s est. | GGUF |
| Qwen3.5 9B | Q8_0 | 11.6 GB | Y | ~33–34 tok/s est. | GGUF |
| Ministral 3 8B (2512) | Q8_0 | 11.7 GB | Y | ~35–37 tok/s est. | GGUF |
| granite 4.2 8b | Q8_0 | 11.8 GB | Y | ~36–37 tok/s est. | GGUF |
| Qwen3 VL 8B | Q8_0 | 11.6 GB | Y | ~36–37 tok/s est. | GGUF |
| LFM2.5 8B A1B (MoE) MoE | Q8_0 | 10.1 GB | Y | not measured | GGUF |
| Gemma 4 E4B | Q8_0 | 9.7 GB | Y | ~39–41 tok/s est. | GGUF |
| Gemma 4 E2B | Q8_0 | 6.4 GB | Y | ~62–64 tok/s est. | GGUF |
| Qwen3.5 4B | Q8_0 | 6.1 GB | Y | ~68–71 tok/s est. | GGUF |
| Qwen3 4B (2507) | Q8_0 | 6.3 GB | Y | ~78–82 tok/s est. | GGUF |
| Nemotron Labs Dory 1.0 4B | Q8_0 | 5.5 GB | Y | ~79–83 tok/s est. | GGUF |
| NVIDIA Nemotron 3 Nano 4B | Q8_0 | 5.2 GB | Y | ~79–83 tok/s est. | GGUF |
| Ministral 3 3B (2512) | Q8_0 | 5.8 GB | Y | ~82–85 tok/s est. | GGUF |
| Qwen3.5 2B | Q8_0 | 3.2 GB | Y | ~139–145 tok/s est. | GGUF |
Best quant = highest of Q8_0, Q6_K, Q5_K_M, Q4_K_M, IQ4_XS, Q3_K_M that fits the default limit, f16 KV cache, 8k context. Speeds are llama.cpp (GGUF) figures; we don't have MLX runs. Estimated speeds are scaled from measured Llama 2 7B runs on the same chip and are not done for MoE models.
Why your Mac shows less than 96 GB
macOS caps how much unified memory the GPU can wire. We assume about 75% (about 72 GB here), roughly 67% below 64 GB and 75% at 64 GB and up. You can raise the cap with sudo sysctl iogpu.wired_limit_mb=…, at your own risk; leave room for macOS and your apps. These shares are approximate. Method.
Which Macs have 96GB
Apple M2 Max (96 GB), Apple M3 Max (96 GB), Apple M3 Ultra (96 GB), Apple M5 Ultra (96 GB).
FAQ
Is 96GB enough to run an LLM on a Mac?
Yes. 47 of 64 current models in our list fit fully at Q3_K_M or better with 8k context, the largest being Mistral Medium 3.5 128B at Q3_K_M (about 69.8 GB, estimate). Bigger models need a Mac with more memory.
How much of my Mac's memory can the GPU use?
By default macOS caps GPU wired memory at roughly 67% of total below 64 GB and roughly 75% at 64 GB and up, so about 72 GB on a 96GB Mac (approximate). The iogpu.wired_limit_mb sysctl can raise it, at your own risk.
Is MLX faster than llama.cpp on a Mac?
We haven't measured it. Public tests conflict: MLX often shows higher generation tok/s, but one M1 Max test found GGUF in llama.cpp finished short-output tasks faster because of prompt processing. See our MLX vs GGUF answer for the sources.
Can a 96GB Mac run a 70B model?
Yes. Llama 3.3 70B Instruct fits at Q6_K (about 63.5 GB with 8k context, estimate) inside the default limit of about 72 GB.
Mac or a used RTX 3090 for local LLMs?
It's a trade. The 3090 has 24 GB of VRAM and is usually faster on models that fit. A 96GB Mac gives the GPU about 72 GB, so it fits bigger models. Check both in the checker.
Other Mac tiers: 64 GB Mac · 128 GB Mac · all Mac sizes · GPUs: 80 GB VRAM · What to buy
Will It Run? Pro NOT BUILT YET
A personal setup for your exact hardware (Ollama / llama.cpp configs ready for your coding agent), an alert when a new model fits, and a one-click cloud fallback when it doesn't.
Not built yet. Join the waitlist, $10/mo planned, no charge now. What's planned
Email only. No payment info.
Get the weekly "new models & what it takes to run them" email
Free. One email a week. Unsubscribe anytime.