Only with CPU offload
Olmo 3.1 32B Instruct at Q4_K_M needs 20.0 GB but only 10.6 GB is addressable, so about 52% of the layers would stream from system RAM at roughly 60 GB/s. Expect around 3.4 tokens per second — usable for batch work, painful for chat.
The largest fully open model you can audit end to end. Q4 fits 24 GB, tightly.
What hardware do I need for Olmo 3.1 32B Instruct? →
Fits instead: Olmo 3 7B Instruct (7.2 GB)
The VRAM budget
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| Q8_0 | 31.9 GB | 33.7 GB | — | ~1.5 | −0.1% ppl | 23.1 GB over |
| Q6_K | 24.6 GB | 26.4 GB | — | ~2.1 | −0.4% ppl | 15.8 GB over |
| Q5_K_M | 21.3 GB | 23.1 GB | — | ~2.6 | −0.8% ppl | 12.5 GB over |
| Q4_K_M | 18.1 GB | 20.0 GB | — | ~3.4 | −1.9% ppl | 9.4 GB over |
| Q3_K_M | 14.7 GB | 16.5 GB | — | ~5.0 | −5.4% ppl | 5.9 GB over |
| Q2_K | 12.6 GB | 14.4 GB | — | ~7.0 | −15% ppl | 3.8 GB over |
Quality is the published perplexity delta against f16 weights. Max context assumes an f16 KV cache; q8_0 roughly doubles it. This model interleaves sliding-window layers (4096 tokens, 16 of 64 layers global), which is why its cache barely grows with context.
How to run it
$ llama-server \
-hf allenai/Olmo-3.1-32B-Instruct:Q4_K_M \
-c 8192 -ngl 30
The engine underneath most of the others. Every knob is exposed. More on llama.cpp.