w4a16_gemv_dual_sw

Function w4a16_gemv_dual_sw 

Source
pub fn w4a16_gemv_dual_sw(
    gpu: &dyn GpuBackend,
    kernel: KernelHandle,
    input: DevicePtr,
    weight1: &QuantizedWeight,
    output1: DevicePtr,
    weight2: &QuantizedWeight,
    output2: DevicePtr,
    n: u32,
    k: u32,
    stream: u64,
) -> Result<()>
Expand description

2026-09-25: One warp per output variant of w4a16_gemv_dual, 8 outputs per block. It shares the per-lane partial w4a16_dual_partial with the base kernel (w4a16_gemv_fused.cu). Callers pick it through use_gemv_sw with ModelLevers::gemv_sw, which is on unless METRALE_NO_GEMV_SW=1.