pub fn qsa_score_rows_tc(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
q: DevicePtr,
block_keys: DevicePtr,
scores: DevicePtr,
rows: u32,
n_blocks_max: u32,
first_pos: u32,
score_stride: u32,
ratio: u32,
stream: u64,
) -> Result<()>Expand description
2026-09-25: Tensor-core qsa_score_rows: one block of 8 warps covers 16
rows by 64 blocks instead of one block per (row, block). q is split into
BF16 high and low halves for the MMA, so the scores are not bit-identical to
qsa_score_rows; they feed a top-k.