llmvram.com
Mistral AI · 24B dense (incl. vision tower) · GQA (40 layers × 8 KV heads) · Apache-2.0

Mistral Small 3.1 VRAM requirements

18.8 GiB provisional
at Q4_K_M · unsloth build · 32K context · RTX 4090 24GB
fits any 24GB card, 3.7 GiB to spare · the 24GB ceiling is UD-Q5_K_XL at 21.1 GiB, tight

Mistral Small 3.1 needs 15.1 GiB at Q4_K_M (unsloth build) at 8K context and 18.8 GiB at 32K (classic KV bound counted) — any 24GB card runs it with 3.7 GiB to spare, which is why the community calls this the 24GB card's best friend. Q4_K_M is the community default. The ceiling on 24GB is unsloth's UD-Q5_K_XL at 21.1 GiB (1.4 to spare, tight), and Q6-class needs more room: UD-Q6_K_XL totals 24.9 GiB at the bound — 2.4 over 22.5 usable, fitting 24GB only with context shortened to ~9K. The nearest miss in the database lives on this page too: the smallest 1-bit build totals 10.7 GiB at 32K, 0.2 GiB over a 12GB card's 10.5 usable — at 8K context it fits (6.9 GiB), tight.

TL;DR
Run it: ollama run mistral-small3.1 — comfortable on any 24GB card, even at 32K (Ollama boots at 4K context — /set parameter num_ctx 32768 for the full window).
Baseline: 32K context, 22.5 GiB usable on a 24GB card — the one config this page promises. The quant table's main column prices the 4K load (the community runtime default: weights + overhead + the KV term at 4K); each row's Note prices the full 32K load this page promises; at 4K context the KV term shrinks eightfold (≈0.6 GiB), so Q4_K_M at 4K ≈ 14.5 GiB — a 16GB-card config, not a 24GB one. The short form pulls the ollama build; this page measures the unsloth file. Buying for it? A used RTX 3090 24GB is the value pick — this page is the reason.

Mistral Small 3.1 is Mistral AI's March 2025 refresh of the Small line: a 24B dense GQA model — 40 full-attention layers, 32 query heads, 8 KV heads, head dim 128 (config.json text_config) — with a vision tower riding along (multimodal wrapper; the GGUF repos ship mmproj separately). Native 128K context, Apache-2.0. Every layer grows KV linearly, so its 32K KV bound is the same 5.0 GiB config derivation the 40-layer GQA arithmetic gives — and this page's totals are labeled upper-bound estimates (actual ≤ value).

Data verified · sources pinned in Where every number comes from

Chart: one column per VRAM platform from 12GB up to 48GB-class (usable VRAM, GiB), zoned green = comfortable, amber = tight under 2.5 GiB of headroom, red = no fit; the accent staircase traces each platform's 32K ceiling quant — nothing fits the 12GB column (smallest build 10.7 GiB misses 10.5 usable by ~0.2), UD_IQ3_XXS on 16GB (14.3), UD_Q5_K_XL on the 24GB columns (21.1), Q8_0 on 32GB (28.8); the 24GB × Q4_K_M sweet spot is marked by a highlight bar at 3.7 GiB of headroom; BF16 (50.2 GiB at the bound) misses every consumer column, clearing only past the 48GB-class door
One column per GPU, colored by verdict zone; the staircase is each card's 32K ceiling quant with the classic KV bound counted. The 12GB column is the nearest miss on this site: the smallest tracked build (UD_IQ1_S) totals 10.7 GiB at the bound against 10.5 GiB usable — nothing fits 32K there, though at 8K context that build drops to 6.9 GiB and fits, tight. 16GB tops out at UD_IQ3_XXS (14.3 GiB, 0.2 spare). The 24GB columns land on unsloth's UD-Q5_K_XL (21.1 GiB, 1.4 spare, tight), with the highlighted Q4_K_M sweet spot at 18.8 GiB — 3.7 GiB of headroom, the comfortable default that earned this model its 24GB reputation. The RTX 5090 32GB reaches Q8_0 (28.8 GiB, tight), and BF16 (50.2 GiB at the bound) is the first door that misses everything consumer. The 48GB-class platform is one column (2× RTX 3090 24GB / 6000 Ada, 46.5 GiB usable) — two cards are not one card doubled.

How much VRAM at each quantization? (weights + overhead + 4K KV, batch 1)

Main column totals at 4K context (the community runtime default): weights + overhead + the classic stacked KV bound at 4K — the @32K bound divided by eight, same config derivation (40 layers × 8 KV heads × 128 dim × 2 × 2 bytes × context; actual ≤ value, KV quantization only shrinks it). The KV column carries the @32K bound per row, and each row's Note prices the full 32K load — the config this page promises. At 4K the KV term is ≈0.6 GiB, so Q4_K_M at 4K ≈ 14.5 GiB — the 16GB-card config. The fit column judges each build's full 32K load against usable VRAM. Weights are actual file sizes.
QuantizationVRAM needed @4KKV @32K provisional i · beyond the @4K columnSmallest tracked fitNote
UD_IQ1_S6.3 GiB5 GiBRTX 3060 12GB · ≤~31K ctxmeasured · at 32K: 10.7 GiB
UD_IQ3_XXS9.9 GiB5 GiBRTX 4060 Ti 16GBmeasured · at 32K: 14.3 GiB
Q4_K_M14.5 GiB5 GiBRTX 3090 24GBmeasured · at 32K: 18.8 GiB
UD_Q5_K_XL16.7 GiB5 GiBRTX 3090 24GBmeasured · at 32K: 21.1 GiB
Q8_024.5 GiB5 GiBRTX 5090 32GBmeasured · at 32K: 28.8 GiB

GB vs GiB: card names are the manufacturer's nominal GB; totals here are GiB (230 bytes) — a "24GB" card holds 24 GiB, and a file quoted 14,334,000,000 B in decimal is the same 13.4 GiB. Caliber →

The 48GB-class doors, spelled out: a dual-GPU combo (2× 24GB; not one card doubled), a workstation card (RTX 6000 Ada), or a Mac Studio (unified memory; runs, slower tok/s). Here they only matter for BF16 — every quant readers actually download fits one 24GB card.

How this page computes the numbers (reproduce any cell)
  • usable VRAM = nominal minus reserve, per card: 12GB → 10.5 GiB, 16GB → 14.5 GiB, 24GB → 22.5 GiB, 32GB → 30.0 GiB.
  • total@32K = weights + overhead + KV@32K; KV@32K = 5 GiB (config-derived — 163,840 B/token effective at 32K; hybrid models carry a constant state on top, composition in sources).
  • total@4K (main column) = total@32K − KV@32K × 7/8 — KV is fully linear in context on this model.
  • The "≤~XK ctx" note = 8K + 32K × (usable − total@8K) ÷ KV@32K — the context length that exactly fills the card (KV grows linearly with context on this model).
  • A build fits a card at 32K when total@32K ≤ usable; tight = under 2.5 GiB of headroom, one site-wide threshold.

Is your GPU enough? (find your card: one row tells you)

Ceilings at 32K context with the KV bound counted (the stricter case), usable VRAM = nominal minus 1.5 GiB on 24GB-class, minus 2.0 GiB at 32GB. The 12GB row is the nearest miss on this site: nothing fits 32K there (smallest build 10.7 GiB vs 10.5 usable), while at 8K context the 1-bit build fits at 6.9 GiB, tight. 16GB tops out at UD_IQ3_XXS (14.3 GiB, 0.2 spare). On 24GB the ceiling is unsloth's UD-Q5_K_XL (21.1 GiB, 1.4 spare, tight) — the page's pick stays Q4_K_M, one rung down with real headroom. The RTX 5090 32GB reaches Q8_0 (28.8 GiB, tight). Rows are ceilings — the biggest build that fits, not the page's pick; the recommendation lives in the hero, the buy section, and the chart's highlighted band.
Your GPUVRAMBiggest quant that fits (ceiling)How it feels
RTX 3060 12GB12 GB——
RTX 4060 Ti 16GB16 GBUD_IQ3_XXS (3-bit) · 14.3 GiB0.2 GiB spare at 32K (incl KV bound)
RTX 3090 24GB24 GBUD_Q5_K_XL (5-bit) · 21.1 GiB1.4 GiB spare at 32K (incl KV bound)
RTX 4090 24GB24 GBUD_Q5_K_XL (5-bit) · 21.1 GiB1.4 GiB spare at 32K (incl KV bound)
RTX 5090 32GB32 GBQ8_0 (8-bit) · 28.8 GiB1.2 GiB spare at 32K (incl KV bound)

Quants stack by size: each GPU has exactly one ceiling — a card that runs a bigger build runs every smaller one. Main-column totals price the 4K load (weights + overhead + the KV term at 4K — the community runtime default); each row's Note prices the full 32K load this page promises (the 12GB near-miss flips to a fit at 8K), and CPU offload trades tok/s for headroom.

What GPU should you buy for it? (the 24GB sweet spot logic)

The sweet spot
24 GB
Buys you
Q4_K_M with headroom — UD-Q5_K_XL is the tight ceiling
Representative hardware
RTX 3090 (used) / RTX 4090
The logic24GB is the tier this model was built around: Q4_K_M totals 18.8 GiB at 32K with the KV bound counted, 3.7 GiB to spare — and the ceiling build (UD-Q5_K_XL, 21.1 GiB) still fits the same cards. Below it, 16GB runs Q4_K_M only at 4K context (14.5 GiB, a knife-edge) and 12GB misses even the 1-bit build at 32K — by 0.2 GiB, the nearest miss on this site. Above it, a 32GB RTX 5090 reaches Q8_0; nice, not necessary — the community's 24GB pick earns the title at 24GB.
Why it fitsDense 24B at Q4_K_M is 13.4 GiB of weights; the 40-layer GQA KV bound adds 5.0 GiB at 32K, totaling 18.8 GiB against 22.5 GiB usable — the 24GB sweet spot with the quality headroom Q4 leaves for longer context and everyday workloads.

⚠ Tight is a site-wide threshold: under 2.5 GiB of headroom. Q4_K_M @32K leaves 3.7 GiB on 24GB — comfortable by a margin. The tight fits worth knowing: the ceiling build UD-Q5_K_XL totals 21.1 GiB (1.4 to spare), and UD-Q6_K_XL totals 24.9 GiB — 2.4 GiB over the 22.5 GiB usable, fitting 24GB only with context shortened (≈9K at the bound). The 12GB near-miss: UD_IQ1_S totals 10.7 GiB, 0.2 over 10.5 usable — flips to a fit at 8K context. All totals carry the classic KV bound, so these verdicts are stable, not flip-check rows.

Tracked builds (actual file sizes, not theory)

One row per build we track. verified = we read the file listing; reported = community numbers, linked, not re-measured by us.
BuildPublisherFile size24GB @32KSource
UD_IQ1_Sunsloth5.2 GiBOK · 10.7HF @d63ca941 verified
UD_IQ3_XXSunsloth8.8 GiBOK · 14.3HF @d63ca941 verified
Q4_K_Munsloth13.3 GiBOK · 18.8HF @d63ca941 verified
UD_Q5_K_XLunsloth15.6 GiBTIGHT · 21.1HF @d63ca941 verified
Q8_0unsloth23.3 GiBNO · 28.8HF @d63ca941 verified
BF16mistralai44.7 GiBNO · 50.2HF @68faf511 verified

unsloth ships the full standard + UD dynamic range for this model — and bartowski ships a ladder too: re-probed on the primary channel 2026-09-15 (27 builds, tracked in our registry). This table stays curated — Q4-first picks, not the whole roster — and same-name spreads follow the >5% rule: same quant name, different build, different bytes. The BF16 row is Mistral's own repo, ten safetensors shards at a pinned revision (the consolidated.safetensors duplicate in the same repo is excluded by the shard-sum rule). Where 24GB ends at 32K: UD-Q5_K_XL at 21.1 GiB; UD-Q6_K_XL (24.9 GiB) is the first door that misses, and Q8_0 (28.8 GiB) needs a 32GB card.

Self-host or API?

API $/1M (blended)
≈ $0.35-$0.55 — 24B-class listing, blended ≈ $0.4 (prices: OpenRouter)
Self-host monthly
$30-60 all-in (24GB card, 4h/day) — ≈ power only if you already own it
Breakeven
≈ 55M-170M tokens/mo

Why in / out? Output tokens cost more than input: a prompt is read in one parallel pass, while output is generated token-by-token — costlier to serve. For example, mistral-small-3.1-24b-instruct listed at $0.351 in / $0.555 out per 1M tokens in the 2026-09-18 OpenRouter snapshot; blended at a typical chat mix (4 input : 1 output) ≈ $0.39/1M.

API prices float; the crossover moves less than one decade either way — so this page answers the question that doesn't need live prices: how much monthly usage makes self-hosting worth considering at all.

Monthly usageVerdictWhy
< 50M tokensAPIEven the cheapest self-host ($30/mo) never breaks even against the API bill at this usage — don't bother calculating.
50M-200M tokensConditionalThe decisive variable is whether you already own a 24GB card — amortization dominates the self-host bill.
> 200M tokensSelf-hostPer-token API billing stops scaling here; consider a managed dedicated instance too — at 600M+ tokens/mo it often beats DIY.

Robustness: at 0.35/1M blended the crossover sits near 170 tokens/mo; at 0.55/1M near 55/mo. The three bands hold under ±2.5× API-price and ±2× self-host-cost floats. Self-host cost basis: $800-1900 GPU amortized over 30 months ($27-63/mo) + ~350W × 4h/day × $0.15/kWh (≈ $6/mo). Live prices via OpenRouter (linked, not re-verified by us); the band is a 24B-class reference from the 2026-09-18 OpenRouter listing, not a pinned price for this model.

Where every number comes from (every figure carries its tag)

Weights: pinned file sizes at pinned revisions.
Totals: measured weights + KV as the classic stacked upper bound (plain-GQA config derivation — labeled, and actual ≤ value) + measured overhead. This page exists for one config: the 24B dense tier × Q4_K-class quant × 32K context on a 24GB card — the tier the community already voted for, now priced build by build.
Caliber: all figures in GiB (230 bytes) — VRAM is binary-native. Baseline: 32K context, 22.5 GiB usable on 24GB cards — the one config this page promises; the quant table's main column prices the 4K load per build (the community runtime default), and each row's Note prices the full 32K load this page promises. KV @32K is the classic stacked bound for this 40-layer GQA model (163,840 B/token, config-derived, unmeasured): actual ≤ value, KV quantization only shrinks it. Verify before buying hardware. How we compute these numbers →
What each number slot is made of. These tags are the legend for every badge on this page: they say what kind of evidence a number is, and what a verdict built on it can claim.
TagSlotWhat it isWhat the verdict can claim
reportedmodelHF config.json (hypothesis-parameter carrier)Tight, conditional — stands on the linked source, re-checkable by you.
reportedstaticHF model pageTight, conditional — stands on the linked source, re-checkable by you.
provisionalkvKV cache @ 32K — no published measurement for Mistral Small 3.1 in our sources (checked 2026-09-14); the page shows the classic stacked bound instead: 163,840 B/token × 32K = 5.0 GiB, config-derived (40 layers × 8 KV heads × 128 dim × K/V × 2 bytes), actual ≤ valueVery likely right, order of magnitude only — replaced the moment measured values land.
measuredoverheadDeployment overhead — llama.cpp FA-on compute buffer anchor (507 MiB; measured empirical; same constant as the other champion pages)Determinate — "it runs" means it runs.
Pinned sources: every row clickable and dated; repo sources commit-pinned (living docs tracked as latest).
HF config.json (hypothesis-parameter carrier)@68faf511accessed 2026-09-21
HF model page@68faf511accessed 2026-09-21
KV cache @ 32K — no published measurement for Mistral Small 3.1 in our sources (checked 2026-09-14); the page shows the classic stacked bound instead: 163,840 B/token × 32K = 5.0 GiB, config-derived (40 layers × 8 KV heads × 128 dim × K/V × 2 bytes), actual ≤ valuelatest—
Deployment overhead — llama.cpp FA-on compute buffer anchor (507 MiB; measured empirical; same constant as the other champion pages)latestaccessed 2026-09-05

FAQ

Does Mistral Small 3.1 fit in 24GB VRAM?

Yes, comfortably at the community default. The Q4_K_M build totals 18.8 GiB at 32K context (weights + overhead + the 5.0 GiB classic KV bound) against 22.5 GiB usable on an RTX 3090 24GB or 4090 24GB — 3.7 GiB to spare. Even the ceiling build, unsloth's UD-Q5_K_XL at 21.1 GiB, fits the same cards, tight. This is the tier the model’s 24GB reputation is built on.

How much VRAM does Mistral Small 3.1 need at Q4_K_M?

18.8 GiB at 32K context: 13.4 GiB weights + 0.5 GiB runtime overhead + 5.0 GiB KV cache. The KV figure is the classic stacked bound for this plain-GQA model (163,840 bytes/token × 32,768 tokens — 40 layers × 8 KV heads × 128 dim, config-derived, unmeasured): actual KV ≤ that value, and KV quantization shrinks it further. At 4K context the KV term drops eightfold to ≈0.6 GiB, so the same build runs in ≈14.5 GiB — the 16GB-card config, a knife-edge (see the 16GB question below). The short form (ollama run mistral-small3.1) pulls the ollama Q4_K_M build.

Is Mistral Small 3.1 the best 24GB model?

On the numbers this page prices: it is the comfortable fit — Q4_K_M at 18.8 GiB leaves 3.7 GiB of headroom where the 27B hybrids leave 3.9–4.3, with a quality ceiling build (UD-Q5_K_XL) still inside 24GB. "Best" is a workload question beyond VRAM, but the 24GB buying question has a clean answer here: this model, Q4_K_M, one used 3090.

What is the smallest GPU that runs Mistral Small 3.1?

At 32K context nothing fits a 12GB card — the smallest tracked build (UD_IQ1_S) totals 10.7 GiB at the bound, 0.2 GiB over 10.5 usable: the nearest miss on this site (at 8K context that build is 6.9 GiB and fits, tight). A 16GB card reaches UD_IQ3_XXS (14.3 GiB, 0.2 spare). The hero Q4_K_M build needs 24GB at 32K — or 16GB at 4K context, where it totals 14.5 GiB. For Q4_K_M at the promised 32K, buy 24GB.

Can a 16GB card run Mistral Small 3.1 at Q4_K_M?

Yes, with context shortened: at 4K context Q4_K_M totals 14.5 GiB against 14.5 GiB usable on a 16GB card — a knife-edge at the bound: 0.03 GiB of spare on paper, and because the KV figure is an upper bound, anything it saves is real headroom. At the page’s promised 32K it totals 18.8 GiB and does not fit 16GB; the 32K ceiling there is UD_IQ3_XXS. Short-context chat and agent loops fit the 16GB config; long-document work wants 24GB.

Where did the bartowski builds go?

Nowhere — they were unreadable, not absent. During a 2026-09 network outage we read this model’s listings via a mirror channel that carried no bartowski repo; re-probed on the primary channel 2026-09-15, bartowski ships the full ladder (27 builds) and it is tracked in our registry. The table above stays curated — Q4-first picks, with same-name spreads priced under the >5% rule — so a bartowski build joins the display only when it wins a slot, not by default.

How does this site compute these VRAM numbers?

Weights are measured file sizes at pinned revisions (sources below); totals add runtime overhead plus the KV cache at 32K context. Here KV@32K = 5.0 GiB = 163,840 B/token × 32,768 (40 GQA layers, config-derived bound). A build fits a card at 32K when the total clears usable VRAM (nominal minus reserve), and tight means under 2.5 GiB of headroom — the full formula lives in the method box under the quantization table.