How much VRAM do I need for an LLM?
Pick a model or load any one from Hugging Face, choose a quantization, context length and number of parallel requests, and see how much VRAM inference needs and which GPUs it fits on. Everything runs in your browser.
Advanced: the model numbers and overhead used
Editing any of these switches the model to Custom.
– estimated GPU memory
- Weights
- –
- KV cache
- –
- Runtime overhead
- –
- KV cache per token
- –
Displayed GB, MB and KB denote GiB, MiB and KiB (powers of 1,024).
Which GPUs fit the memory estimate
| GPU | Memory | Result |
|---|---|---|
| RTX 3060 | 12 GB | – |
| RTX 4060 Ti 16GB | 16 GB | – |
| RTX 3090 / 4090 | 24 GB | – |
| RTX 5090 | 32 GB | – |
| A100 40GB | 40 GB | – |
| Mac, 64 GB unified memory about 75% of it is usable by the GPU by default | 48 GB | – |
| L40S / RTX 6000 Ada | 48 GB | – |
| A100 / H100 80GB | 80 GB | – |
| Mac, 128 GB unified memory about 75% of it is usable by the GPU by default | 96 GB | – |
| H200 | 141 GB | – |
| B200 | 180 GB | – |
llama-server --fit preview
Without -c, -np or -ngl, llama-server sizes itself (--fit on is the default): it starts from the model's full trained context, shrinks the context until --fit-target (1024 MiB) stays free, and only then moves layers to the CPU. This box replays those steps with the estimate above.
What --fit picks
- Context
(-c) - –
- Longest request
- –
- Slots
- 4
- GPU layers
(-ngl) - –
- Projected GPU memory
- –
Explicit flags instead
One slot, the longest context that fits with room for the mmproj, and a margin the fit will honour:
llama-server -m model.gguf -c 8192 -np 1 The same settings as environment variables (llama.cpp reads them for these flags):
LLAMA_ARG_CTX_SIZE=8192 LLAMA_ARG_N_PARALLEL=1 LLAMA_ARG_FIT_TARGET=1024 Steps from llama.cpp common/fit.cpp, common/arg.cpp and tools/server/server.cpp at a6ea155 (2026-09-29). llama.cpp measures its own buffers, so its numbers differ a little from this estimate; llama-fit-params --model model.gguf prints the exact flags it would use.
Fits? Then see how many tokens per second it will write.
The LLM VRAM Calculator on the home page runs this same estimate.
Training instead of running it? Estimate VRAM for full fine-tuning, LoRA and QLoRA.
VRAM for popular models
Total GPU memory with 8,192 tokens of context, one request and an FP16 KV cache. Each model name leads to its own page, with every quantization, the cache at long context and the GPUs that fit.
| Model | Parameters | As published | Q8_0 | Q4_K_M | Q4_K_M fits on |
|---|---|---|---|---|---|
| DeepSeek V4.1 Flash 1017 (MoE) | 763.2B | 524 GB (5.3 bits/weight) | 832 GB | 474 GB | 8× H100 SXM |
| Nemotron 3.5 Super VL 120B-A12B (MoE) | 124.5B | 256 GB (BF16) | 136 GB | 77.7 GB | A100 80GB |
| Ling 3.1 Flash 560B-A25B (MoE) | 572.1B | 588 GB (FP8) | 623 GB | 355 GB | M3 Ultra Mac Studio (512 GB) |
| LightOnOCR-3 4B | 4.5B | 10.1 GB (BF16) | 5.72 GB | 3.59 GB | RTX 4060 8GB |
| Kolibri-1 (MoE) | 78.1B | 81.5 GB (FP8) | 85.8 GB | 49.2 GB | 2× RTX 5090 |
| ThinkingCap Qwen3.8 27B | 27.8B | 58.0 GB (BF16) | 31.3 GB | 18.3 GB | RTX 3090 |
| Bespoke Nimble 9B | 9.0B | 19.1 GB (BF16) | 10.5 GB | 6.32 GB | RTX 4060 8GB |
| LensVLM 9B | 9.4B | 20.1 GB (BF16) | 11.0 GB | 6.61 GB | RTX 4060 8GB |
| Qwen3-Coder 30B-A3B (MoE) | 30.5B | 63.9 GB (BF16) | 34.6 GB | 20.2 GB | RTX 3090 |
| Ornith 1.0 35B (MoE) | 35.1B | 72.6 GB (BF16) | 38.9 GB | 22.4 GB | RTX 3090 |
| Ornith 1.0 9B | 9.4B | 20.1 GB (BF16) | 11.0 GB | 6.61 GB | RTX 4060 8GB |
| Granite 4.2 30B | 29.3B | 62.7 GB (BF16) | 34.6 GB | 20.8 GB | RTX 3090 |
| Granite 4.2 8B | 8.8B | 19.9 GB (BF16) | 11.4 GB | 7.32 GB | RTX 4060 8GB |
| Granite 4.2 3B | 3.7B | 8.69 GB (BF16) | 5.17 GB | 3.46 GB | RTX 4060 8GB |
| Spark-X2.5 4B | 4.1B | 9.35 GB (BF16) | 5.40 GB | 3.47 GB | RTX 4060 8GB |
| Ling 3.0 Tiny 7.9B-A1.3B (MoE) | 7.9B | 16.7 GB (BF16) | 9.15 GB | 5.45 GB | RTX 4060 8GB |
| LFM2.5 8B-A1B (MoE) | 8.5B | 18.0 GB (BF16) | 9.82 GB | 5.85 GB | RTX 4060 8GB |
| Step 3.7 Flash 196B-A11B (MoE) | 201.4B | 414 GB (BF16) | 220 GB | 126 GB | H200 |
| Hy4 Preview 770B-A49B (MoE) | 780.0B | 1,599 GB (BF16) | 850 GB | 485 GB | 8× H100 SXM |
| Limite 1B Violetto | 1.0B | 2.79 GB (BF16) | 1.80 GB | 1.31 GB | RTX 4060 8GB |
| ZDTaichu 5.0 9B | 9.8B | 20.8 GB (BF16) | 11.4 GB | 6.85 GB | RTX 4060 8GB |
| Hemmingway-1 27B | 27.3B | 57.0 GB (BF16) | 30.8 GB | 18.0 GB | RTX 3090 |
| MiMo V2.6 Distill Qwen 9B | 9.4B | 20.1 GB (BF16) | 11.0 GB | 6.61 GB | RTX 4060 8GB |
| K2-Horizon MoVA 36B-A4B (MoE) | 37.4B | 78.9 GB (BF16) | 42.9 GB | 25.4 GB | RTX 5090 |
| IQuest-Q1 320B-A15B (MoE) | 320.3B | 659 GB (BF16) | 351 GB | 201 GB | M3 Ultra Mac Studio (512 GB) |
| LLM-jp-4.1 32B-A3B Thinking (MoE) | 32.1B | 66.9 GB (BF16) | 36.0 GB | 21.0 GB | RTX 3090 |
| Ornith 1.5 35B-A3B (MoE) | 36.0B | 74.3 GB (BF16) | 39.8 GB | 23.0 GB | RTX 3090 |
| Ornith 1.5 9B | 9.7B | 20.6 GB (BF16) | 11.3 GB | 6.76 GB | RTX 4060 8GB |
| AliceAI Foundation 80B-A3B (MoE) | 81.3B | 167 GB (BF16) | 89.2 GB | 51.1 GB | 2× RTX 5090 |
| DeepSeek V4 Flash 0731 | 304.2B | 172 GB (4.4 bits/weight) | 332 GB | 190 GB | M3 Ultra Mac Studio (512 GB) |
| Qwen3.6 35B-A3B (MoE) | 36.0B | 74.3 GB (BF16) | 39.8 GB | 23.0 GB | RTX 3090 |
| Qwen3.6 27B | 27.8B | 58.0 GB (BF16) | 31.3 GB | 18.3 GB | RTX 3090 |
| Qwen3.8 27B | 27.8B | 58.0 GB (BF16) | 31.3 GB | 18.3 GB | RTX 3090 |
| Qwen3.8 Flash Next (180B MoE) | 180.0B | 370 GB (BF16) | 197 GB | 112 GB | DGX Spark (128 GB) |
| Qwen3.8 2.4T-A95B (MoE) | 2.45T | 5,013 GB (BF16) | 2,664 GB | 1,517 GB | More than 8 GPUs |
| Qwen3.5 9B | 9.7B | 20.6 GB (BF16) | 11.3 GB | 6.76 GB | RTX 4060 8GB |
| Qwen3.5 122B-A10B (MoE) | 125.1B | 257 GB (BF16) | 137 GB | 78.2 GB | A100 80GB |
| Qwen3-Coder-Next (80B MoE) | 79.7B | 164 GB (BF16) | 87.4 GB | 50.1 GB | 2× RTX 5090 |
| DeepSeek V4.1 Flash | 763.2B | 524 GB (5.3 bits/weight) | 832 GB | 474 GB | 8× H100 SXM |
| DeepSeek V4 Flash | 290.9B | 165 GB (4.4 bits/weight) | 318 GB | 182 GB | M3 Ultra Mac Studio (512 GB) |
| DeepSeek V4 Pro | 1.60T | 887 GB (4.3 bits/weight) | 1,742 GB | 993 GB | 8× H200 |
| DeepSeek V3.2 | 685.4B | 707 GB (FP8) | 747 GB | 426 GB | 8× H100 SXM |
| GLM-5.3 | 753.3B | 775 GB (FP8) | 821 GB | 468 GB | 8× H100 SXM |
| GLM-5.3 Flash | 321.3B | 337 GB (FP8) | 350 GB | 200 GB | M3 Ultra Mac Studio (512 GB) |
| GLM-5.2 | 753.3B | 1,545 GB (BF16) | 821 GB | 468 GB | 8× H100 SXM |
| GLM-4.7 Flash | 31.2B | 64.9 GB (BF16) | 34.9 GB | 20.3 GB | RTX 3090 |
| Gemma 4 31B | 31.3B | 66.6 GB (BF16) | 36.5 GB | 21.9 GB | RTX 3090 |
| Gemma 4 26B-A4B (MoE) | 25.8B | 53.9 GB (BF16) | 29.1 GB | 17.0 GB | RTX 3090 |
| Gemma 4 12B | 12.0B | 25.7 GB (BF16) | 14.2 GB | 8.57 GB | RTX 3060 12GB |
| Gemma 4 E4B | 8.0B | 17.1 GB (BF16) | 9.38 GB | 5.64 GB | RTX 4060 8GB |
| Kimi K3 | 2.78T | 1,600 GB (4.5 bits/weight) | 3,027 GB | 1,724 GB | More than 8 GPUs |
| MiniMax M3 | 427.0B | 877 GB (BF16) | 466 GB | 266 GB | M3 Ultra Mac Studio (512 GB) |
| MiniMax M2.7 | 228.7B | 238 GB (FP8) | 252 GB | 144 GB | B200 |
| MiMo V2.6 Flash | 310.8B | 178 GB (4.5 bits/weight) | 339 GB | 193 GB | M3 Ultra Mac Studio (512 GB) |
| MiMo V2.6 Pro | 1.02T | 581 GB (4.4 bits/weight) | 1,116 GB | 636 GB | 8× H100 SXM |
| Mistral Medium 3.5 128B | 127.7B | 140 GB (FP8) | 143 GB | 82.7 GB | Ryzen AI Max+ 395 (128 GB) |
| Nemotron 3 Nano 4B | 4.0B | 8.78 GB (BF16) | 4.96 GB | 3.10 GB | RTX 4060 8GB |
| Nemotron 3 Nano 30B-A3B (MoE) | 31.6B | 65.3 GB (BF16) | 34.9 GB | 20.1 GB | RTX 3090 |
| Nemotron 3 Super 120B-A12B (MoE) | 123.6B | 254 GB (BF16) | 135 GB | 77.2 GB | A100 80GB |
| Xing 4.0 29B-A4B (MoE) | 31.2B | 64.8 GB (BF16) | 34.9 GB | 20.2 GB | RTX 3090 |
| Muse Glimmer 30B | 29.8B | 61.7 GB (BF16) | 33.1 GB | 19.2 GB | RTX 3090 |
| MiniCPM5 2B | 2.5B | 6.02 GB (BF16) | 3.60 GB | 2.42 GB | RTX 4060 8GB |
| Llama 3.1 8B | 8.0B | 18.1 GB (BF16) | 10.3 GB | 6.58 GB | RTX 4060 8GB |
| Llama 3.1 70B | 70.6B | 148 GB (BF16) | 80.0 GB | 47.0 GB | M4 Pro Mac (64 GB) |
| Qwen3 8B | 8.2B | 18.5 GB (BF16) | 10.7 GB | 6.81 GB | RTX 4060 8GB |
| Qwen3 30B-A3B (MoE) | 30.5B | 63.9 GB (BF16) | 34.6 GB | 20.2 GB | RTX 3090 |
| gpt-oss-20b | 20.9B | 14.8 GB (MXFP4) | 23.5 GB | 13.7 GB | RTX 4060 Ti 16GB |
| gpt-oss-120b | 116.8B | 67.7 GB (MXFP4) | 128 GB | 73.2 GB | A100 80GB |
| DeepSeek V3 / R1 (671B) | 684.5B | 707 GB (FP8) | 746 GB | 425 GB | 8× H100 SXM |
Announced, weights not out yet: Mistral Large 4 (1.05T), estimated from Mistral's figures until the weights land on October 31.
What can your GPU run?
Every model above, checked against one card or Mac: the best precision that fits, the longest context and the speed.
- RTX 4060 8GB
- RTX 3060 12GB
- Arc B580 12GB
- RTX 4070 12GB
- RTX 5070 12GB
- RTX 4060 Ti 16GB
- RTX 5060 Ti 16GB
- RX 9070 XT 16GB
- RTX 4070 Ti Super 16GB
- RTX 4080 Super 16GB
- RTX 5070 Ti 16GB
- RTX 5080 16GB
- RTX 3090
- RTX 4090
- RX 7900 XTX
- RTX 5090
- M4 Pro Mac (64 GB)
- M4 Max Mac (128 GB)
- M3 Ultra Mac Studio (512 GB)
- Ryzen AI Max+ 395 (128 GB)
- DGX Spark (128 GB)
- L40S
- RTX PRO 6000 Blackwell
- A100 80GB
- H100 SXM
- H200
- B200
- M1 Mac (8 GB)
- M1 Mac (16 GB)
- M2 or M3 Mac (8 GB)
- M2 or M3 Mac (16 GB)
- M2 or M3 Mac (24 GB)
- M4 Mac (16 GB)
- M4 Mac (24 GB)
- M4 Mac (32 GB)
- M5 Mac (16 GB)
- M5 Mac (24 GB)
- M5 Mac (32 GB)
- M1 Pro or M2 Pro Mac (16 GB)
- M1 Pro or M2 Pro Mac (32 GB)
- M3 Pro Mac (18 GB)
- M3 Pro Mac (36 GB)
- M4 Pro Mac (24 GB)
- M4 Pro Mac (48 GB)
- M5 Pro Mac (24 GB)
- M5 Pro Mac (48 GB)
- M5 Pro Mac (64 GB)
- M1 Max or M2 Max Mac (32 GB)
- M1–M3 Max Mac (64 GB)
- M3 Max Mac (36 GB)
- M3 Max Mac (128 GB)
- M4 Max Mac (36 GB)
- M4 Max Mac (48 GB)
- M4 Max Mac (64 GB)
- M5 Max Mac (36 GB)
- M5 Max Mac (48 GB)
- M5 Max Mac (64 GB)
- M5 Max Mac (128 GB)
- CPU only, DDR4-3200 dual channel (16 GB)
- CPU only, DDR4-3200 dual channel (32 GB)
- CPU only, DDR4-3200 dual channel (64 GB)
- CPU only, DDR5-5600 dual channel (32 GB)
- CPU only, DDR5-5600 dual channel (64 GB)
- CPU only, DDR5-5600 dual channel (128 GB)
- CPU only, DDR4-3200 quad channel (128 GB)
- CPU only, DDR4-3200 quad channel (256 GB)
- 2× RTX 3060 12GB
- 2× RTX 3090
- 4× RTX 3090
- 2× RTX 4090
- 2× RTX 5090
- 8× H100 SXM
- 8× H200
All 73 GPU, Mac and CPU-only setups in one table
Can I run a given model on a given GPU? One answer per popular model and card, with the quant, offload or card count it takes.
Serving with vLLM? The vLLM KV cache calculator works out the pool vLLM allocates at startup, in tokens, how many requests fit at once, and the vllm serve command.
See the best local LLMs for 8 to 96 GB of VRAM (for example 24 GB), or compare models and GPU memory in the reproducible report. The numbers are an open dataset (CSV and JSON, CC BY 4.0). Every precision is also in a CSV file on GitHub, free to reuse. Not sure which GGUF type to pick? See GGUF quantization explained, or, for Qwen3.8 27B on 8–16 GB, Ternary Bonsai 2 vs GSQ-RCO vs UD quants. How these estimates compare with real runs: predicted vs measured; measured one yourself? Submit a measurement with the log lines.
How to use
- Choose a model, or type a Hugging Face id such as Qwen/Qwen3-8B and press Load.
- Pick the weight precision you plan to run, for example Q4_K_M for llama.cpp or FP8 for vLLM.
- Set the context length and how many requests run at the same time.
- Read the total and the GPU table. Open Advanced to see or change every number behind the estimate.
Frequently asked questions
How much VRAM does Qwen3.6 27B need at Q4_K_M?
About 18.3 GB with 8,192 tokens of context and 19.9 GB with 32,768, for one request with an FP16 KV cache; the weights alone take 15.7 GB. So it fits one 24 GB card such as an RTX 3090 or 4090 with a 32K context.
How is LLM VRAM calculated?
Weights = parameters × bits per weight ÷ 8. KV cache = 2 × layers × KV heads × head dimension × bytes per value × tokens × requests. Runtime overhead = 0.5 GB for the CUDA context plus 10% of weights and cache for activations and fragmentation; you can change the 10% under Advanced.
Why does context length matter so much?
The KV cache grows with every token of every request. Llama 3.1 8B needs 128 KB of FP16 cache per token, so one 128K-token conversation adds 16 GB on top of the weights. An FP8 cache halves that.
Do MoE models like Qwen3-30B-A3B need less memory?
They compute with a few experts per token, but every expert has to be loaded, so weight memory follows the total parameter count: 30.5 billion for Qwen3-30B-A3B, not 3 billion.
Which GGUF quantization should I pick?
Q4_K_M is the usual default at about a third of the BF16 size; Q5_K_M and Q6_K keep more quality for coding and small models; Q3_K_M and Q2_K make a model fit at a clear cost in quality. The GGUF quantization guide on this site lists the bits per weight of each type and the size of popular models.
Does quantizing the weights shrink the KV cache?
No. Weight precision and KV cache precision are separate settings, so Q4 weights with an FP16 cache still need the full-size cache.
How are newer architectures handled?
Architecture data comes from model configs or GGUF headers, with runtime details checked against inference-engine sources. Multi-head latent attention (DeepSeek V3, GLM-5.3, Kimi K3) caches 576 values per token per layer instead of full keys and values; DeepSeek V3.2 and ordinary GLM-5 indexers add a 128-value FP8 key per token; GLM-5.3-Flash instead adds three 128-value vectors at the selected KV precision, following llama.cpp 5fc4f3c. Sliding-window layers keep only their window: 128 tokens in half of gpt-oss, 1,024 tokens in 50 of Gemma 4 31B’s 60 layers, whose other 10 layers cache 4 heads of 512 values that serve as both keys and values. Linear-attention layers keep a fixed-size state instead of a growing cache: 48 of Qwen3.8 27B’s 64 layers and 69 of Kimi K3’s 93. DeepSeek V4 also shares and compresses its cache across layers, which the calculator does not model, so its KV figure is an upper bound.
What does "As published" mean?
It uses the size of the model’s weight files on Hugging Face, so it matches the download even for checkpoints that mix formats, such as MXFP4 experts in gpt-oss or the 4-bit experts of DeepSeek V4 and MiMo V2.6.
How accurate is the VRAM estimate?
It is an estimate. Inference engines add their own buffers: vLLM reserves a fixed share of GPU memory up front, and llama.cpp allocates the cache for the full context when it starts. Leave some headroom, especially on a GPU that also drives your display.
Why do the llama-server commands on this site leave out -ngl 99?
Since b7440, llama.cpp fits unset arguments to free device memory
Is anything I enter sent anywhere?
The calculation runs in your browser. The only network requests go to Hugging Face, when you load a model.
More calculators
- FLUX 3 Image Klein VRAM Calculator Estimate FLUX 3 Image Klein VRAM by build, CPU offload, prompt upsampler and working-memory budget. Compare INT8, FP8, NVFP4 and BF16 files. Open →
- d1-omni VRAM LiquidAI d1-omni weights: 1.09 GiB in FP16 on GPU, 2.19 GiB in FP32 on CPU. Text, image and audio decisions, input limits, license and official Python usage. Open →
- pplx-decider v1.1 VRAM pplx-decider v1.1 needs 48.6 GiB for its BF16 checkpoint before working memory. GPU fit, decision head, noncausal attention and the official Python loader. Open →
- Speculative Decoding VRAM Calculator (MTP & draft models) Extra VRAM of MTP heads, DFlash drafters and draft models in llama.cpp, for Qwen3.8 27B and Gemma 4 31B. Open →
- Qwen3.8 27B GGUF Quants: Bonsai 2 vs GSQ-RCO vs UD Ternary Bonsai 2, GSQ-RCO and Unsloth UD files of Qwen3.8 27B: VRAM, quality, speed and the engine each needs. Open →
- Bonsai 2 27B VRAM Exact file sizes of Ternary Bonsai 2 27B, the longest context on 8–24 GB GPUs, and why sites say 5.95 GB or 8.60 GB. Open →
Updated