Can an M3 Max 128GB Mac run gpt-oss-120b?
M3 Max ยท 128 GB unified memory ยท 400 GB/s ยท MacBook Pro 16" (M3 Max)
At Q4_K_M it needs about 71.3 GiB, leaving 40.7 GiB spare out of the ~112.0 GiB macOS will let you use. Expect roughly 64 tokens/sec โ faster than you can read.
Where the memory goes
Three things occupy memory when a model is loaded: the weights themselves, the KV cache that holds the conversation, and the runtime's own working buffers. Only the first is fixed โ the KV cache grows with every token in your context.
| Quantisation | Weights | Total | Tok/s | Fits? |
|---|---|---|---|---|
| FP16 | 217.6 GiB | 229.8 GiB | 20 | No |
| Q8_0 | 115.6 GiB | 122.7 GiB | 37 | No |
| Q6_K | 89.7 GiB | 95.6 GiB | 48 | Yes, but tight |
| Q5_K_M | 77.5 GiB | 82.7 GiB | 55 | Yes, comfortably |
| Q4_K_M | 66.6 GiB | 71.3 GiB | 64 | Yes, comfortably |
| Q3_K_M | 53.0 GiB | 57.0 GiB | 80 | Yes, comfortably |
| Q2_K | 40.8 GiB | 44.2 GiB | 105 | Yes, comfortably |
The default. Best quality-per-gigabyte for most people.
How long a context fits
The KV cache is often what breaks a setup that looked fine at load time. Quantising it to 8-bit roughly halves its footprint with little measurable quality cost.
| Context | KV cache | Total | FP16 KV | Q8 KV |
|---|---|---|---|---|
| 2K | 0.1 GiB | 70.7 GiB | Yes, comfortably | Yes, comfortably |
| 4K | 0.3 GiB | 70.9 GiB | Yes, comfortably | Yes, comfortably |
| 8K | 0.6 GiB | 71.3 GiB | Yes, comfortably | Yes, comfortably |
| 16K | 1.1 GiB | 72.2 GiB | Yes, comfortably | Yes, comfortably |
| 32K | 2.3 GiB | 73.9 GiB | Yes, comfortably | Yes, comfortably |
| 128K | 9.0 GiB | 84.3 GiB | Yes, comfortably | Yes, comfortably |
How to run it
Ollama is the shortest path. It picks a quantisation automatically โ usually Q4_K_M, which is what the numbers above assume.
brew install ollama
ollama serve &
ollama run gpt-oss:120b
For MLX โ Apple's own array framework, typically a little faster than llama.cpp on Apple Silicon:
pip install mlx-lm
mlx_lm.generate --model mlx-community/gpt-oss-120b-4bit --prompt "Hello"
Macs that run gpt-oss-120b comfortably
The smallest configuration that handles it is the M3 Max 128GB (MacBook Pro 16" (M3 Max)).
| Mac | Memory | Bandwidth | Tok/s |
|---|---|---|---|
| M3 Max 128GB | 128 GB | 400 GB/s | 64 |
| M4 Max 128GB | 128 GB | 546 GB/s | 87 |
| M2 Ultra 192GB | 192 GB | 800 GB/s | 128 |
| M3 Ultra 256GB | 256 GB | 819 GB/s | 131 |
| M3 Ultra 512GB | 512 GB | 819 GB/s | 131 |
Common questions
- Can an M3 Max 128GB Mac run gpt-oss-120b?
- Yes. At Q4_K_M it needs about 71.3 GiB of the roughly 112.0 GiB available, generating around 64 tokens per second.
- How fast is gpt-oss-120b on an Mac?
- Around 64 tokens per second. Token generation on Apple Silicon is limited by memory bandwidth, and this machine has 400 GB/s. Because this is a mixture-of-experts model only 5.1B of its 116.8B parameters are read per token, which is why it is faster than its size suggests.
- How much memory does gpt-oss-120b need?
- 66.6 GiB for the weights at Q4_K_M, plus 0.6 GiB for an 8K-token KV cache and about 4.1 GiB of runtime overhead โ 71.3 GiB in total.