GLM-5.2: Terminal-Bench Benchmark — MLX vs GGUF

June 21, 2026 · Echo's Lab Bench · M3 Ultra, 2x M2 Ultra

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.

The Setup

Three hardware pieces, three endpoints, one model in four configurations:

The Runs

11 runs across four backends. The table below groups them by backend.

RunConfigPass RateError Breakdown
soloheaven-direct (mlx)FP8, single GPU, 76 tasks0% (0/76)75 unknown_agent_error
soloheaven 80t1x #1FP8, 80t1x, 37 tasks0% (0/37)13 timeout, 24 other
soloheaven 80t1x #2FP8, 80t1x, 37 tasks0% (0/37)12 timeout, 24 other, 1 parse
soloheaven-direct-80t1xFP8, 80t1x, 22 tasks0% (0/22)22 timeout
GGUF partial (80t1x)Q4XL, TP2, 38 tasks21% (8/38)30 other
GGUF 16K Q4XLQ4XL, TP2, 76 tasks49% (37/76)1 parse, 28 timeout, 10 other
GGUF 32K Q4XL+Q8KVQ4XL+Q8KV, TP2, 76 tasks34% (26/76)1 parse, 53 timeout, 21 other
Rebench (partial)Q4XL, TP2, 11/76 tasks27% (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.

Finding 1: MLX Soloheaven Is Dead for GLM-5.2

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.

Finding 2: The Sweet Spot Is 16K, Not 32K

ConfigPassesTimeoutsNote
16K Q4XL (no Q8KV)37 (49%)28Fastest decode, wins most tasks
32K Q4XL+Q8KV26 (34%)5325 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.

Where GLM-5.2 Shines (37 passed tasks on 16K)

CategoryTasks Passed
SWE-bench (subtle fixes)astropy-1, fsspec, langcodes
Math / algorithmicfibonacci-server, count-dataset-tokens
System administrationcreate-bucket, download-youtube, decommissioning, new-encrypt
Code tasksfix-pandas-version, fix-git, fix-permissions, tmux-advanced-workflow
ML (light)eval-mteb (both), eval-mteb.hard
Web / networkingsimple-web-scraper, modernize-fortran-build, openssl-selfsigned-cert
Data / formattinggrid-pattern-transform, organization-json-generator, heterogeneous-dates

Where It Struggles (28 timeouts on 16K)

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.

Performance: GLM-5.2 vs. Other Models

ModelBackendParametersScore (Terminus-2)
GLM-5.2 GGUF 16Kllama.cpp~7-8B (Q4XL)49%
GLM-5.2 GGUF 32Kllama.cpp~7-8B (Q4XL+Q8KV)34%
Qwen3.5 122B A10B-8bitrapid-mlx122B40% (n=4)
Qwen3.6 27B-4bitrapid-mlx27B32.5% (n=4)
Qwen3-Next 4bitrapid-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.

The Takeaway

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/.