Can It Run?
Home โ€บ gpt-oss-20b โ€บ M1 Max 32GB

Can an M1 Max 32GB Mac run gpt-oss-20b?

M1 Max ยท 32 GB unified memory ยท 400 GB/s ยท MacBook Pro 14" (M1 Max), MacBook Pro 16" (M1 Max)

Yes โ€” gpt-oss-20b runs on an M1 Max 32GB Mac.

At Q4_K_M it needs about 13.7 GiB, leaving 13.5 GiB spare out of the ~27.2 GiB macOS will let you use. Expect roughly 91 tokens/sec โ€” faster than you can read.

Weights
11.9 GiB
20.9B params @ Q4_K_M
KV cache
0.4 GiB
8K context, FP16
Overhead
1.4 GiB
runtime + activations
Total needed
13.7 GiB
of ~27.2 GiB usable
Est. speed
91 tok/s
400 GB/s bandwidth
Max context
128K tokens
at Q4_K_M

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.

QuantisationWeightsTotalTok/sFits?
FP1638.9 GiB42.1 GiB28No
Q8_020.7 GiB22.9 GiB52Yes, comfortably
Q6_K16.1 GiB18.0 GiB67Yes, comfortably
Q5_K_M13.9 GiB15.7 GiB78Yes, comfortably
Q4_K_M11.9 GiB13.7 GiB91Yes, comfortably
Q3_K_M9.5 GiB11.1 GiB114Yes, comfortably
Q2_K7.3 GiB8.8 GiB148Yes, 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.

ContextKV cacheTotalFP16 KVQ8 KV
2K0.1 GiB13.2 GiBYes, comfortablyYes, comfortably
4K0.2 GiB13.4 GiBYes, comfortablyYes, comfortably
8K0.4 GiB13.7 GiBYes, comfortablyYes, comfortably
16K0.8 GiB14.4 GiBYes, comfortablyYes, comfortably
32K1.5 GiB15.7 GiBYes, comfortablyYes, comfortably
128K6.0 GiB23.8 GiBYes, but tightYes, 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:20b

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-20b-4bit --prompt "Hello"

Macs that run gpt-oss-20b comfortably

The smallest configuration that handles it is the M2 24GB (MacBook Air 15" (M2)).

MacMemoryBandwidthTok/s
M2 24GB24 GB100 GB/s23
M4 24GB24 GB120 GB/s27
M4 Pro 24GB24 GB273 GB/s62
M1 Max 32GB32 GB400 GB/s91
M2 Max 32GB32 GB400 GB/s91
M4 32GB32 GB120 GB/s27
M3 Max 36GB36 GB300 GB/s68
M4 Max 36GB36 GB410 GB/s93
M4 Pro 48GB48 GB273 GB/s62
M4 Max 48GB48 GB546 GB/s124
M1 Max 64GB64 GB400 GB/s91
M2 Ultra 64GB64 GB800 GB/s181

Common questions

Can an M1 Max 32GB Mac run gpt-oss-20b?
Yes. At Q4_K_M it needs about 13.7 GiB of the roughly 27.2 GiB available, generating around 91 tokens per second.
How fast is gpt-oss-20b on an Mac?
Around 91 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 3.6B of its 20.9B parameters are read per token, which is why it is faster than its size suggests.
How much memory does gpt-oss-20b need?
11.9 GiB for the weights at Q4_K_M, plus 0.4 GiB for an 8K-token KV cache and about 1.4 GiB of runtime overhead โ€” 13.7 GiB in total.