No items found.
Start Building
Guide

Mixtral 8x22B GPU Requirements: The MoE Memory Math

39B active parameters does not mean 39B of VRAM. Here is the real memory math for Mixtral 8x22B, and why 8x7B is not a live recommendation anymore.

Author photo
packet.ai Team
August 11, 2026

Mixtral 8x22B is a 141-billion-parameter sparse mixture-of-experts model from Mistral AI. At FP8 it needs roughly 162GB of VRAM before KV cache; at BF16, closer to 280GB. Neither fits on a single GPU. This post covers what Mixtral 8x22B actually needs to self-host, why 8x7B isn't part of that answer anymore, and a working vLLM deployment across multiple A100s.

Key takeaways

  • Mixtral 8x22B has 141B total parameters, 39B active per token. VRAM planning follows the total, not the active count, since all expert weights must be resident regardless of which ones activate
  • At FP8, weights alone need roughly 162GB including standard overhead. At BF16, roughly 280GB. Both require multiple GPUs; no single card covers this model
  • A100's lack of native FP8 Tensor Cores means FP8 on A100 runs via software emulation, slower than on H100 or newer hardware, though it still fits the memory budget
  • Mixtral 8x7B, the model that introduced MoE to open-weight LLMs, was retired by Mistral in March 2025 in favor of Mistral Small 4. It's not a live self-hosting recommendation anymore
  • vLLM deploys Mixtral 8x22B with tensor parallelism and expert parallelism together, not tensor parallelism alone, which is the detail most tutorials skip

The reason active parameters don't determine memory footprint is the same for every sparse MoE model, not something specific to Mixtral, and it's covered in more general depth in the packet.ai DeepSeek V4 GPU requirements guide, which walks through the same active-versus-total distinction on a different model family. This post assumes that context and focuses on what's specific to Mixtral: its actual routing mechanism, real numbers for the 8x22B model, and a working deployment. For general VRAM sizing formulas across model families, see the VRAM requirements guide.

What Mixtral 8x22B Actually Is

Mixtral 8x22B is a decoder-only transformer where each feedforward block contains 8 distinct expert networks instead of one, the core Mixtral MoE design. A router network selects the top 2 of those 8 experts for every token, and only the selected experts' weights do any computation on that token. This is where the "8x22B" naming comes from, and it's also where it becomes misleading: the model is not eight separate 22B models, and it doesn't have 8 × 22B = 176B parameters in the naive sense either, since attention layers and other components are shared across all experts. The actual total is 141B parameters, with roughly 39B active on any given forward pass.

Released by Mistral AI in April 2024 under Apache 2.0, Mixtral 8x22B remains open-weight and self-hostable today, and it's still the Mistral MoE model to reach for if the older 8x7B isn't the right fit. It handles English, French, German, Italian, and Spanish, includes native function calling, and supports a 64K token context window. On benchmarks at the time of release, it outperformed the earlier Mixtral 8x7B and approached GPT-4-class performance on several standard evaluations, while costing meaningfully less to run per token than a dense model of comparable quality, since only 39B parameters worth of compute happens per token rather than the full 141B.

⚡ A note on Mixtral 8x7B

Mixtral 8x7B, the model that first brought sparse MoE to open-weight LLMs in December 2023, was officially retired by Mistral in March 2025. Their own documentation points to Mistral Small 4 as the replacement. If you're comparing "Mistral and Mixtral" options today, 8x7B is a historically important model, not a current self-hosting recommendation. This post covers 8x22B, the MoE model Mistral still supports.

Why 39B Active Doesn't Mean 39B of VRAM

The mental model to leave with: MoE reduces compute per token, not the amount of weight that must be resident for inference. All 141B total parameters have to sit in GPU memory before generation starts, since there's no way to know in advance which experts a given request will need. The 39B active count only tells you how many of those parameters participate in producing any one token, not how much memory the model occupies.

The router in Mixtral 8x22B chooses which 2 of 8 experts activate independently for every single token, and that choice can land on any expert in each layer. Across a full generation of any meaningful length, it's a near-certainty that all 8 get used somewhere in the sequence. There's no way to predict in advance which experts a given request will need, so nothing can be safely left out of memory.

This is precisely why community discussions around Mixtral 8x22B consistently include people trying to run it on a single 40GB or 48GB GPU and hitting an out-of-memory error immediately, sometimes after already seeing the model report a deceptively small active-parameter figure.

Mixtral GPU Requirements: The Real VRAM Numbers

Mixtral VRAM planning comes down to two precision options, and neither fits a single card:

Precision Weight memory Fits on
FP8 ~162 GB 4x A100 80GB (320GB combined)
BF16 ~280 GB 4x A100 80GB is tight; 5x recommended for headroom

The FP8 figure comes from the straightforward calculation: 141B parameters at 1 byte each is roughly 141GB, plus the standard ~15% framework overhead vLLM and similar servers need for CUDA kernels, activation buffers, and allocator fragmentation, landing around 162GB. That leaves meaningful headroom on 4x A100 80GB (320GB combined) for KV cache and concurrent requests. BF16 at 2 bytes per parameter roughly doubles that to 280GB, which technically fits on 4x A100 but leaves uncomfortably little room for KV cache once real traffic hits the server; 5x A100 80GB (400GB) gives that configuration actual working headroom.

⚡ On the "80GB in 4-bit" figures floating around

Some sources cite much lower Mixtral 8x22B VRAM figures, in the 80GB range, for aggressive 4-bit quantization. That number is plausible for weight storage alone at INT4 (roughly 70-75GB), but it doesn't include KV cache, framework overhead, or activation memory, and 4-bit quantization on a model this size carries a real quality tradeoff worth testing against your actual task before committing to it. Treat low weight-only figures as a floor, not a deployment budget.

A100 is worth flagging specifically here: it lacks native FP8 Tensor Cores, so FP8 inference on A100 runs through software emulation rather than hardware acceleration. It still fits the memory budget and still works, just at lower throughput than the same FP8 configuration would get on H100 or newer hardware. If raw BF16 throughput matters more than cost, that's the tradeoff to weigh against A100's lower hourly price.

Deploying Mixtral 8x22B with vLLM

The detail most Mixtral tutorials miss: tensor parallelism alone is not the right configuration for a sparse MoE model. vLLM supports expert parallelism specifically for MoE architectures, and combining it with tensor parallelism is what actually makes a multi-GPU Mixtral deployment work well, rather than just technically fit.

vllm serve mistralai/Mixtral-8x22B-Instruct-v0.1 \
  --tensor-parallel-size 4 \
  --enable-expert-parallel \
  --dtype fp8 \
  --max-model-len 16384 \
  --gpu-memory-utilization 0.92

--enable-expert-parallel is the flag that matters most here. Without it, vLLM tensor-parallelizes every layer uniformly, including the expert layers, which is a workable but inefficient way to split an MoE model across GPUs. With expert parallelism enabled, individual experts can be distributed across GPUs more directly, which is a better fit for how the model's sparsity actually works. --dtype fp8 is what makes the 4x A100 80GB configuration fit at all; dropping to BF16 on the same 4-card setup leaves too little room for KV cache to be practical.

If BF16 throughput is a hard requirement rather than FP8, the same command with --dtype bfloat16 needs 5x A100 80GB instead of 4x to leave workable KV cache headroom.

Running Mixtral 8x22B on packet.ai

Mixtral 8x22B's real deployment cost comes from needing multiple GPUs regardless of precision, which makes the per-GPU rate matter more than it would for a single-card model. packet.ai's A100 80GB is available now at $1.43/GPU-hour, dedicated, with both PCIe and SXM configurations. SXM is the one to choose here: Mixtral's tensor-parallel and expert-parallel communication between GPUs needs NVLink bandwidth that PCIe's 64 GB/s ceiling doesn't provide, and 4-5 PCIe A100s tensor-parallelizing a 141B model would bottleneck on inter-GPU communication badly enough to undercut the whole point of renting multiple GPUs.

Since this is a multi-GPU-from-the-start deployment rather than a single-card decision, testing FP8 against BF16 on your own workload before committing to a production configuration is worth the relatively small extra hourly cost of running both configurations briefly on Dynamic pricing rather than guessing which one your traffic actually needs. That direct comparison settles a Mistral self host decision faster than any spec sheet can.

Frequently asked questions

At FP8, weights need roughly 162GB including standard framework overhead, fitting on 4x A100 80GB with room for KV cache. At BF16, weights need roughly 280GB, which technically fits on 4x A100 but works more comfortably on 5x for real concurrent traffic. No single GPU covers this model at either precision.
No. The 39B active parameter count describes how much computation happens per token, which affects generation speed. All 141B total parameters must be loaded into VRAM regardless, since the router can select any of the 8 experts per layer for any given token, and there's no way to know in advance which ones a request will need.
Mixtral 8x7B was officially retired by Mistral in March 2025, with Mistral Small 4 listed as the replacement. It's historically significant as the first open-weight MoE model, but it's no longer a live recommendation from Mistral itself, and newer models in a similar VRAM range generally outperform it today.
Set --tensor-parallel-size to the number of GPUs and add --enable-expert-parallel, which is specifically built for MoE architectures like Mixtral rather than treating expert layers the same as any other layer. Combined with --dtype fp8 for memory efficiency, this configuration runs on 4x A100 80GB with room for KV cache and concurrent requests.
A100 (Ampere generation) lacks native FP8 Tensor Cores, which were introduced with Hopper. FP8 workloads on A100 run through software emulation rather than dedicated hardware acceleration, so throughput is lower than the same FP8 configuration would achieve on H100 or newer GPUs, even though the memory savings are identical.

Last reviewed: August 11, 2026. For the general active-versus-total parameter distinction that applies to every MoE model, see the DeepSeek V4 GPU requirements guide. For general VRAM sizing across model families, see the VRAM requirements guide.

Waste less compute.

Same models. Same API. Fraction of the cost. Start free — no credit card required.

Start Building →

More from the blog