Exact VRAM memory allocation, dynamic KV-cache requirements, and tensor parallelism slicing for DeepSeek-V3 671B MoE quantized in FP16 Uncompressed Native deployed on NVIDIA H100 80GB SXM5.
Not at FP8: the 671 GB of weights alone exceed the 640 GB of eight 80 GB cards. It fits one 8 × H200 node at FP8, or one 8 × H100 node with a 4-bit community build.
DeepSeek-V3 caches a 576-value compressed latent per layer instead of full keys and values, about 69 KiB per token in BF16 across 61 layers, when the inference engine supports MLA.
No. It is a simple formula based on total parameters. DeepSeek-V3 reads only about 37B parameters per token, so real decoding speed depends on expert-parallel balance and batch size.
DeepSeek-V3 is an open-weight mixture-of-experts (MoE) language model released by DeepSeek in December 2024. It has 671 billion parameters in total, but only about 37 billion are active for any single token: each of its 61 transformer layers (apart from the first three, which are dense) routes a token to 8 of 256 "routed" experts plus one shared expert. The published context window is 128K tokens. DeepSeek reports pre-training on 14.8 trillion tokens and, unusually for an open model, training in FP8 mixed precision. The checkpoint on Hugging Face is about 685B parameters because it also contains a 14B multi-token-prediction module that ordinary inference does not need.
Two design choices matter most for memory. First, the MoE layout means compute per token resembles a 37B dense model, while storage still has to hold all 671B parameters: every expert must sit in GPU memory (or be offloaded, at a large speed cost) because the router can pick any of them. Second, DeepSeek uses Multi-head Latent Attention (MLA), which stores a compressed 512-value latent plus a 64-value rotary key per layer instead of full keys and values for every head. That makes the real KV cache very small, as shown below.
The calculator adds three numbers:
The weights term is exact arithmetic: 671 × 109 parameters × 2 bytes is 1,342 GB. The KV term is a rule of thumb that scales a "0.5 MB per token for a 70B model" figure with parameter count. For DeepSeek-V3 that rule gives about 4.8 MB per token, which is far from the architecture. With MLA the cache is 61 layers × 576 values × 2 bytes ≈ 69 KiB per token in BF16, roughly seventy times smaller, provided your inference engine keeps the compressed latent form (SGLang and recent vLLM releases do; naive implementations that expand it to full heads do not). Treat the calculator's KV line as a generous upper bound for this model.
With the page defaults (671B parameters, FP16/BF16, 8,192-token context, batch of 2, 80 GB per GPU) the calculator reports:
| Item | Calculation | Result |
|---|---|---|
| Weights | 671 × 16 ÷ 8 | 1,342.0 GB |
| KV cache (calculator rule) | 8,192 × 2 × 4.79 MB ÷ 1024 | 76.7 GB |
| Runtime overhead | fixed | 1.8 GB |
| Total | sum | 1,420.5 GB |
| H100 80 GB GPUs | 1,420.5 ÷ (80 × 0.92) = 19.3, rounded up | 20 |
Using the MLA figure instead, the cache for the same 16,384 tokens would be about 1.1 GB, so the total is dominated almost entirely by weights. Either way, BF16 DeepSeek-V3 does not fit in one 8-GPU H100 server (8 × 80 GB = 640 GB). Twenty GPUs is also not a layout engines accept for tensor parallelism; in practice you would use three 8-GPU nodes with pipeline or expert parallelism, or more realistically not run it in BF16 at all.
Because the released weights are already FP8, the 16-bit setting describes an up-converted copy, mainly useful on hardware without FP8 support (for example A100). Switching the calculator's precision gives these totals at the default context and batch:
| Precision setting | Weights | Calculator total | H100 80 GB | H200 141 GB |
|---|---|---|---|---|
| BF16 (16-bit) | 1,342 GB | 1,420 GB | 20 | 11 |
| FP8 (native release) | 671 GB | 711 GB | 10 | 6 |
| GGUF Q4_K_M (4.5-bit) | 377 GB | 418 GB | 6 | 4 |
| AWQ/GPTQ 4-bit | 336 GB | 376 GB | 6 | 3 |
For a dense model, decoding one token reads every weight once, so single-stream speed is bounded by memory bandwidth divided by model size. For DeepSeek-V3 each token reads only the shared parts plus 8 experts, about 37B parameters, so the ceiling is much higher than the 671B total suggests. The calculator's "tokens per second" line uses a simple formula based on total parameters and will look pessimistic for this model; it is not a measurement. Real throughput depends heavily on expert-parallel load balancing and on batch size.