gdn_decode_f32_conv_norm

Function gdn_decode_f32_conv_norm 

Source
pub fn gdn_decode_f32_conv_norm(
    gpu: &dyn GpuBackend,
    kernel: KernelHandle,
    h_state: DevicePtr,
    conv_state: DevicePtr,
    new_input: DevicePtr,
    conv_weight: DevicePtr,
    gate: DevicePtr,
    beta: DevicePtr,
    z_gate: DevicePtr,
    norm_weight: DevicePtr,
    output: DevicePtr,
    batch_size: u32,
    num_k_heads: u32,
    num_v_heads: u32,
    k_dim: u32,
    v_dim: u32,
    conv_dim: u32,
    d_conv: u32,
    l2_eps: f32,
    eps: f32,
    stream: u64,
) -> Result<()>
Expand description

2026-09-25: Conv1d update + L2 norm, the GDN recurrence and the gated RMS norm in one decode launch (gated_delta_rule_decode_f32_conv_norm).

One block per k-head: it owns k-head kh and its head_repeat v-heads, so it is the only writer of their q/k and v conv_state rows. The block is head_repeat * v_dim threads, and the kernel also requires 2 * k_dim <= head_repeat * v_dim and k_dim == v_dim.