Can I run GLM-4.7-Flash on an RTX 3090 (24GB)?

❌ Not at 32K context — GLM-4.7-Flash (Q4_K_M) needs 24.8 GB but the RTX 3090 has 24 GB

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

Conditions: Q4_K_M · KV cache F16 · 32K context · Windows + display reserve (2 GB). Shorter contexts fit: recommended max ~10K tokens (keeps 5% headroom) · hard limit ~24K tokens.

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

Model weights17.8 GB
KV cache1.7 GB
Runtime overhead + reserve5.4 GB
Total used24.8 / 24 GB
Short by0.8 GB

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

Every quantization on the RTX 3090

Weight quantWeightsRecommended max ctxHard limitUsed @32K
Q4_K_M17.8 GB~10K~24K❌ 24.8 / 24.0 GB
Q5_K_M20.7 GBwon't fit❌ 28.1 / 24.0 GB
Q6_K23.8 GBwon't fit❌ 31.6 / 24.0 GB
Q8_030.9 GBwon't fit❌ 39.5 / 24.0 GB
FP1658.1 GBwon't fit❌ 70.0 / 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: GLM-4.7-Flash on RTX 3090](https://img.shields.io/endpoint?url=https%3A%2F%2Ffitllm.run%2Fapi%2Fbadge%3Fmodel%3DGLM-4.7-Flash%26gpu%3DRTX%2B3090%26quant%3DQ4_K_M%26env%3Dwindows-display%26ctx%3D32768%26kv%3D16)](https://fitllm.run/can-i-run/glm-4-7-flash-on-rtx-3090)

fit badge preview ← renders like this, live.

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

npx fitllm "GLM-4.7-Flash" --gpu "RTX 3090" --quant Q4_K_M --ctx 32768 --kv 16

Why most VRAM calculators get this wrong

GLM-4.7-Flash uses MLA (Multi-head Latent Attention): K/V are compressed into a single low-rank latent (512 + 64 RoPE dims) shared across all heads — cached once, not per-head K and V. Naive "2 × heads × head_dim × layers" formulas over-count its KV cache by an order of magnitude.

What fits on the RTX 3090 instead

same GPU Models that fit on the RTX 3090: 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, Qwen 3.8 27B, Spark-X2.5-4B, MiniCPM5-2B.

same model GPUs that run GLM-4.7-Flash: 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

GLM-4.7-Flash = 31.2B (3B active, MoE), 47 layers. The RTX 3090 has 24GB / 936GB/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