gpt-oss-20b
Data checked: 2026-10-12. Review interval shown below. Prices need review after 30 days; specifications and benchmark collections after 90 days. Dates describe the recorded check, not a live retailer quote.
- Verified Checked against the primary source (for example the model’s config.json on Hugging Face).
- Sourced Taken from a cited source; not yet independently checked.
- Estimate Calculated with the published formulas; not a measurement.
- Sample Placeholder data for layout; not a real figure.
- Not yet measured No public, citable score found for this benchmark yet. We never fill the gap with a guess.
Verified metadata is not a measured performance result. Only cited runs matching model, device, quant and recorded context can replace speed estimates. Estimates assume one stream and F16 KV cache, with a ±25% uncertainty band. A published run applies only to its recorded runtime and conditions; missing settings are unknown.
- gpt-oss-20b · dgx-spark-128g
llama.cpp (CUDA) · MXFP4 · tg32 @ depth 0
Recorded 2026-10-12 · historical source record · repeat count unknownSourced
llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Run source - gpt-oss-20b · dgx-spark-128g
llama.cpp (CUDA) · MXFP4 · tg32 @ depth 4096
Recorded 2026-10-12 · historical source record · repeat count unknownSourced
llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Run source - gpt-oss-20b · dgx-spark-128g
llama.cpp (CUDA) · MXFP4 · tg32 @ depth 8192
Recorded 2026-10-12 · historical source record · repeat count unknownSourced
llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Run source - gpt-oss-20b · dgx-spark-128g
llama.cpp (CUDA) · MXFP4 · tg32 @ depth 16384
Recorded 2026-10-12 · historical source record · repeat count unknownSourced
llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Run source - gpt-oss-20b · dgx-spark-128g
llama.cpp (CUDA) · MXFP4 · tg32 @ depth 32768
Recorded 2026-10-12 · historical source record · repeat count unknownSourced
llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Run source - gpt-oss-20b · dgx-spark-128g
llama.cpp (CUDA) · MXFP4 · tg32 @ 8k depth
Recorded 2026-10-12 · historical source record · repeat count unknownSourced
llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Run source
Evidence labels · Freshness policy · Calculation methodology
At a glance
A mixture-of-experts model shipped natively in MXFP4. Only 3.6B parameters are read per token, so it is fast on almost anything with 16 GB.
At MXFP4 and 8k context it needs about 12.9 GB: 12.1 GB of weights, 0.2 GB of KV cache and 0.6 GB of runtime overhead. Only 3.6B of its 20.9B parameters are read per token, so it decodes far faster than its size suggests (see memory bandwidth). 12 of its 24 layers use a 128-token sliding window, which keeps the cache small at long context.
Estimated setup
Quant | MXFP4 |
|---|---|
Smallest standard card size at 8k | 16 GB |
Max context, 24 GB card | 128k |
Runtimes | llama.cpp, Ollama, LM Studio, MLX |
Quantization options
Total memory = weights + KV cache (F16) + runtime overhead. File sizes marked Verified are the sum of GGUF files from ggml-org/gpt-oss-20b-GGUF on the Hugging Face API. KV cache costs 0.049 MB per token before sliding-window savings.
Quant | bpw | File | At 8k | At 32k | At 128k | KL-divergence | 24 GB card, 8k |
|---|---|---|---|---|---|---|---|
| MXFP4 | 4.25 | 12.1 GBVerified | 12.9 GB | 13.7 GB | 16.8 GB | — | Fits |
Why this matters: What is quantization? · What is a KV cache?
Decode speed by device
MXFP4, single stream, 8k context. Estimates use the brief §7.3 formula (η × bandwidth ÷ bytes per token) and are ±25% until measured.
Speed table
Device | Verdict | Decode, tok/s | Range | Runtime |
|---|---|---|---|---|
| GeForce RTX 5090 32 GB | Fits | 469.6Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 4090 24 GB | Fits | 264.2Estimate | ±25% | llama.cpp (estimate) |
| Radeon RX 7900 XTX 24 GB | Fits | 251.6Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 3090 24 GB (used) | Fits | 245.3Estimate | ±25% | llama.cpp (estimate) |
| 2× RTX 3090 (used) 48 GB | Fits | 245.3Estimate | ±25% | llama.cpp (estimate) |
| Mac Studio M5 Ultra (base) | Fits | 235.9Estimate | ±25% | llama.cpp (estimate) |
| Mac Studio M5 Ultra · 512 GB | Fits | 235.9Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 5060 Ti 16 GB | Fits | 117.4Estimate | ±25% | llama.cpp (estimate) |
| MacBook Pro M4 Max 40c · 128 GB | Fits | 107.3Estimate | ±25% | llama.cpp (estimate) |
| Mac Studio M5 Max (base) | Fits | 90.4Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 4060 Ti 16 GB | Fits | 75.5Estimate | ±25% | llama.cpp (estimate) |
| NVIDIA DGX Spark FE 128 GB | Fits | 75.2Sourced | 74.2–76.3 | llama.cpp (CUDA) |
| Ryzen AI Max+ 395 mini PC 128 GB | Fits | 50.3Estimate | ±25% | llama.cpp (estimate) |
| CPU only · Ryzen 9 9950X + 128 GB DDR5 | Fits | 19.6Estimate | ±25% | llama.cpp (estimate) |
Speed against context depth
tok/s falls as the KV cache grows. Sourced llama-bench -fa 1 -p 2048 -n 32 -ub 2048, ggml-org GGUF, commit 3795cc1e8 (2026-02-05), run by the llama.cpp maintainers on a DGX Spark. Source.
Scroll to see the full chart.
Compare with similar-sized models
Model | Parameters | Quality score | Licence |
|---|---|---|---|
| gpt-oss-20b | 20.9 B | 1,287Sourced | Apache-2.0 |
| Qwen3 14B | 14.8 B | Not measuredSample | Apache-2.0 |
| Mistral Small 3.2 24B | 24.0 B | 1,338Sourced | Apache-2.0 |
LMArena text, overall, entry 'gpt-oss-20b': 1287.4 (95% CI 1281.0–1293.7, 10,418 votes), leaderboard published 2026-10-08. CC-BY-4.0. Dataset
llama-perplexity --kl-divergence on a fixed corpus. Speed and quality are never merged into one score. Sample values are illustrative and must not be used to select a model.Architecture
Parameters, total | 20.91 BVerifiedsafetensors.total from the HF API. Source |
|---|---|
Parameters, active per token | 3.60 BSourcedActive parameters per token from the model card. Source |
Layers | 24VerifiedSource |
Query heads | 64VerifiedSource |
KV heads (GQA) | 8VerifiedSource |
Head dimension | 64VerifiedSource |
Hidden size | 2880VerifiedSource |
Sliding window | 128 tokensVerifiedLocal attention window. Source |
Sliding-window layers | 12 of 24VerifiedLayers using sliding-window attention (from layer_types / sliding_window_pattern). Source |
Experts | 32 experts, 4 active per tokenVerifiedSource |
Operating conditions
Max context | 131,072 tokensVerifiedSource |
|---|---|
Licence | Apache-2.0VerifiedSource |
Weights | openai/gpt-oss-20b |
GGUF files | ggml-org/gpt-oss-20b-GGUF |
Usable memory, discrete | VRAM − 0.5 GB2 |
Usable memory, unified | RAM × 0.752 |
Fits when | total ≤ 90% of usable2 |
1 Estimates: decode ≈ η × bandwidth ÷ (active weights + KV cache), η 0.60 discrete / 0.45 unified / 0.50 CPU (concept brief §7.3). Not measurements.
2 Fit rules from the concept brief §7.3, including the 0.75 unified-memory factor used by canirun.ai.
Flags: Verified = checked against config.json / HF API; Sourced = from a cited source; Estimate = formula; Sample = placeholder. Markdown · JSON · Report a problem