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.
| Model weights | 17.8 GB |
| KV cache | 1.7 GB |
| Runtime overhead + reserve | 5.4 GB |
| Total used | 24.8 / 24 GB |
| Short by | 0.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.
| Weight quant | Weights | Recommended max ctx | Hard limit | Used @32K |
|---|---|---|---|---|
| Q4_K_M | 17.8 GB | ~10K | ~24K | ❌ 24.8 / 24.0 GB |
| Q5_K_M | 20.7 GB | won't fit | ❌ 28.1 / 24.0 GB | |
| Q6_K | 23.8 GB | won't fit | ❌ 31.6 / 24.0 GB | |
| Q8_0 | 30.9 GB | won't fit | ❌ 39.5 / 24.0 GB | |
| FP16 | 58.1 GB | won'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.
Live badge for your README or model card — recomputed by the engine at exactly these conditions, never stale:
[](https://fitllm.run/can-i-run/glm-4-7-flash-on-rtx-3090)
← 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
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.
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).
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