gdn_prefill

Function gdn_prefill 

Source
pub fn gdn_prefill(
    gpu: &dyn GpuBackend,
    kernel: KernelHandle,
    h_state: DevicePtr,
    query: DevicePtr,
    key: DevicePtr,
    value: DevicePtr,
    gate: DevicePtr,
    beta: DevicePtr,
    output: DevicePtr,
    batch_size: u32,
    seq_len: u32,
    num_k_heads: u32,
    num_v_heads: u32,
    k_dim: u32,
    v_dim: u32,
    qk_stride: u32,
    v_stride: u32,
    gb_stride: u32,
    stream: u64,
) -> Result<()>
Expand description

Gated delta rule prefill (multi-token, sequential SSM update within kernel).

Processes seq_len tokens sequentially per (batch, head) pair. Supports strided access: Q/K/V/gate/beta may have different strides between tokens (e.g., from conv1d output with interleaved Q|K|V layout).

Kernel: gated_delta_rule_prefill(h_state, query, key, value, gate, beta, output, batch_size, seq_len, num_k_heads, num_v_heads, k_dim, v_dim, qk_stride, v_stride, gb_stride) Grid: (num_v_heads, batch, 1) Block: (128, 1, 1)