pub const VERIFY_WY_TABLE_SEQS: usize = 32;Expand description
Batched-verify WY pointer-table layout (SSOT — writer:
TransformerModel::upload_verify_wy_tables, reader: the qwen3_ssm
GdnStates::Multi batched conv+WY arm).
Per GDN layer, four device pointer tables laid back-to-back:
[h_state | Hi0 | Hi1 | Hi2], each VERIFY_WY_TABLE_SEQS u64 entries
(one per batched-verify sequence, unused tail entries zero). The
per-layer slice handed to decode_verify_multi is
VERIFY_WY_LAYER_STRIDE_BYTES long. At K<4 only the first k tables
are filled ([h | Hi_0..Hi_{k-2}]); the layout/strides are constant so
the reader’s offsets never depend on the ladder step.
32 (2026-07-30, spec at n=32): THE batched-verify sequence envelope —
the stash slots, the can_batch_verify n-cap and these tables are all
sized from this one const. History: 4 → 16 (at 4 the upload returned
NULL for every n>4 batch, silently declining the cross-sequence conv+WY
fast path at exactly the concurrencies it was built for) → 32 (the
32:1 ladder rung: n=32 × k=2 = 64 verify rows; kernels index a table by
sequence and receive each table’s base pointer separately, so widening
is a pure host-side layout change). 48 GDN layers x 4 tables x 32
entries x 8 B = 48 KB.