pub fn w4a16_gemv_batch2(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
input: DevicePtr,
weight: &QuantizedWeight,
output: DevicePtr,
n: u32,
k: u32,
stream: u64,
) -> Result<()>Expand description
W4A16 double-GEMV (M=2): reads weights once, computes 2 outputs.
A: [2, K] BF16 contiguous, B: NVFP4 packed, C: [2, N] BF16 contiguous. Same weight bandwidth as single GEMV — eliminates GEMM M=2 tile waste.
Kernel: w4a16_gemv_batch2(A, B_packed, B_scale, scale2, C, N, K)
Grid: (ceil(N/4), 1, 1) Block: (256, 1, 1)