Yes, just — 2.2 GB spare
Gemma 4 31B at Q4_K_M fits your GeForce RTX 3090 Ti entirely on the GPU at 8K context, at an estimated 35 tokens per second. Past 21K the KV cache pushes it over — quantise the cache to q8_0, or step down a quantisation, to go longer.
Fully on GPU
8K context
Q4_K_M · 17.6 GB
Apache 2.0
Released 2 Apr 2026
Vision
The dense flagship: strongest maths of the 24–32 GB class (89% AIME), clean prose, vision. Q4 is a tight 24 GB fit.
The VRAM budget
weights 17.6 GB
Weights 17.6 GB
KV cache @ 8K 2.03 GB
Runtime overhead 0.6 GB
Free 2.2 GB of 22.4 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| Q8_0 | 31.0 GB | 33.6 GB | — | ~2.9 | −0.1% ppl | 11.2 GB over |
| Q6_K | 23.9 GB | 26.5 GB | — | ~6.8 | −0.4% ppl | 4.1 GB over |
| Q5_K_M | 20.7 GB | 23.3 GB | 2K | ~18 | −0.8% ppl | 0.9 GB over |
| Q4_K_M | 17.6 GB | 20.2 GB | 21K | 35 | −1.9% ppl | Recommended |
| Q3_K_M | 14.2 GB | 16.9 GB | 43K | 43 | −5.4% ppl | Long context |
| Q2_K | 12.2 GB | 14.8 GB | 56K | 50 | −15% ppl | Long context |
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 (1024 tokens, 10 of 60 layers global), which is why its cache barely grows with context.
How to run it
$ llama-server \
-hf google/gemma-4-31B-it:Q4_K_M \
-c 8192 -ngl 99
The engine underneath most of the others. Every knob is exposed. More on llama.cpp.
01Download is 17.6 GB. Keep it on an SSD — a first load off a spinning disk takes minutes.
02Close anything else holding VRAM. A browser with hardware acceleration can sit on 1–2 GB.
03Only 2.2 GB is spare, so a long system prompt can still push it over. Its real ceiling here is 21K context.