pub struct AttnV41Run {
pub q: DevicePtr,
pub rows_a: DevicePtr,
pub rows_a_len: usize,
pub rows_b: Option<DevicePtr>,
pub rows_b_len: usize,
pub idx: Vec<i32>,
pub topk: usize,
pub o: DevicePtr,
pub out: DevicePtr,
}Expand description
The intermediates of one layer’s forward, for oracles and for the caller.
Fields§
§q: DevicePtrbf16 [tokens, n_heads, hd], after RoPE
rows_a: DevicePtrwindow rows: the chunk’s own rows on prefill, the ring on decode
rows_a_len: usize§rows_b: Option<DevicePtr>compressed rows (the kv source’s cache) and how many are attended
rows_b_len: usize§idx: Vec<i32>[tokens][topk], window slots then compressed positions (offset by rows_a_len)
topk: usize§o: DevicePtrbf16 [tokens, n_heads, hd], pre inverse rotation
out: DevicePtrbf16 [tokens, dim]
Auto Trait Implementations§
impl Freeze for AttnV41Run
impl RefUnwindSafe for AttnV41Run
impl Send for AttnV41Run
impl Sync for AttnV41Run
impl Unpin for AttnV41Run
impl UnwindSafe for AttnV41Run
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more