---
title: gpt-oss-20b (MXFP4) · DGX Spark Arena
canonical: https://djangodevreng.nl/en/arena/gpt-oss-20b-mxfp4/
license: CC-BY-4.0
source: https://github.com/djangodevreng/dgx-spark-benchmarks/tree/a948cec23b054c62fef595bad3cdb284066922ac/results/gpt-oss/gpt-oss-20b/mxfp4/
source_revision: a948cec23b054c62fef595bad3cdb284066922ac
contract_version: 1
suite_version: 2026-08
minimum_request_success_rate: 0.99
sanity_status: passed
attribution: Django de Vreng, https://djangodevreng.nl
---

# gpt-oss-20b (MXFP4)

Twenty-one billion parameters that behave like a four-billion model on throughput.

Measured on 2026-08-14 with vLLM v0.26.0. In the chat test with ten concurrent requests this profile reaches 24.06 tokens/s per user, with an average of 0.88 seconds to the first token. At 25k context that average wait rises to 26.28 seconds. These runs measure speed and waiting, not the quality of the answers.

## Specs

- Vendor: OpenAI
- Architecture: MoE
- Parameters: 21B (3.6B actief)
- Precision: MXFP4
- Context: 128K
- Measured at: 128K
- VRAM: 14.0 GB
- Engine: vLLM v0.26.0
- Hardware: DGX Spark, NVIDIA GB10, 128 GB unified memory
- Model card: https://huggingface.co/openai/gpt-oss-20b
## Quality (model cards)

Knowledge: MMLU-Pro; reasoning: GPQA-Diamond; coding: LiveCodeBench v6. Each value names its exact test. Other tests and missing measurements do not qualify for the total score. External figures are not our own evaluation of this precision.

https://huggingface.co/openai/gpt-oss-20b

| Benchmark | Score |
| --- | --- |
|  | — |
| MMLU | 85.3 |
| GPQA-Diamond | 71.5 |
## Benchmarks on the DGX Spark

Only complete runs without a failed sanity check count. Open-loop tests require at least 99% request success. Raw results remain visible.

| Test | tokens/s per user | tokens/s total | TTFT (ms) | Request success | Ranking |
| --- | --- | --- | --- | --- | --- |
| 01 Translation missing: en.arena_copy.benches.chat.name | 24.06 | 180.0 | 878.0 | — | Included |
| 02 Translation missing: en.arena_copy.benches.rag-8k.name | 22.03 | 162.0 | 6113.0 | — | Included |
| 03 Translation missing: en.arena_copy.benches.long-output.name | 23.56 | 204.0 | 287.0 | — | Included |
| 04 Translation missing: en.arena_copy.benches.multi-turn.name | 24.98 | 141.0 | 1637.0 | — | Included |
| 05 Translation missing: en.arena_copy.benches.big-context.name | 9.79 | 44.0 | 26283.0 | — | Included |
| 06 Translation missing: en.arena_copy.benches.concurrency-stress.name | 5.76 | 48.0 | 50054.0 | — | Included |
| 07 Translation missing: en.arena_copy.benches.office-baseline.name | 93.94285714285715 | 1315.2 | 764.7 | 100.0% | Included |
| 08 Translation missing: en.arena_copy.benches.sharegpt.name | 15.344444444444443 | 138.1 | 120.18 | 100.0% | Included |
| 09 Translation missing: en.arena_copy.benches.reasoning.name | 12.83235294117647 | 436.3 | 256.27 | 100.0% | Included |
| 10 Translation missing: en.arena_copy.benches.monday-peak.name | 99.01178571428571 | 2772.33 | 748.93 | 100.0% | Included |
| 11 Translation missing: en.arena_copy.benches.rate-sweep.name | — | — | — | 100.0% | Included |
## Notes

Native MXFP4 weights, no separate quantisation step. MoE with 3.6B active parameters out of 21B total. KV cache fp8, max_model_len 131072. Marlin MXFP4 MoE is selected automatically on SM121. The profile deliberately differs from the rest: gpu-util 0.90 instead of 0.95, max-num-seqs 16 and max-cudagraph-capture-size 2048, because the memory peak during CUDA graph capture takes the box down otherwise. Async scheduling on, prefix caching off.

---

CC-BY-4.0 (https://creativecommons.org/licenses/by/4.0/). Django de Vreng, https://djangodevreng.nl.
Full arena: https://djangodevreng.nl/en/arena/
Raw runs (GitHub): https://github.com/djangodevreng/dgx-spark-benchmarks/tree/a948cec23b054c62fef595bad3cdb284066922ac/results/gpt-oss/gpt-oss-20b/mxfp4/
Source JSON: https://djangodevreng.nl/en/arena/gpt-oss-20b-mxfp4/source.json
