VERIFY_WY_TABLE_SEQS

Constant VERIFY_WY_TABLE_SEQS 

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