deinterleave_qg_split_qnorm

Function deinterleave_qg_split_qnorm 

Source
pub fn deinterleave_qg_split_qnorm(
    gpu: &dyn GpuBackend,
    kernel: KernelHandle,
    data: DevicePtr,
    q_out: DevicePtr,
    q_norm_weight: DevicePtr,
    num_tokens: u32,
    num_heads: u32,
    head_dim: u32,
    stride: u32,
    eps: f32,
    stream: u64,
) -> Result<()>
Expand description

2026-09-25: deinterleave_qg_split fused with the per-head Q RMS norm.

The gate goes to data[q_total..]; Q is normalized in shared memory and written once, to q_out. q_norm_weight is [head_dim], shared by every head, and applied as x * rms * (1 + w).