HALOBENCH_

The reference lab for local AI on Strix Halo-class hardware: what to run, how to configure it, and what it truly costs — every number wall-measured, provenance-graded, and corrected in public.

last metered draw 137.6 W (2026-08-11, eng-0064)standing cost £2.24/moduty cycle 79%models live 1build-time snapshot, 2026-08-15 05:49Z

The topology — what this lab actually runs

topology as of 2026-08-15 05:49Z — build-time snapshot of the record, not a live read

[aibeast]dark since 2026-07-23

hardware failure — RMA in progress · inc-0005
5 configs · 4 runs benched here · latest 2026-07-20

[aihydra]active

idle floor 10.1 W · resident-quiet 13.6 W · duty cycle 79% · idle-aihydra-2026-08
64 configs · 267 runs benched here · latest 2026-08-15
  • no production nodes recorded — bench duty
retired: 1 · rejected: 2 · live: 1 — every exit on a recorded measurement
states: live · candidate ·retired · rejected · dashed = planned / dark · node → its model or record page

Four measurements

9.8x
prefix-cache reuse on this box — an 8,000-token prefix costs 25.99 s cold, 2.65 s warm
clm-0027 · verified 2026-08-08
+70.3%
decode recovered at 204,800 tokens — production's own context — by one cherry-picked KV-dequant commit
clm-0022 · verified 2026-08-08
6.81 Wh
per correct τ² answer on the 122B at f16 KV — 0.21 p at 30.3 p/kWh
clm-0042 · verified 2026-08-10
42%
energy cut at 200k context by the KV dequant patch — 146.1 Wh stock against 85.3 Wh patched
clm-0041 · verified 2026-08-10

Field snapshot → full comparison

modelparamsdecode @32kτ² airlineguard
Qwen3.6-35B-A3B35B / 3B active42.45 t/snot runguard 4/4
gpt-oss-120b117B / ~5B active41.70 t/snot runguard failed
Qwen3.5-122B-A10B (MTP)122B / 10B active18.17 t/s0.545 ±0.208 n=22guard 4/4
Nemotron-3-Super-120B-A12B120B / ~12B active17.16 t/s0.625 ±0.237 n=16guard 4/4
Qwen3.8-27B27B dense7.29 t/s0.577 ±0.190 n=26no guard

best measured configuration per model · every row's full fingerprint on /compare · exclusions stay visible: an excluded row is data, not an omission

Start with a question → all questions

Does KV quantisation cost quality?

conclusion

With a one-commit engine patch, mostly no: +70.3% generation speed at production depth clm-0022, 42% less energy clm-0041, and the quality cost shrinks from +39% extra conversation turns clm-0038 to +9.3% clm-0045.

Vulkan or ROCm on Strix Halo?

conclusion

Depth decides. At 32k, stock Vulkan leads ROCm +17.4% prefill and +17.1% decode at f16 KV, and a pending BF16 flash-attention patch inverts prefillclm-0046. Community reports agree on direction and disagree on magnitude clm-0044 clm-0031.

Is thinking mode worth it?

conclusion

Per-model, not global. A net negative on the 122B — it deadlocks on 2 of 5 hard tasks rather than degrading clm-0033 — so any global default is wrong for part of the field.

From the log → the full notebook

  • 2026-08-15claimOn gfx1151 at f16 KV, Qwen3.8-27B (dense) is a fourth model measured under the per-model, per-phase backend rule (clm-0050), and it lands emphatically on the prefill-favours-ROCm side: DECODE is backend-independent on this model (every matched cell within 5%), but Vulkan PREFILL collapses with depth — 0.55x ROCm at d32768 on Q8_0 (87.82 vs 159.98 t/s) and 0.48x on UD-Q4_K_XL (99.80 vs 207.61) — and at d131072 stock Vulkan cannot complete the cell at all: 2 of 2 reps in BOTH quants aborted with vk::DeviceLostError, the kernel logging an amdgpu ring timeout and recovering the device by ring reset, while ROCm completed every cell it was offered (83.44 pp / 6.11 tg Q8_0, 95.59 pp / 8.14 tg UD-Q4_K_XL at d131072). clm-0054
  • 2026-08-15claimdraft-mtp speculation on Qwen3.8-27B (stock 3653e6d, gfx1151) peaks at spec-draft-n-max=3 over CLEAN cells — Vulkan Q8_0 17.75 t/s (2.26x its 7.86 no-speculation floor, acceptance 0.626), Vulkan UD-Q4_K_XL 26.68 t/s (2.23x, 0.623), ROCm Q8_0 18.25 t/s (2.33x, 0.6235) — and at n_max >= 4 the feature is BROKEN on this model: after accumulated generation volume in a live session (sequential VARIED prompts at full length; not fresh servers, not one repeated prompt, not short generations), generations start terminating at 1 token with <|im_end|> (id 248046). clm-0055
  • 2026-08-15claimQwen3.8-27B's KV cache on llama.cpp costs exactly 64.00 KiB per token — the hybrid-attention allocation working as designed, measured byte-exact on this box: only 16 of the 64 layers carry a conventional KV cache (the 3:1 linear-to-full-attention layout), and 16 layers x 4 KV heads x 256 head_dim x 2 (K+V) x 2 bytes (f16) = 65,536 bytes/token. clm-0056
  • 2026-08-15claimQwen3.8-27B met its registered agentic prediction: on the standing 5-task tau2 airline smoke subset it scored 1.000 (5/5, 21 tool-call messages, 0 empty assistant turns, VALID under the smoke gate) against the >= 0.80 bar recorded in the candidate record on 2026-08-14, BEFORE any measurement — and against the incumbent qwen36-27b-mtp's 0.80 on the identical tasks under the identical pinned-simulator protocol, where the incumbent failed task 2 and this model passed it. clm-0057
  • 2026-08-15gateqwen38-27b: listed → screened — Screen tier passed on release day, on-box. clm-0055 clm-0056 clm-0057 run-0267
  • 2026-08-15gateqwen38-27b: screened → benched — DAY-ONE SCREEN COMPLETE, all four phases, overnight on release day. clm-0054 clm-0055 clm-0056 clm-0057 run-0271 run-0267 run-0268
  • 2026-08-15runs1 run landed on cfg-0066 (eos-cliffguard) run-0267
  • 2026-08-15runs1 run landed on cfg-0067 (mtp-probe) run-0268
  • 2026-08-15runs1 run landed on cfg-0066 (tau2-bench-airline) run-0271
  • 2026-08-14claimAMENDED 2026-08-14 — the rule below is PER-MODEL AND PER-PHASE, not fleet-wide; see the correction history and the amendment note. clm-0050
  • 2026-08-14claimOn gfx1151, stock ROCm 3653e6d's own BF16 KV decode is SLOWER than its own F16 KV decode: 29.26 t/s vs 42.35 t/s at 32,768 depth (Qwen3.6-35B-A3B, fa on) — a 31% penalty for switching to the KV type the community recommends for its quality, with prefill roughly unchanged (587.4 vs 595.0). stew675's rdna-boosts branch (commit ed89854) fixes it with a native BF16 flash-attention tile kernel: 47.31 t/s BF16 decode, +61.7% over stock's own BF16 and stock's best config on this chip. clm-0052
  • 2026-08-14claimA benchmarking-harness defect, not a hardware limitation, produced this lab's earlier "Nemotron-3-Super cannot allocate on ROCm at any depth" verdict (clm-0050's first amendment, corrected 2026-08-14). clm-0053
  • 2026-08-14gate4 candidates → screened: npu-embeddinggemma, npu-lfm2, npu-qwen3-4b-thinking, npu-whisper
  • 2026-08-14gateqwen38-27b: listed → listed — RELEASED and CONFIRMED runnable.

How to read our numbers → method

measured-here wall-measured on this lab's hardware
community reported elsewhere, not yet reproduced here
vendor a vendor's own claim — never grounds for a verdict
unmeasured an honest gap, shown rather than hidden
retracted withdrawn in public, kept visible with its correction