pub fn rope_yarn(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
q: DevicePtr,
k: DevicePtr,
positions: DevicePtr,
seq_len: u32,
num_q_heads: u32,
num_kv_heads: u32,
head_dim: u32,
rotary_dim: u32,
inv_freq: DevicePtr,
theta: f32,
stream: u64,
) -> Result<()>Expand description
RoPE with precomputed YaRN inv_freq table (Mistral Small 4). The kernel reads frequencies from the table instead of computing from theta.