NVIDIA GB10 · spark-e2b0 — 20-core Grace (Cortex-X925 / Cortex-A725) · NVIDIA GB10 · CUDA sm_121 · 128 GB unified · llama.cpp CUDA.
21 models in this tree. A row appears only when the run used the shared
profile (temperature 0 on every trial, seed 42, one 16384-token slot, C compiled -std=gnu11).
Aya-23 clamps that context to 8192. Older sweeps used different stacks, context sizes, and a 0.7-temperature retry, so they are
not in this table. Their raw JSON is still on disk. Click any column header to sort.
Generated 2026-10-02 09:47.
Where to look: this page ranks the models and prices them by what a working answer costs. Analysis covers behaviour under load, whether the code they write is fast, whether the wording of the prompt changes the answer, and self-repair. The failing samples are split by technology — C, Python, Bash, research — and models shows how to reproduce every number. Charts is the same data as pictures.
How many times does each test run? Coding suites (C, Python, Bash — easy, hard and brutal) and the research paper: 3 trials per task, all at temperature 0 with seed 42, so a miss is the same answer again. Framing, from the older sweep: 20 trials per wording. Decode speed: median of 3 repeated 2048-token generations — the tok/s column shows ±1 std across those runs (hover a cell for the exact count), as does the dot plot on the analysis page. Quality: 6 probes × 3 trials (temp 0, then 0.7×2). Concurrency: one pass per stream level (no repeats). Self-repair: one initial attempt, then up to 5 rounds of compiler feedback. Two writing tasks that are easy to confuse: tok/s is measured on a 1500-word essay about MIT (speed only, content not graded — each model's essay is on its detail page), while the research column is a different test: extracting NFS facts from RHEL 10 documentation. All raw data is downloadable as CSV files.
| model | type | coding total | flaky ↓ | tok/s ± | RAM GB | quality | ppl-w ↓ | ppl-t ↓ | C | Py | Bash | C-hard | Py-hard | Sh-hard | C-brutal | Py-brutal | Sh-brutal | research |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| qwen3.8-flash-next 125B llama.cpp CUDA | MoE | 111/126 | 0 | 28.1 ±0 | 29.8 | — | — | — | 45/48 | 24/24 | 18/24 | 6/9 | 9/9 | 6/9 | — | — | — | 3/3 |
| qwen3-coder-next 80B llama.cpp CUDA | MoE | 108/126 | 0 | 51.7 ±0 | 2.0 | — | — | — | 45/48 | 21/24 | 21/24 | 6/9 | 6/9 | 6/9 | — | — | — | 3/3 |
| laguna-s 2.1 117B llama.cpp CUDA | MoE | 108/126 | 0 | 27.8 ±0 | 1.0 | — | — | — | 48/48 | 24/24 | 18/24 | 6/9 | 9/9 | 3/9 | — | — | — | 0/3 |
| gpt-oss-120b llama.cpp CUDA | MoE | 107/126 | 4 | 48.9 ±0 | 1.3 | — | — | — | 40/48 | 24/24 | 16/24 | 9/9 | 9/9 | 6/9 | — | — | — | 3/3 |
| nemotron-3-super 120B llama.cpp CUDA | MoE | 105/126 | 0 | 16.1 ±0 | 3.8 | — | — | — | 48/48 | 24/24 | 15/24 | 6/9 | 9/9 | 3/9 | — | — | — | 0/3 |
| gpt-oss-20b llama.cpp CUDA | MoE | 102/126 | 3 | 81.8 ±0 | 1.3 | — | — | — | 46/48 | 24/24 | 15/24 | 4/9 | 7/9 | 6/9 | — | — | — | 0/3 |
| gemma-4-26b llama.cpp CUDA | MoE | 102/126 | 0 | 55.7 ±0 | 1.7 | — | — | — | 42/48 | 24/24 | 15/24 | 6/9 | 9/9 | 3/9 | — | — | — | 3/3 |
| qwen3.8-27b llama.cpp CUDA | dense | 102/126 | 0 | 12.3 ±0 | 3.7 | — | — | — | 42/48 | 24/24 | 15/24 | 6/9 | 9/9 | 3/9 | — | — | — | 3/3 |
| qwen3.6-35b llama.cpp CUDA | MoE | 102/126 | 0 | 67.0 ±0 | 2.2 | — | — | — | 42/48 | 21/24 | 18/24 | 9/9 | 6/9 | 3/9 | — | — | — | 3/3 |
| laguna-xs.2 llama.cpp CUDA | MoE | 101/126 | 4 | 88.4 ±0 | 0.9 | — | — | — | 38/48 | 24/24 | 18/24 | 5/9 | 9/9 | 5/9 | — | — | — | 2/3 |
| qwen3.6-27b llama.cpp CUDA | dense | 99/126 | 0 | 12.4 ±0 | 3.6 | — | — | — | 33/48 | 24/24 | 21/24 | 6/9 | 9/9 | 3/9 | — | — | — | 3/3 |
| devstral-2 24b llama.cpp CUDA | dense | 98/126 | 2 | 13.7 ±0 | 1.2 | — | — | — | 35/48 | 24/24 | 18/24 | 6/9 | 6/9 | 6/9 | — | — | — | 3/3 |
| qwen3.5-35b llama.cpp CUDA | MoE | 96/126 | 0 | 66.5 ±0 | 2.2 | — | — | — | 39/48 | 21/24 | 18/24 | 3/9 | 9/9 | 3/9 | — | — | — | 3/3 |
| glm-4.7-flash llama.cpp CUDA | MoE | 96/126 | 2 | 67.4 ±0 | 0.9 | — | — | — | 45/48 | 24/24 | 18/24 | 1/9 | 3/9 | 3/9 | — | — | — | 2/3 |
| qwen3.5-27b llama.cpp CUDA | dense | 96/126 | 0 | 11.8 ±0 | 3.5 | — | — | — | 36/48 | 24/24 | 15/24 | 3/9 | 9/9 | 6/9 | — | — | — | 3/3 |
| qwen3.5-122b-a10b llama.cpp CUDA | MoE | 93/126 | 0 | 22.3 ±0 | 3.7 | — | — | — | 33/48 | 24/24 | 15/24 | 6/9 | 9/9 | 3/9 | — | — | — | 3/3 |
| qwen3-coder-30b llama.cpp CUDA | MoE | 90/126 | 0 | 68.1 ±0 | 0.9 | — | — | — | 39/48 | 24/24 | 12/24 | 6/9 | 6/9 | 0/9 | — | — | — | 3/3 |
| k2-horizon 36B-A4B llama.cpp CUDA | MoE | 88/126 | 3 | 48.3 ±0 | 1.2 | — | — | — | 36/48 | 23/24 | 12/24 | 6/9 | 4/9 | 4/9 | — | — | — | 3/3 |
| mistral-small-4 119B llama.cpp CUDA | MoE | 83/126 | 5 | 36.1 ±0 | 0.9 | — | — | — | 33/48 | 22/24 | 14/24 | 5/9 | 3/9 | 3/9 | — | — | — | 3/3 |
| seed-oss 36b llama.cpp CUDA | dense | 81/126 | 4 | 8.9 ±0 | 1.4 | — | — | — | 30/48 | 24/24 | 20/24 | 3/9 | 3/9 | 0/9 | — | — | — | 1/3 |
| aya-23 35b llama.cpp CUDA | dense | 73/126 | 2 | 9.3 ±0 | 4.7 | — | — | — | 37/48 | 21/24 | 12/24 | 0/9 | 3/9 | 0/9 | — | — | — | 0/3 |
A dense model runs every parameter on every token; a mixture-of-experts model routes each token to a few of its experts, so only the active column does compute. That is why the 125B flash-next decodes like a 6B model and the whole top of the table is MoE — on memory-bandwidth-bound Apple silicon, active parameters are what you pay per token, and MoE buys a large total capacity at a small active cost. The last column, tok/s per active billion, is the efficiency of that trade; dense models are 1x by definition and omitted.
| model | type | total | active | experts | coding | tok/s | tok/s per act-B |
|---|---|---|---|---|---|---|---|
| qwen3.8-flash-next 125B | MoE | 125B | 6B | 512, top-10 +1 | 88% | 28 | 4.7 |
| qwen3-coder-next 80B | MoE | 80B | 3B | 512, top-10 +1 | 86% | 52 | 17.2 |
| laguna-s 2.1 117B | MoE | 117B | 3B | 256, top-10 +1 shared | 86% | 28 | 9.3 |
| gpt-oss-120b | MoE | 117B | 5.1B | 128, top-4 | 85% | 49 | 9.6 |
| nemotron-3-super 120B | MoE | 120B | 12B | 512, top-22 +1 | 83% | 16 | 1.3 |
| gpt-oss-20b | MoE | 21B | 3.6B | 32, top-4 | 81% | 82 | 22.7 |
| gemma-4-26b | MoE | 25.2B | 3.8B | 128, top-8 +1 | 81% | 56 | 14.7 |
| qwen3.8-27b | dense | 27B | 27B | — | 81% | 12 | — |
| qwen3.6-35b | MoE | 35B | 3B | 256, top-8 +1 | 81% | 67 | 22.3 |
| laguna-xs.2 | MoE | 33.4B | 3B | 256 +1 shared | 80% | 88 | 29.5 |
| qwen3.6-27b | dense | 27B | 27B | — | 79% | 12 | — |
| devstral-2 24b | dense | 24B | 24B | — | 78% | 14 | — |
| qwen3.5-35b | MoE | 35B | 3B | 256, top-8 +1 | 76% | 67 | 22.2 |
| glm-4.7-flash | MoE | 30B | 3B | 64, top-4 +1 | 76% | 67 | 22.5 |
| qwen3.5-27b | dense | 27B | 27B | — | 76% | 12 | — |
| qwen3.5-122b-a10b | MoE | 122B | 10B | 256, top-8 +1 | 74% | 22 | 2.2 |
| qwen3-coder-30b | MoE | 30B | 3B | 128, top-8 | 71% | 68 | 22.7 |
| k2-horizon 36B-A4B | MoE | 36B | 4B | — | 70% | 48 | 12.1 |
| mistral-small-4 119B | MoE | 119B | 6B | 128, top-4 | 66% | 36 | 6.0 |
| seed-oss 36b | dense | 36B | 36B | — | 64% | 9 | — |
| aya-23 35b | dense | 35B | 35B | — | 58% | 9 | — |
Green cells are strong, red weak — shaded by percentage so a column can be scanned without reading every number. Perplexity is llama-perplexity on WikiText-2 (50 chunks). It is not comparable to the MLX numbers on the other machine. Gemma's absurd PPL is a tokenizer artifact — trust the coding score.
Correctness alone picks a model that is right and unusably slow; tok/s alone picks one that is fast and wrong. The number that decides it is the two divided: seconds of wall clock per solution that passes. Across the 41 coding tasks (research excluded), 3 trials each at temperature 0 — timed end to end, failures included, because a wrong answer costs you its generation time too.
| model | type | C min | Python min | Bash min | total min | per attempt |
|---|---|---|---|---|---|---|
| laguna-xs.2 | MoE | 1.9 | 0.7 | 0.7 | 3.3 | 1.6 |
| qwen3-coder-30b | MoE | 1.8 | 0.8 | 0.7 | 3.3 | 1.6 |
| qwen3-coder-next 80B | MoE | 2.6 | 1.1 | 1.2 | 4.9 | 2.4 |
| glm-4.7-flash | MoE | 2.7 | 1.1 | 1.1 | 5.0 | 2.4 |
| qwen3.5-35b | MoE | 3.1 | 1.1 | 1.0 | 5.2 | 2.5 |
| k2-horizon 36B-A4B | MoE | 3.2 | 1.1 | 1.1 | 5.4 | 2.6 |
| qwen3.6-35b | MoE | 2.9 | 1.1 | 1.4 | 5.4 | 2.6 |
| gemma-4-26b | MoE | 3.5 | 1.5 | 1.8 | 6.8 | 3.3 |
| mistral-small-4 119B | MoE | 4.1 | 1.6 | 1.7 | 7.3 | 3.6 |
| laguna-s 2.1 117B | MoE | 5.1 | 1.8 | 1.8 | 8.7 | 4.2 |
| qwen3.8-flash-next 125B | MoE | 6.2 | 2.6 | 2.3 | 11.1 | 5.4 |
| qwen3.5-122b-a10b | MoE | 7.8 | 2.8 | 2.8 | 13.4 | 6.5 |
| nemotron-3-super 120B | MoE | 7.9 | 3.3 | 2.7 | 13.9 | 6.8 |
| devstral-2 24b | dense | 10.8 | 4.1 | 2.8 | 17.7 | 8.7 |
| gpt-oss-120b | MoE | 8.9 | 4.4 | 5.9 | 19.2 | 9.4 |
| gpt-oss-20b | MoE | 9.6 | 4.4 | 5.2 | 19.2 | 9.4 |
| qwen3.8-27b | dense | 14.5 | 7.1 | 5.4 | 27.1 | 13.2 |
| aya-23 35b | dense | 15.0 | 5.8 | 6.2 | 27.1 | 13.2 |
| qwen3.5-27b | dense | 16.5 | 6.6 | 7.0 | 30.1 | 14.7 |
| qwen3.6-27b | dense | 18.3 | 6.1 | 5.9 | 30.2 | 14.8 |
| seed-oss 36b | dense | 245.9 | 109.9 | 137.0 | 492.8 | 240.4 |
Those totals are everything the model spent, right or wrong. Dividing by the answers that actually worked gives the figure below. first try is trial 1 alone, the honest number if you paste the first thing you get. with retry re-asks only when the previous attempt failed and stops at the first pass, so unused retries cost nothing — what a loop around the model really costs.
| model | type | first try | sec/solution | with retry | sec/solution | retry gain | rank |
|---|---|---|---|---|---|---|---|
| gpt-oss-120b | MoE | 36/41 | 11.1s | 37/41 | 13.2s | +1 | 1 frontier |
| laguna-s 2.1 117B | MoE | 36/41 | 5.2s | 36/41 | 6.4s | +0 | 2 frontier |
| qwen3-coder-next 80B | MoE | 35/41 | 2.9s | 35/41 | 4.3s | +0 | 3 frontier |
| laguna-xs.2 | MoE | 31/41 | 2.3s | 34/41 | 3.1s | +3 | 4 frontier |
| qwen3.8-flash-next 125B | MoE | 36/41 | 6.3s | 36/41 | 9.5s | +0 | 5 beaten |
| gpt-oss-20b | MoE | 36/41 | 9.5s | 36/41 | 14.7s | +0 | 6 beaten |
| nemotron-3-super 120B | MoE | 35/41 | 8.3s | 35/41 | 10.3s | +0 | 7 beaten |
| qwen3.6-35b | MoE | 33/41 | 3.3s | 33/41 | 4.9s | +0 | 8 beaten |
| gemma-4-26b | MoE | 33/41 | 4.3s | 33/41 | 6.8s | +0 | 9 beaten |
| devstral-2 24b | dense | 33/41 | 10.6s | 33/41 | 17.8s | +0 | 10 beaten |
| qwen3.8-27b | dense | 33/41 | 16.5s | 33/41 | 25.5s | +0 | 11 beaten |
| glm-4.7-flash | MoE | 32/41 | 3.2s | 32/41 | 5.4s | +0 | 12 beaten |
| qwen3.6-27b | dense | 32/41 | 19.0s | 32/41 | 34.8s | +0 | 13 beaten |
| qwen3.5-35b | MoE | 31/41 | 3.4s | 31/41 | 6.0s | +0 | 14 beaten |
| qwen3.5-27b | dense | 31/41 | 19.5s | 31/41 | 32.4s | +0 | 15 beaten |
| k2-horizon 36B-A4B | MoE | 29/41 | 3.6s | 30/41 | 6.5s | +1 | 16 beaten |
| qwen3.5-122b-a10b | MoE | 30/41 | 9.1s | 30/41 | 13.7s | +0 | 17 beaten |
| qwen3-coder-30b | MoE | 29/41 | 2.3s | 29/41 | 4.1s | +0 | 18 beaten |
| mistral-small-4 119B | MoE | 26/41 | 5.9s | 29/41 | 9.9s | +3 | 19 beaten |
| seed-oss 36b | dense | 26/41 | 393.1s | 28/41 | 748.9s | +2 | 20 beaten |
| aya-23 35b | dense | 23/41 | 23.3s | 25/41 | 47.6s | +2 | 21 beaten |
Rank is the frontier first (most solutions, then cheapest), then everyone else. beaten means another model is at least as accurate and cheaper — drop it.
kimi-k3 (referee) is not in these tables: the cost here is generation wall-clock, and the referee is a hosted cloud model whose solutions were written in-session, not generated through the harness — there is no timing to report.