GLM-5.2 tops our bench at 49% on the full Terminus-2 benchmark (37/76 tasks) with 16K context, 4-bit quantization, running on llama.cpp via rapid-gguf. It outperforms every model we've benchmarked on this hardware, including a 122B-parameter Qwen model.
This is the full report across 11 runs (200+ task attempts) comparing two inference backends (MLX soloheaven vs. GGUF/llama.cpp), two context lengths (16K vs 32K), and two quantization strategies (Q4XL vs. Q4XL+Q8KV extra KV cache). The short answer: MLX soloheaven is dead for GLM-5.2; the GGUF path is #1 on our bench.
Three hardware pieces, three endpoints, one model in four configurations:
11 runs across four backends. The table below groups them by backend.
| Run | Config | Pass Rate | Error Breakdown |
|---|---|---|---|
| soloheaven-direct (mlx) | FP8, single GPU, 76 tasks | 0% (0/76) | 75 unknown_agent_error |
| soloheaven 80t1x #1 | FP8, 80t1x, 37 tasks | 0% (0/37) | 13 timeout, 24 other |
| soloheaven 80t1x #2 | FP8, 80t1x, 37 tasks | 0% (0/37) | 12 timeout, 24 other, 1 parse |
| soloheaven-direct-80t1x | FP8, 80t1x, 22 tasks | 0% (0/22) | 22 timeout |
| GGUF partial (80t1x) | Q4XL, TP2, 38 tasks | 21% (8/38) | 30 other |
| GGUF 16K Q4XL | Q4XL, TP2, 76 tasks | 49% (37/76) | 1 parse, 28 timeout, 10 other |
| GGUF 32K Q4XL+Q8KV | Q4XL+Q8KV, TP2, 76 tasks | 34% (26/76) | 1 parse, 53 timeout, 21 other |
| Rebench (partial) | Q4XL, TP2, 11/76 tasks | 27% (3/11) | 0 parse, 6 timeout, 2 other |
170 tasks across soloheaven, 0 passes. Every soloheaven run fails with unknown_agent_error — the model runs, the task harness starts, the tests run, but the model's output format is something the harness can't classify. This isn't a parse error (which means the model produced code but it failed tests); it's an error before the harness even gets a usable result.
GGUF, by contrast, produces 4 parse errors across 220+ tasks (0.2%). The failures are timeouts, not model garbage. Agent logs confirm the model is producing real Python, PyTorch, chess engines, ML pipelines — useful code that simply takes too long at ~15 tok/s.
Four runs, 170+ total tasks, 0 passes. The error type unknown_agent_error appears in 75 of 76 tasks on the direct run alone — 4 runs, 0 passes, 0 parse errors, 0 clean timeouts. The model either crashes silently, produces output the task parser can't classify, or the soloheaven harness itself fails before reaching the agent loop.
MLX is not a dead inference engine (K2.6 runs fine on soloheaven, GLM-5.2 FP8 has been proven on soloheaven for basic chat and tool calls). It's specifically GLM-5.2 on soloheaven that fails. This doesn't tell us anything about the model's capability — it tells us about a backend-model mismatch.
| Config | Passes | Timeouts | Note |
|---|---|---|---|
| 16K Q4XL (no Q8KV) | 37 (49%) | 28 | Fastest decode, wins most tasks |
| 32K Q4XL+Q8KV | 26 (34%) | 53 | 25 more timeouts, 16 fewer passes |
The 32K context + Q8KV extra KV cache run underperformed the 16K run by 15 percentage points. 16 tasks that passed on 16K all timed out on 32K. Only 5 tasks were won back (build-tcc-qemu, conda-env-conflict-resolution, crack-7z-hash.hard, sanitize-git-repo x2). The extra context + KV cache memory pressure slows decode just enough to push tasks over the 20-minute wall-clock limit.
The 32K Q4XL+Q8KV configuration adds ~8GB of resident memory for the KV cache (128-bit instead of 4-bit). On TP2 with limited per-node memory, this crosses the wired ceiling on at least one node, causing Metal paging. The result: slower decode, more timeouts, fewer passes.
Winner: 16K Q4XL without Q8KV. 49% pass rate, 1 parse error (clean), fastest decode.
| Category | Tasks Passed |
|---|---|
| SWE-bench (subtle fixes) | astropy-1, fsspec, langcodes |
| Math / algorithmic | fibonacci-server, count-dataset-tokens |
| System administration | create-bucket, download-youtube, decommissioning, new-encrypt |
| Code tasks | fix-pandas-version, fix-git, fix-permissions, tmux-advanced-workflow |
| ML (light) | eval-mteb (both), eval-mteb.hard |
| Web / networking | simple-web-scraper, modernize-fortran-build, openssl-selfsigned-cert |
| Data / formatting | grid-pattern-transform, organization-json-generator, heterogeneous-dates |
Timeout tasks share a pattern: multi-step reasoning with long setup, or tasks where the model needs to produce code that takes a while to run and test. The blind-maze-explorer family, cartpole-RL-training, chess-best-move — all timed out. The model appears to produce valid reasoning and code, it just exceeds the 20-minute wall-clock window.
Partial runs confirm this is task-dependent, not queue-dependent: the same tasks pass regardless of when they're run in the queue. This means the model has genuine capability on these tasks — it just takes too long, regardless of positioning.
| Model | Backend | Parameters | Score (Terminus-2) |
|---|---|---|---|
| GLM-5.2 GGUF 16K | llama.cpp | ~7-8B (Q4XL) | 49% |
| GLM-5.2 GGUF 32K | llama.cpp | ~7-8B (Q4XL+Q8KV) | 34% |
| Qwen3.5 122B A10B-8bit | rapid-mlx | 122B | 40% (n=4) |
| Qwen3.6 27B-4bit | rapid-mlx | 27B | 32.5% (n=4) |
| Qwen3-Next 4bit | rapid-mlx | ~400B (MoE active) | 25% (n=4) |
A ~7-8B model, 4-bit quantized, running on a $2,000 M3 Ultra, outperforms models with 15x more parameters. This isn't a fluke — it's quantization quality meeting model architecture. The GLM family's alignment training emphasizes factual accuracy and structured reasoning over brute parameter count.
Note: the comparison table above compares models across different backends (GGUF vs. rapid-mlx). These are not head-to-head measurements under identical constraints. However, GLM-5.2's 49% on the 16K GGUF run still represents the highest pass rate recorded on any model tested on this hardware cluster.
GLM-5.2 works. On the GGUF backend (llama.cpp via rapid-gguf), it produces real, parseable, useful code. At 49% on the full Terminus-2 benchmark with 16K context, it's the top performer among all models we've tested on this hardware cluster.
The soloheaven (MLX) path is dead for GLM-5.2. The GGUF path is alive, productive, and currently #1 on our bench.
Hardware: M3 Ultra (192.168.1.10) + 2x M2 Ultra (for TP2). Benchmark: Terminal-Bench Terminus-2, 75-80 tasks, 20-min agent timeout. 11 runs, 200+ task attempts, June 18-21, 2026. Full data at ~/.hermes/bench/terminal-bench/runs/.