Skip to main content

Lab · LLM VRAM · gpt-oss

Computed

gpt-oss 120B memory requirements

116.8B parameters — 60.8 GiB of weights at FP16, 58.5 GiB at Q4_K_M, and 72.0 KiB of KV cache per token on top. Solved against 22 real accelerators; 5 of them can hold it.

Parameters

116.8B

116,829,156,672 exactly

Weights, Q4_K_M

58.5 GiB

60.8 GiB unquantized

KV cache

72.0 KiB

per token · 36L × 8 KV × 64

Smallest card (Q4)

80 GB

H100 80GB (SXM5)

Weights at each precision

PrecisionBits/weightWeightsSourceNotes
As released4.4760.8 GiBmeasured fileUnquantized. Two bytes per parameter, exactly.
Q8_04.3459.0 GiBmeasured fileEffectively lossless; the usual reference point for quantized quality.
Q6_K4.3358.9 GiBmeasured fileQuality loss is hard to measure on most benchmarks.
Q5_K_M4.3158.6 GiBmeasured fileA middle point when Q4 fits with too little room for context.
Q4_K_M4.3058.5 GiBmeasured fileThe default choice for local inference — the best size/quality knee.
Q3_K_M4.2958.3 GiBmeasured fileMeasurable quality loss. Worth it only to make a model fit at all.

This release is already quantized. The published checkpoint measures 60.8 GiB against the 217.6 GiB that two bytes per parameter would imply, so the FP16 row above describes a file its authors never shipped. The measurement is the sum of the shard sizes in openai/gpt-oss-120b, not a figure derived from the dtype metadata — which reports this model's 4-bit tensors in a way that cannot be told apart from 8-bit ones.

Every accelerator

Largest quant that fits with at least 4k of context, the context it leaves, and the bandwidth ceiling on decode speed. Each row links to the worked page for that pairing.

AcceleratorMemoryBandwidthBest quantMax contextCeiling
Apple M3 Ultra (512GB)512 GB819 GB/sFP16 / BF16131,072234 tok/s
H200 141GB (SXM)141 GB4800 GB/sFP16 / BF16131,0721373 tok/s
Apple M4 Max (128GB)128 GB546 GB/sFP16 / BF16131,072156 tok/s
H100 80GB (SXM5)80 GB3350 GB/sFP16 / BF16131,072958 tok/s
A100 80GB (SXM)80 GB2039 GB/sFP16 / BF16131,072583 tok/s
Jetson AGX Orin (64GB)64 GB204.8 GB/sno fit
RTX 6000 Ada Generation48 GB960 GB/sno fit
L40S48 GB864 GB/sno fit
Apple M4 Pro (48GB)48 GB273 GB/sno fit
A100 40GB (SXM)40 GB1555 GB/sno fit
GeForce RTX 509032 GB1792 GB/sno fit
GeForce RTX 409024 GB1008 GB/sno fit
Radeon RX 7900 XTX24 GB960 GB/sno fit
GeForce RTX 309024 GB936 GB/sno fit
Apple M4 (24GB)24 GB120 GB/sno fit
GeForce RTX 508016 GB960 GB/sno fit
GeForce RTX 5070 Ti16 GB896 GB/sno fit
GeForce RTX 4080 SUPER16 GB736 GB/sno fit
GeForce RTX 4070 Ti SUPER16 GB672 GB/sno fit
GeForce RTX 4060 Ti 16GB16 GB288 GB/sno fit
GeForce RTX 3060 12GB12 GB360 GB/sno fit
Jetson Orin Nano Super (8GB)8 GB102 GB/sno fit

Questions about this model

How much VRAM does gpt-oss 120B need?

60.8 GiB for the weights at FP16 and 58.5 GiB at Q4_K_M, from an exact count of 116,829,156,672 parameters. On top of that, the KV cache costs 72.0 KiB per token of context — 293 MiB at 8k and 1.1 GiB at 32k, less than linear because 18 of 36 layers stop growing at a 128-token window.

What is the smallest GPU that runs gpt-oss 120B?

Of the 22 accelerators here, the smallest that holds Q4_K_M weights is the H100 80GB (SXM5) at 80 GB — 58.5 GiB of weights against 73.6 GiB usable, leaving room for 128k tokens. For unquantized weights you need at least an H100 80GB (SXM5).

Why is the KV cache for gpt-oss 120B the size it is?

Because it stores one key and one value vector per token, per layer: 36 layers × 8 KV heads × 64 dimensions × 2 (K and V) × 2 bytes = 72.0 KiB per token. Grouped-query attention shares those 8 KV heads across 64 query heads, cutting the cache by 8× against multi-head attention. None of this can be read off the parameter count.

Compare with

Method and limits. The parameter count and every architecture figure on this page are read from the model's own published config and the Hub's index over its tensor shapes, fetched 2026-08-07 — nothing here is recalled from a model's name. Weight bytes are the size of a real published file wherever one exists and the parameter count times the published llama.cpp bits-per-weight where it does not; every row says which. Speed figures are roofline bounds — memory bandwidth divided by bytes read per token — not benchmarks. Nothing on this page is written by a language model.