FitLLM

Can I run Gemma 4 31b on an RTX 4090 (24GB)?

❌ No — Gemma 4 31b (Q4_K_M) needs 26.3 GB but the RTX 4090 has 24 GB

Computed with the open FitLLM engine — accurate per-layer KV-cache modeling, not a naive estimate. Updated 2026-07-16.

Memory breakdown (Q4_K_M, F16 KV, 33K context)

Model weights17.5 GB
KV cache3.3 GB
Runtime overhead + reserve5.6 GB
Total used26.3 / 24 GB
Short by2.3 GB

Max context that fits at Q4_K_M: ~3K tokens · with Q8 KV cache → ~10K tokens.

Every quantization on the RTX 4090

Weight quantWeightsFits (KV F16)Used @32K
Q4_K_M17.5 GB❌ up to 3K ctx26.3 / 24.0 GB
Q5_K_M20.4 GB❌ won't fit29.6 / 24.0 GB
Q6_K23.5 GB❌ won't fit33.0 / 24.0 GB
Q8_030.4 GB❌ won't fit40.8 / 24.0 GB
FP1657.2 GB❌ won't fit70.8 / 24.0 GB

Lower weight quants free memory at some output-quality cost — Q4 is the common sweet spot; below that quality drops faster.

KV cache is F16 here (llama.cpp default). Drop it to Q8/Q4 (-ctk/-ctv) for more context.

▶ Open the interactive calculator (this exact setup)

Embed this verdict

Live badge for your README or model card — recomputed by the engine, never stale:

[![fits: Gemma 4 31b on RTX 4090](https://img.shields.io/endpoint?url=https%3A%2F%2Ffitllm.run%2Fapi%2Fbadge%3Fmodel%3DGemma%25204%252031b%26gpu%3DRTX%25204090)](https://fitllm.run/can-i-run/gemma-4-31b-on-rtx-4090)

fit badge preview ← renders like this, live.

Or from your terminal (exit 0/1 — works as a pre-download guard):

npx fitllm "Gemma 4 31b" --gpu "RTX 4090"

Why most VRAM calculators get this wrong

Gemma 4 31b interleaves sliding-window (local) and global attention 5:1. The local layers cap their KV cache at the 1024-token window, and the global layers use a different head shape (head_dim 512 vs 256). A naive "all layers × full context × one head_dim" formula over-counts KV cache by several times.

What fits on the RTX 4090 instead

same GPU Models that fit on the RTX 4090: GLM-4.7-Flash, gpt-oss-20b, Qwen 3.6 27B, Gemma 4 e2b, Gemma 4 e4b, Gemma 4 12b, Gemma 4 26b A4B, Llama-3.2-3B-Instruct, Llama-3.1-8B-Instruct, MiniCPM5-1B, Qwen3-0.6B, Qwen3-1.7B, Llama-3.2-1B-Instruct, Gemma-3-1B-it.

same model GPUs that run Gemma 4 31b: RTX 5090 (32GB), RTX 6000 Ada (48GB), RTX PRO 6000 Blackwell (96GB), Radeon PRO W7900 (48GB), 2× RTX 3090 (48GB), 2× RTX 4090 (48GB), 4× RTX 3090 (96GB), A100 40GB (40GB), A100 80GB (80GB), H100 80GB (80GB), H200 141GB (141GB), B200 (180GB).

Reproduce it

Gemma 4 31b = 30.7B, 60 layers. The RTX 4090 has 24GB / 1008GB/s. Same math, open source: fitllm-engine. GGUF bpw from llama.cpp.

All numbers are computed by the open-source fitllm-engine (MIT) from official model config.json values — reproduce or audit them yourself. Estimates; real usage varies with runtime (llama.cpp / MLX / Ollama), driver and display. Found a mismatch? Report it. · FitLLM home