pub struct Assignment {Show 14 fields
pub addr: String,
pub ssh: Option<String>,
pub layers: Range<usize>,
pub first: bool,
pub last: bool,
pub est_bytes: u64,
pub budget_bytes: u64,
pub est_disk_bytes: u64,
pub experts_paged: bool,
pub est_stage_secs: f64,
pub est_kv_bytes: u64,
pub device: String,
pub role: NodeRole,
pub backs: Option<String>,
}Expand description
One node’s stage.
Fields§
§addr: String§ssh: Option<String>§layers: Range<usize>§first: bool§last: bool§est_bytes: u64Estimated resident bytes for this stage (weights + embed/head), excluding routed experts when those page from disk.
budget_bytes: u64The node’s stage RAM budget the planner used.
est_disk_bytes: u64Routed-expert bytes this stage must keep on disk (0 for a dense model, or when the experts fit in RAM alongside the resident weights).
experts_paged: boolTrue when this stage’s experts page from disk rather than sitting in RAM.
Paged stages are bounded by NodeCaps::io_mbps, not by GFLOP/s.
est_stage_secs: f64Predicted seconds per token for this stage: compute time plus, when paged, the time to stream in the experts each token touches. The planner balances the pipeline by minimizing the largest of these.
est_kv_bytes: u64KV-cache bytes THIS stage will hold at the objective’s context — exact for its actual layer range, not the stack average.
device: StringPrimary device label for the monitor.
role: NodeRoleActive / standby / draining, from NodeConfig::role.
backs: Option<String>For a standby: the addr of the active node whose layers it mirrors.
Trait Implementations§
Source§impl Clone for Assignment
impl Clone for Assignment
Auto Trait Implementations§
impl Freeze for Assignment
impl RefUnwindSafe for Assignment
impl Send for Assignment
impl Sync for Assignment
impl Unpin for Assignment
impl UnsafeUnpin for Assignment
impl UnwindSafe for Assignment
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more