pub fn w8a16_gemv_batch4(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
input: DevicePtr,
weight: DevicePtr,
block_scale: DevicePtr,
output: DevicePtr,
m: u32,
n: u32,
k: u32,
stream: u64,
) -> Result<()>Expand description
Block-scaled FP8 batched GEMV (M<=4). input is [M, K] BF16, output is
[M, N] BF16; weight/block_scale are the raw w8a16_gemv pointers (2D
block-scaled FP8). One pass over the FP8 weight serves all M rows — the M=4
sibling of w8a16_gemv, replacing w8a16_gemm_pipelined for n<=4 batched
decode (which pads M to a 128-row MMA tile). Bit-identical per-row to
w8a16_gemv. Grid: (ceil(N/4), 1, 1) Block: (256, 1, 1)