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

✅ Yes — it fits at 32K context (Q4_K_M) — 21.7 of 24 GB

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

Conditions: Q4_K_M · KV cache F16 · 32K context · Windows + display reserve (2 GB).

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

Model weights15.9 GB
KV cache0.8 GB
Runtime overhead + reserve5.0 GB
Total used21.7 / 24 GB
Free2.3 GB

Context at Q4_K_M: recommended max ~54K tokens (keeps 5% headroom) · hard limit ~77K tokens · with Q8 KV cache → hard limit ~101K tokens.

Every quantization on the RTX 4090

Weight quantWeightsRecommended max ctxHard limitUsed @32K
Q4_K_M15.9 GB~54K~77K✅ 21.7 / 24.0 GB
Q5_K_M18.0 GB~8K~31K❌ 24.1 / 24.0 GB
Q6_K21.3 GBwon't fit❌ 27.8 / 24.0 GB
Q8_025.2 GBwon't fit❌ 32.2 / 24.0 GB
FP1647.5 GBwon't fit❌ 57.1 / 24.0 GB

Recommended max = the longest context that still keeps the 5% headroom · hard limit = the longest that fits at all (KV cache F16).

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 at exactly these conditions, never stale:

[![fits: Gemma 4 26b A4B on RTX 4090](https://img.shields.io/endpoint?url=https%3A%2F%2Ffitllm.run%2Fapi%2Fbadge%3Fmodel%3DGemma%2B4%2B26b%2BA4B%26gpu%3DRTX%2B4090%26quant%3DQ4_K_M%26env%3Dwindows-display%26ctx%3D32768%26kv%3D16)](https://fitllm.run/can-i-run/gemma-4-26b-a4b-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 26b A4B" --gpu "RTX 4090" --quant Q4_K_M --ctx 32768 --kv 16

Why most VRAM calculators get this wrong

Gemma 4 26b A4B 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.

Other options

same GPU Models that fit on the RTX 4090: GLM-4.7-Flash, gpt-oss-20b, 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, Spark-X2.5-4B, MiniCPM5-2B.

same model GPUs that run Gemma 4 26b A4B: RTX 5090 (32GB), RTX 4090 (24GB), RTX 3090 (24GB), RTX 3090 Ti (24GB), RTX 6000 Ada (48GB), RTX PRO 6000 Blackwell (96GB), RX 7900 XTX (24GB), 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), RTX PRO 5000 Blackwell 48GB (48GB), RTX PRO 5000 Blackwell 72GB (72GB), RTX PRO 4500 Blackwell (32GB), RTX PRO 4000 Blackwell (24GB), DGX Spark 128GB (128GB), 2× DGX Spark 128GB (256GB), 4× DGX Spark 128GB (512GB).

Reproduce it

Gemma 4 26b A4B = 25.5B (4B active, MoE), 30 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