Qwen 3 30B-A3B (MoE) needs 30.0 GB of VRAM for its weights at FP8 (E4M3) — 30.4 GB once a KV cache is loaded. Below is the full breakdown: which GPUs fit, how many you need, what it serves, and what it costs per million tokens. Every figure comes from tokcalc's open-source capacity model.
| Quantization | Weights | With KV cache | Smallest single GPU |
|---|---|---|---|
| FP16 | 60.0 GB | 60.4 GB | Mac M3 Max (64GB) (64 GB) |
| FP8 (E4M3)recommended | 30.0 GB | 30.4 GB | V100 SXM2 32GB (32 GB) |
| AWQ 4-bit | 16.5 GB | 16.9 GB | A10G 24GB (24 GB) |
| GPU | GPUs | Total VRAM | Decode tok/s | Aggregate tok/s | Cost / 1M tokens |
|---|---|---|---|---|---|
| RTX 3080 10GB | 4× | 40 GB | 839.8 | 40310 | $0.005513 |
| RTX 4080 16GB | 4× | 64 GB | 792.3 | 38030 | $0.008765 |
| RTX 5090 32GB | 2× | 64 GB | 990.1 | 23762 | $0.0117 |
| RTX 3090 24GB | 2× | 48 GB | 517.1 | 11867 | $0.0117 |
| RTX A4000 16GB | 4× | 64 GB | 495.0 | 23762 | $0.0140 |
| RTX 4090 24GB | 2× | 48 GB | 556.9 | 13366 | $0.0166 |
| T4 16GB | 4× | 64 GB | 353.6 | 10800 | $0.0206 |
| V100 SXM2 32GB | 2× | 64 GB | 497.3 | 11934 | $0.0233 |
| A10G 24GB | 2× | 48 GB | 331.5 | 7956 | $0.0251 |
| AMD MI300X 192GB | 1× | 192 GB | 1723 | 20670 | $0.0336 |
| TPU v6e Trillium (32GB) | 2× | 64 GB | 452.5 | 10860 | $0.0409 |
| A100 40GB SXM4 | 1× | 40 GB | 503.8 | 6045 | $0.0414 |
RTX 3080 10GB has no NVLink, so 4-way tensor parallelism runs over PCIe. tokcalc applies a flat 0.85× multi-GPU efficiency factor for this, which is realistic for NVLink-equipped datacenter cards but optimistic for PCIe scale-out — treat the throughput and cost figures for this configuration as an upper bound, and measure before committing.
| Context | Concurrent users | KV per request | Fits? |
|---|---|---|---|
| 4K | 24 | 412.3 MB | ✓ fits |
| 8K | 12 | 824.6 MB | ✓ fits |
| 33K | 3 | 3.22 GB | ✓ fits |
| 66K | 1 | 6.44 GB | ✓ fits |
| 131K | 0 | 12.88 GB | ✗ does not fit |
Yes. At FP8 (E4M3) the model needs 30.4 GB of VRAM, so it fits on a single A100 40GB SXM4 or anything with more VRAM. At full FP16 it needs 60.4 GB, which fits on one Mac M3 Max (64GB) or larger.
At FP8 (E4M3) with 8,192-token context and 8 concurrent users, the cheapest configuration that fits is 4× RTX 3080 10GB (40 GB total VRAM). $0.005513 per 1M output tokens.
On 1× Cerebras CS-3 (WSE-3) at FP8 (E4M3), the aggregate throughput is 78000 tokens/sec with continuous batching. That hardware has no published rental price, so its cost per million tokens is not comparable.
Weights alone: 60.0 GB at FP16, 30.0 GB at FP8 (E4M3). Add KV cache for your context length and concurrency — every concurrent request at 8,192 tokens costs extra VRAM, so budget headroom above the weight figure.
FP8 halves the weight footprint (60 GB → 30 GB) and is faster than FP16 on Hopper and Blackwell, where it has native kernels. FP16 remains the reference quality bar; FP8 loses a small amount of accuracy in exchange for roughly doubling the batch size you can serve per GPU.
Qwen 3 30B-A3B (MoE) is a mixture-of-experts model: 3B parameters are active per token, but all 30B experts must stay resident in VRAM. Capacity is bounded by the resident set, while decode throughput is bounded by the active set — so it serves fast per token but needs the full footprint.
At 4× RTX 3080 10GB the marginal cost is $0.005513 per 1M output tokens, before you add idle capacity, ops staff, or egress. That is typically cheaper than frontier API pricing at sustained volume, but API calls win when your load is bursty or too small to keep a GPU busy. The Build vs Buy tab on tokcalc prices this against a specific provider for you.
The calculator uses the exact same formulas as this page — change the workload and watch every number update.
| Total parameters | 30.00B |
| Active parameters per token | 3.00B |
| Architecture | Mixture-of-Experts |
| Attention layout | Full attention (GQA) |
| Transformer layers | 48 |
| Hidden dimension | 2048 |
| Attention heads | 32 query / 4 KV (GQA) |
| Head dimension | 128 |
| Vocabulary size | 151,936 |
| Max context (catalog) | 41K |
| KV cache per token @ 8K | 96.0 KB |
Every layer caches keys and values for the whole context, so the KV cache grows linearly with conversation length.