pub struct MoeJob<'a> {
pub gate: (usize, usize, usize, &'a [f32]),
pub up: (usize, usize, usize, &'a [f32]),
pub down: (usize, usize, usize, &'a [f32]),
pub xs_gate: Vec<f32>,
pub xs_up: Vec<f32>,
pub down_col: &'a [f32],
pub w: f32,
pub q1: bool,
pub q4t: bool,
}Expand description
A single MoE-FFN job (an expert with its own weight), executed in one submission: (rows, cols, idx, row_scale) for gate/up/down + prescaled inputs + the down θ-field + the blending weight.
Fields§
§gate: (usize, usize, usize, &'a [f32])§up: (usize, usize, usize, &'a [f32])§down: (usize, usize, usize, &'a [f32])§xs_gate: Vec<f32>§xs_up: Vec<f32>§down_col: &'a [f32]§w: f32§q1: boolq1 trio: scales live inside the 6-byte tiles (row_scale slices empty, xs raw f32). Backends without a q1 kernel refuse the job.
q4t: boolq4_tiled trio: scales inside the 18-byte tiles (row_scale slices empty, xs raw f32) — the MoE-hybrid coder class.
Auto Trait Implementations§
impl<'a> Freeze for MoeJob<'a>
impl<'a> RefUnwindSafe for MoeJob<'a>
impl<'a> Send for MoeJob<'a>
impl<'a> Sync for MoeJob<'a>
impl<'a> Unpin for MoeJob<'a>
impl<'a> UnsafeUnpin for MoeJob<'a>
impl<'a> UnwindSafe for MoeJob<'a>
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