GQA folded into rows over a quantized cache: each KV head's rep·L query
rows share one quantized_matmul against its packed keys and one against
its values, so the cache is read once per KV head instead of once per query
head (the broadcast in quantizedSdpaUnfused). B = 1; the L queries are the
last L positions (causal), no array mask. Not bit-identical to quantizedSdpa
(bf16-level).
GQA folded into rows over a quantized cache: each KV head's rep·L query rows share one quantized_matmul against its packed keys and one against its values, so the cache is read once per KV head instead of once per query head (the broadcast in quantizedSdpaUnfused). B = 1; the L queries are the last L positions (causal), no array mask. Not bit-identical to quantizedSdpa (bf16-level).