pub struct LayerDistribution {
pub stage_layers: Vec<LayerRange>,
pub stage_memory: Vec<usize>,
}Expand description
Layer distribution configuration for pipeline parallelism
Fields§
§stage_layers: Vec<LayerRange>Layer assignments per pipeline stage
stage_memory: Vec<usize>Memory requirements per stage (in bytes)
Implementations§
Source§impl LayerDistribution
impl LayerDistribution
Sourcepub fn even_distribution(num_layers: usize, num_stages: usize) -> Self
pub fn even_distribution(num_layers: usize, num_stages: usize) -> Self
Create even distribution of layers across stages
Sourcepub fn stage_for_layer(&self, layer: usize) -> Option<usize>
pub fn stage_for_layer(&self, layer: usize) -> Option<usize>
Get stage for a given layer
Trait Implementations§
Source§impl Clone for LayerDistribution
impl Clone for LayerDistribution
Source§fn clone(&self) -> LayerDistribution
fn clone(&self) -> LayerDistribution
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 LayerDistribution
impl Debug for LayerDistribution
Source§impl<'de> Deserialize<'de> for LayerDistribution
impl<'de> Deserialize<'de> for LayerDistribution
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for LayerDistribution
impl RefUnwindSafe for LayerDistribution
impl Send for LayerDistribution
impl Sync for LayerDistribution
impl Unpin for LayerDistribution
impl UnsafeUnpin for LayerDistribution
impl UnwindSafe for LayerDistribution
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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