Row: `GFX1100-TG200`
T4a adds the `VT_GEMV_MMVQ=1` opt-in K-quant decode GEMV arm for `MatmulBTQuant`, bit-exact vs the CPU oracle. The arm folds activation quant into the MMVQ GEMV prologue (deleting the standalone `QuantizeQ8KK` launch) and widens the gate to engine dtypes (bf16/f16 activations, bf16/f32 outputs).
Sub-levers:
- lever-B1: `VT_GEMV_MMVQ_FOLD_MAX` makes the fold crossover tunable at runtime
- lever-B2: `VT_SKINNY_BF16=1` f32-out decode-skinny arm for GDN BA projections
- repair: m-gates the whole dispatch and makes the GEMV bit-equal to baseline
- repair-2: host-side dispatch-route counters + F1/F2 routing-witness gates
The default path (`VT_GEMV_MMVQ` unset) is byte-unchanged from F1.
Depends on #2782 (F1 keep-quant GEMM infra).
Row: `GFX1100-TG200`
T4a adds the `VT_GEMV_MMVQ=1` opt-in K-quant decode GEMV arm for `MatmulBTQuant`, bit-exact vs the CPU oracle. The arm folds activation quant into the MMVQ GEMV prologue (deleting the standalone `QuantizeQ8KK` launch) and widens the gate to engine dtypes (bf16/f16 activations, bf16/f32 outputs).
Sub-levers:
The default path (`VT_GEMV_MMVQ` unset) is byte-unchanged from F1.
Depends on #2782 (F1 keep-quant GEMM infra).