pub struct Requirement {Show 13 fields
pub node: &'static str,
pub die_mm2: f64,
pub network: OnChipNetwork,
pub chips: u32,
pub sram_per_chip_bytes: f64,
pub target_tok_s: f64,
pub floor_tok_s: f64,
pub stages: usize,
pub collectives: usize,
pub stage_budget_s: Option<f64>,
pub design_stage_s: f64,
pub hop_budget_s: Option<f64>,
pub by_hop_latency: Vec<(f64, f64)>,
}Expand description
What a LOGOS system must achieve to beat a GPU deployment’s floor by a speedup on one checkpoint.
Fields§
§node: &'static str§die_mm2: f64§network: OnChipNetwork§chips: u32The fewest chips whose SRAM holds the deployment.
sram_per_chip_bytes: f64§target_tok_s: f64Tokens per second the system must reach: the GPU floor times the speedup.
floor_tok_s: f64The system’s own floor at those chips: its memory roofline.
stages: usizeDependent stages per token, and those that reduce across chips.
collectives: usize§stage_budget_s: Option<f64>The most one dependent stage may take on chip with chip-to-chip hops free, or None if even free
stages miss the target.
design_stage_s: f64The design’s own on-chip stage latency.
hop_budget_s: Option<f64>The most one chip-to-chip hop may take with the design’s own stage latency, or None if the design’s
stage latency alone misses the target.
by_hop_latency: Vec<(f64, f64)>Predicted tokens per second at the design’s stage latency, by chip-to-chip hop latency.
Trait Implementations§
Source§impl Clone for Requirement
impl Clone for Requirement
Source§fn clone(&self) -> Requirement
fn clone(&self) -> Requirement
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Requirement
impl Debug for Requirement
Source§impl PartialEq for Requirement
impl PartialEq for Requirement
Source§impl Serialize for Requirement
impl Serialize for Requirement
impl StructuralPartialEq for Requirement
Auto Trait Implementations§
impl Freeze for Requirement
impl RefUnwindSafe for Requirement
impl Send for Requirement
impl Sync for Requirement
impl Unpin for Requirement
impl UnsafeUnpin for Requirement
impl UnwindSafe for Requirement
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.