Mac › 128 GB
Best local LLMs for a 128GB Mac
Short answer: A 128GB Mac lets the GPU use about 96 GB by default (~75%). That fits Qwen3.8 Flash Next (MoE) at Q3_K_M with room for 8k context. Best picks: Qwen3.8 Flash Next (MoE), Mistral Medium 3.5 128B, Ornith 1.5 122B (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 M4 Max (128 GB) | Format |
|---|---|---|---|---|---|
| Qwen3.8 Flash Next (MoE) MoE | Q3_K_M | 93.2 GB | Y | not measured | GGUF |
| Mistral Medium 3.5 128B | Q4_K_M | 83.4 GB | Y | ~3 tok/s est. | GGUF |
| Ornith 1.5 122B (MoE) MoE | Q5_K_M | 92.2 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3.5 Super VL 120B A12B (MoE) MoE | Q5_K_M | 91.6 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3 Super 120B A12B (MoE) MoE | Q5_K_M | 91.0 GB | Y | not measured | GGUF |
| Mistral Small 4 119B (2603) (MoE) MoE | Q5_K_M | 88.1 GB | Y | not measured | GGUF |
| gpt oss 120b (MoE) MoE | Q5_K_M | 86.4 GB | Y | not measured | GGUF |
| GLM 4.5 Air (MoE) MoE | Q6_K | 95.1 GB | Y | not measured | GGUF |
| Llama 4 Scout 17B 16E (MoE) MoE | Q6_K | 93.7 GB | Y | not measured | GGUF |
| Qwen3 Coder Next (MoE) MoE | Q8_0 | 87.9 GB | Y | not measured | GGUF |
| NVIDIA Nemotron 3.5 Bolt 74B A9B (MoE) MoE | Q8_0 | 82.6 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 | ~8–9 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 | ~8–9 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 | ~9–10 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 | ~9–11 tok/s est. | GGUF |
| Qwen3.6 27B | Q8_0 | 32.1 GB | Y | ~9–11 tok/s est. | GGUF |
| Qwen3.5 27B | Q8_0 | 32.1 GB | Y | ~9–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 | ~10–12 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 | ~17–20 tok/s est. | GGUF |
| Ministral 3 14B (2512) | Q8_0 | 17.5 GB | Y | ~18–21 tok/s est. | GGUF |
| Gemma 4 12B | Q8_0 | 14.8 GB | Y | ~21–25 tok/s est. | GGUF |
| GLM 4.6V Flash | Q8_0 | 12.4 GB | Y | ~24–29 tok/s est. | GGUF |
| Qwen3.5 9B | Q8_0 | 11.6 GB | Y | ~26–31 tok/s est. | GGUF |
| Ministral 3 8B (2512) | Q8_0 | 11.7 GB | Y | ~28–33 tok/s est. | GGUF |
| granite 4.2 8b | Q8_0 | 11.8 GB | Y | ~28–34 tok/s est. | GGUF |
| Qwen3 VL 8B | Q8_0 | 11.6 GB | Y | ~28–34 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 | ~31–37 tok/s est. | GGUF |
| Gemma 4 E2B | Q8_0 | 6.4 GB | Y | ~49–58 tok/s est. | GGUF |
| Qwen3.5 4B | Q8_0 | 6.1 GB | Y | ~54–64 tok/s est. | GGUF |
| Qwen3 4B (2507) | Q8_0 | 6.3 GB | Y | ~62–74 tok/s est. | GGUF |
| Nemotron Labs Dory 1.0 4B | Q8_0 | 5.5 GB | Y | ~63–75 tok/s est. | GGUF |
| NVIDIA Nemotron 3 Nano 4B | Q8_0 | 5.2 GB | Y | ~63–75 tok/s est. | GGUF |
| Ministral 3 3B (2512) | Q8_0 | 5.8 GB | Y | ~65–77 tok/s est. | GGUF |
| Qwen3.5 2B | Q8_0 | 3.2 GB | Y | ~110–130 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 128 GB
macOS caps how much unified memory the GPU can wire. We assume about 75% (about 96 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 128GB
Apple M1 Ultra (128 GB), Apple M2 Ultra (128 GB), Apple M3 Max (128 GB), Apple M4 Max (128 GB), Apple M5 Max (128 GB).
FAQ
Is 128GB enough to run an LLM on a Mac?
Yes. 48 of 64 current models in our list fit fully at Q3_K_M or better with 8k context, the largest being Qwen3.8 Flash Next (MoE) at Q3_K_M (about 93.2 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 96 GB on a 128GB 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 128GB Mac run a 70B model?
Yes. Llama 3.3 70B Instruct fits at Q8_0 (about 80.6 GB with 8k context, estimate) inside the default limit of about 96 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 128GB Mac gives the GPU about 96 GB, so it fits bigger models. Check both in the checker.
Other Mac tiers: 96 GB Mac · all Mac sizes · 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.