gpt-oss-120b
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-120b · 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-120b · 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-120b · 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-120b · 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-120b · 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-120b · 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
The model that sells 128 GB unified-memory boxes: 63 GB of MXFP4 weights, but only 5.1B parameters read per token.
At MXFP4 and 8k context it needs about 64.3 GB: 63.4 GB of weights, 0.3 GB of KV cache and 0.6 GB of runtime overhead. Only 5.1B of its 116.8B parameters are read per token, so it decodes far faster than its size suggests (see memory bandwidth). 18 of its 36 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 | 96 GB |
Max context, 24 GB card | does not fit |
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-120b-GGUF on the Hugging Face API. KV cache costs 0.074 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 | 63.4 GBVerified | 64.3 GB | 65.4 GB | 69.7 GB | — | Needs offload |
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 |
|---|---|---|---|---|
| Mac Studio M5 Ultra (base) | Fits | 175.7Estimate | ±25% | llama.cpp (estimate) |
| Mac Studio M5 Ultra · 512 GB | Fits | 175.7Estimate | ±25% | llama.cpp (estimate) |
| MacBook Pro M4 Max 40c · 128 GB | Fits | 79.9Estimate | ±25% | llama.cpp (estimate) |
| NVIDIA DGX Spark FE 128 GB | Fits | 52.9Sourced | 52.4–53.3 | llama.cpp (CUDA) |
| Ryzen AI Max+ 395 mini PC 128 GB | Fits | 37.5Estimate | ±25% | llama.cpp (estimate) |
| 2× RTX 3090 (used) 48 GB | Needs offload | 36.1Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 5090 32 GB | Needs offload | 21.6Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 4090 24 GB | Needs offload | 17.3Estimate | ±25% | llama.cpp (estimate) |
| Radeon RX 7900 XTX 24 GB | Needs offload | 17.3Estimate | ±25% | llama.cpp (estimate) |
| GeForce RTX 3090 24 GB (used) | Needs offload | 17.3Estimate | ±25% | llama.cpp (estimate) |
| CPU only · Ryzen 9 9950X + 128 GB DDR5 | Fits | 14.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-120b | 116.8 B | 1,365Sourced | Apache-2.0 |
| Llama 3.3 70B Instruct | 70.6 B | 1,274Sourced | Llama 3.3 Community License |
LMArena text, overall, entry 'gpt-oss-120b': 1365.4 (95% CI 1361.1–1369.8, 30,218 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 | 116.83 BVerifiedsafetensors.total from the HF API. Source |
|---|---|
Parameters, active per token | 5.10 BSourcedActive parameters per token from the model card. Source |
Layers | 36VerifiedSource |
Query heads | 64VerifiedSource |
KV heads (GQA) | 8VerifiedSource |
Head dimension | 64VerifiedSource |
Hidden size | 2880VerifiedSource |
Sliding window | 128 tokensVerifiedLocal attention window. Source |
Sliding-window layers | 18 of 36VerifiedLayers using sliding-window attention (from layer_types / sliding_window_pattern). Source |
Experts | 128 experts, 4 active per tokenVerifiedSource |
Operating conditions
Max context | 131,072 tokensVerifiedSource |
|---|---|
Licence | Apache-2.0VerifiedSource |
Weights | openai/gpt-oss-120b |
GGUF files | ggml-org/gpt-oss-120b-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