What changed
#1604 flipped VT_TT_HOST_FREE_DECODE default-ON on 2026-08-21 after measuring
default 10.94–11.06 tok/s vs opt-out 5.34 (Qwen3-0.6B, b1, greedy,
thalia P150, base 52e328789). Re-measured 2026-08-26 at 21fe11cf1
(origin/main, post-BACKEND-TENSTORRENT-QWEN35 W2a–W2c):
| arm |
median tok/s |
n |
range |
| default (host-free eager) |
10.822 |
12 |
10.51–11.03 |
VT_TT_HOST_FREE_DECODE=0 (host-hybrid) |
13.369 |
12 |
13.09–13.55 (one outlier leg 11.49) |
Method: order-alternated pairs ×3 (--repeat 5, in-process run 1 discarded),
one $HOME/gpu.lock hold, tt-smi -r first, box otherwise idle.
The opt-out wins 1.24×. The default arm is unchanged against its
2026-08-21 figures (within the band given no clock sampling — see caveats),
so the movement is ~2.5× improvement in the OPT-OUT arm since then,
mechanism UNATTRIBUTED. Next traceable step: per-op delta of the host-hybrid
path between b86e3705f and 21fe11cf1.
Why it matters
The shipped default now serves the slower of the two eager arms. Any gate
that uses the default as denominator inherits the slower figure.
Caveats stated plainly
Ownership
Row BACKEND-TENSTORRENT-HOST-FREE-FORWARD; recorded under the row spec's
## Owed in the same change that lands the refreshed records.
What changed
#1604 flipped
VT_TT_HOST_FREE_DECODEdefault-ON on 2026-08-21 after measuringdefault 10.94–11.06 tok/s vs opt-out 5.34 (Qwen3-0.6B, b1, greedy,
thaliaP150, base52e328789). Re-measured 2026-08-26 at21fe11cf1(origin/main, post-BACKEND-TENSTORRENT-QWEN35 W2a–W2c):
VT_TT_HOST_FREE_DECODE=0(host-hybrid)Method: order-alternated pairs ×3 (
--repeat 5, in-process run 1 discarded),one
$HOME/gpu.lockhold,tt-smi -rfirst, box otherwise idle.The opt-out wins 1.24×. The default arm is unchanged against its
2026-08-21 figures (within the band given no clock sampling — see caveats),
so the movement is ~2.5× improvement in the OPT-OUT arm since then,
mechanism UNATTRIBUTED. Next traceable step: per-op delta of the host-hybrid
path between
b86e3705fand21fe11cf1.Why it matters
The shipped default now serves the slower of the two eager arms. Any gate
that uses the default as denominator inherits the slower figure.
Caveats stated plainly
tools/bench/gpu_clock_state.pyisNVIDIA-only); all figures here are clock-unattributed. Ordering was
alternated to cancel drift, but SM/board-clock attribution is owed.
aarch64 host), tt-metal HEAD
a3d33028975(carries our copy_default_tilizedpatches).
retested; multi-request capture still hangs (Tenstorrent captured decode hangs on the first multi-request run (single-request captured legs work) #1625), and TT async readback
remains TT backend never advertises SupportsAsyncSampledTokenReadback: async scheduling resolves OFF, test_qwen3_dense_async_serving FATALs on every cached checkpoint #1627.
Ownership
Row
BACKEND-TENSTORRENT-HOST-FREE-FORWARD; recorded under the row spec's## Owedin the same change that lands the refreshed records.