# Second model, second quant, second backend: what transfers on one box

> Same Strix Halo unit, three swaps measured one at a time: a second model family reproduces the empty-answer failure mode; Q8_0 buys nothing measurable on these workloads; ROCm works on gfx1151 but decodes slower than Vulkan.

- Published: 2026-08-03
- Evidence level: lab_repeated
- Funding: Self-funded internal research
- Canonical: https://agmind.ai/reports/model-quant-backend-strix-halo/

> **Evidence level: `lab_repeated`.** Every number is re-derived from raw
> per-request records by the query named in the claim registry. Three
> repeated runs per cell; one variable changed at a time against the same
> pinned baseline (Qwen3.6-35B Q4_K_M, llama.cpp Vulkan, one GTR9 Pro unit).

## Why this study

A verdict for one configuration is not a verdict for its neighbours. This
study swaps exactly one identity component at a time — the model family, the
quantization, the compute backend — and measures what actually transfers.

## Swap 1: a second model family reproduces the failure mode

Our earlier finding was that a reasoning model under a tight completion
budget returns HTTP 200 with an empty answer. On gemma-4-26B-A4B in its
default mode at a 1024-token budget,
**8.3 % of requests** ([strix.gemma4.interactive2.c1.answerless-default](https://agmind.ai/claims/strix.gemma4.interactive2.c1.answerless-default/)) of
everyday requests came back empty for the same reason — the reasoning pass
consumed the budget. Milder than the Qwen thinking cell, but present: **the
failure mode is not unique to one model family** — both families measured
here show it. Whether it holds across reasoning models generally is exactly
what this corpus is built to keep testing. The answer trails the stream here
too: the first streamed token arrives at
**282 ms** ([strix.gemma4.interactive2.c1.ttft-any-token](https://agmind.ai/claims/strix.gemma4.interactive2.c1.ttft-any-token/)) while the
first *answer* token arrives at
**10768 ms** ([strix.gemma4.interactive2.c1.ttfa-default](https://agmind.ai/claims/strix.gemma4.interactive2.c1.ttfa-default/)).

Elsewhere gemma is a capable tenant of the same box: needle retrieval at
**95.8 % of requests** ([strix.gemma4.longctx.c1.needle-success](https://agmind.ai/claims/strix.gemma4.longctx.c1.needle-success/)) across the
2k–32k ladder, strict-JSON task success at
**93.8 % of requests** ([strix.gemma4.structured.c1.task-success](https://agmind.ai/claims/strix.gemma4.structured.c1.task-success/)) (its failures
were unparseable RU generation outputs, not wrong values), but on the
unanswerable controls it produced an explicit admission of absence in
**75.0 % of requests** ([strix.gemma4.longctx.c1.control-success](https://agmind.ai/claims/strix.gemma4.longctx.c1.control-success/)) of requests.
The failed quarter did not fabricate codes — those requests returned empty
answers, the reasoning pass having consumed the whole token budget. Qwen3.6
answered every control with an explicit decline.

## Swap 2: Q8_0 bought nothing these workloads can see

The 35 GB Q8_0 artifact against the 20 GB Q4_K_M, reasoning off: strict-JSON
task success stayed at
**100.0 % of requests** ([strix.qwen36q8.vulkan.c1.task-success](https://agmind.ai/claims/strix.qwen36q8.vulkan.c1.task-success/)) — identical to
Q4_K_M — while decode slowed from
**15.9 ms/token** ([strix.qwen36q4.vulkan.c1.itl-nothink](https://agmind.ai/claims/strix.qwen36q4.vulkan.c1.itl-nothink/)) to
**18.7 ms/token** ([strix.qwen36q8.vulkan.c1.itl-nothink](https://agmind.ai/claims/strix.qwen36q8.vulkan.c1.itl-nothink/)) per token,
memory-bandwidth-bound as expected on unified LPDDR5X. On these workloads
the larger quant is a strictly worse deal. That is a statement about these
gates and corpora — a quality difference may well exist where correctness is
harder than our gates measure.

## Swap 3: ROCm runs on gfx1151 — but slower

The ROCm build completed every request
(**100.0 % of requests** ([strix.qwen36q4.rocm.c1.task-success](https://agmind.ai/claims/strix.qwen36q4.rocm.c1.task-success/)) on strict JSON,
first answer token at
**215 ms** ([strix.qwen36q4.rocm.c1.ttfa-nothink](https://agmind.ai/claims/strix.qwen36q4.rocm.c1.ttfa-nothink/))), so the backend
is usable. But decode ran at
**18.7 ms/token** ([strix.qwen36q4.rocm.c1.itl-nothink](https://agmind.ai/claims/strix.qwen36q4.rocm.c1.itl-nothink/)) per token against
Vulkan\'s **15.9 ms/token** ([strix.qwen36q4.vulkan.c1.itl-nothink](https://agmind.ai/claims/strix.qwen36q4.vulkan.c1.itl-nothink/)) — the
Vulkan backend is the faster choice on this box today.

The cautionary tale: our own pre-flight smoke test, which read the
*server-reported* timings of a single tiny completion, suggested ROCm was
substantially **faster**. The full client-side cells reversed that verdict.
A micro-sample of server telemetry and a user\'s stopwatch are different
instruments; this lab publishes the stopwatch.

## What this does not establish

Disabling gemma\'s reasoning was not tested (the switch is template-specific).
Both quants sit at the ceiling of our correctness gates — harder tasks could
separate them. The ROCm image is a floating upstream tag, pinned here by its
digest. Swaps 1–3 ran on one unit; only the baseline configuration has
unit-to-unit replication. None of this compares Strix Halo to any other
device.

## Evidence

Every run shipped the standard bundle (manifest, per-request records
including failures, gate outcomes, runtime log, checksums); the numbers
above are re-derived from those records in CI. Harness and corpora:
[agmind-bench](https://github.com/botAGI/agmind-bench).

---

Machine-readable claim registry: https://agmind.ai/claims.json · llms.txt: https://agmind.ai/llms.txt
