pub fn w8a16_gemv(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
input: DevicePtr,
weight: DevicePtr,
row_scale: DevicePtr,
output: DevicePtr,
n: u32,
k: u32,
stream: u64,
) -> Result<()>Expand description
2026-09-25: W8A16 GEMV for M=1 decode: C[1,N] = A[1,K] @ dequant(B[N,K])^T.
row_scale is the 2D block scale [ceil(N/128), ceil(K/128)] FP32, one scale per
128x128 weight block, despite the parameter name. Each 256-thread block computes 4 outputs
with 64 threads per output, so the grid is ceil(N/4) (kernels/gb10/common/w8a16_gemv.cu,
and the same geometry in kernels/hopper/common/w8a16_gemv.cu).