Skip to main content

rotate_blocks_partial

Function rotate_blocks_partial 

Source
pub fn rotate_blocks_partial<const D: usize, const DB: usize>(
    v: Tensor<D>,
    q: Tensor<DB>,
    rope_width: usize,
) -> Tensor<D>
Expand description

Apply a per-block quaternion rotation to the first rope_width entries of the state_rank axis (a multiple of 4); the remainder passes through. The quaternion analogue of apply_rope_partial.

q has one quaternion per rotated block (rope_width / 4 of them). DB must equal D + 1.