pub struct PlacementInputs {
pub budget: u64,
pub non_expert: u64,
pub per_expert: u64,
pub moe_layers: usize,
pub n_experts: usize,
pub top_k: usize,
pub attn_per_layer: u64,
pub graph_prefix: bool,
}Expand description
Everything the placement decision reads — plain data, so the policy is testable without a device.
Fields§
§budget: u64Device weight budget in bytes (CMF_GPU_VRAM_MB or VRAM − reserve).
non_expert: u64Device bytes of every non-expert weight (attention, norms, routers, dense layers, lm_head) — they must stay resident in every mode.
per_expert: u64Bytes of one expert (gate + up + down).
moe_layers: usize§n_experts: usize§top_k: usize§attn_per_layer: u64Mean non-expert device bytes of one layer (attention, router, norms).
graph_prefix: boolA whole-token device graph can run whole resident layers of this model (then a whole-layer prefix costs one submit, not per-layer fences).
Trait Implementations§
Source§impl Clone for PlacementInputs
impl Clone for PlacementInputs
Auto Trait Implementations§
impl Freeze for PlacementInputs
impl RefUnwindSafe for PlacementInputs
impl Send for PlacementInputs
impl Sync for PlacementInputs
impl Unpin for PlacementInputs
impl UnsafeUnpin for PlacementInputs
impl UnwindSafe for PlacementInputs
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