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)