pub struct SyncPartialCyclicLoading<T: TilingOrder> { /* private fields */ }
Expand description
Loads the content of all tiles in the stage using all planes. Unit with pos X loads lines with indices X, X + NUM_UNITS, X + 2 * NUM_UNITS, …
Trait Implementations§
Source§impl<T: Clone + TilingOrder> Clone for SyncPartialCyclicLoading<T>
impl<T: Clone + TilingOrder> Clone for SyncPartialCyclicLoading<T>
Source§fn clone(&self) -> SyncPartialCyclicLoading<T>
fn clone(&self) -> SyncPartialCyclicLoading<T>
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<T: TilingOrder> CubeType for SyncPartialCyclicLoading<T>
impl<T: TilingOrder> CubeType for SyncPartialCyclicLoading<T>
type ExpandType = SyncPartialCyclicLoadingExpand<T>
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl<TO: TilingOrder> LoadMaxRoundPlaneCount for SyncPartialCyclicLoading<TO>
impl<TO: TilingOrder> LoadMaxRoundPlaneCount for SyncPartialCyclicLoading<TO>
Source§fn max_round_plane_count(
tiling_scheme: &TilingScheme,
ident: InputIdent,
line_size: u8,
plane_dim: u32,
) -> u32
fn max_round_plane_count( tiling_scheme: &TilingScheme, ident: InputIdent, line_size: u8, plane_dim: u32, ) -> u32
Returns the largest number of planes that evenly divides the tasks.
Source§impl<TO: TilingOrder> LoadingValidation for SyncPartialCyclicLoading<TO>
impl<TO: TilingOrder> LoadingValidation for SyncPartialCyclicLoading<TO>
Source§fn check<C: GlobalConfig>(
config: &C,
ident: Ident,
) -> Result<(), InvalidConfigError>
fn check<C: GlobalConfig>( config: &C, ident: Ident, ) -> Result<(), InvalidConfigError>
Verify that configs are valid for a loader, otherwise return an error stating why
Source§impl<TO: TilingOrder> SyncPartialLoadingStrategy for SyncPartialCyclicLoading<TO>
impl<TO: TilingOrder> SyncPartialLoadingStrategy for SyncPartialCyclicLoading<TO>
Source§type TilingLayout = ContiguousTilingLayout<TO>
type TilingLayout = ContiguousTilingLayout<TO>
The layout describing how data is tiled across the stage.
Source§type Job<MP: MatmulPrecision> = SyncPartialCyclicJob
type Job<MP: MatmulPrecision> = SyncPartialCyclicJob
The LoadingJob for this strategy.
Source§fn new_job<MP: MatmulPrecision, G: GlobalConfig>(
stage_index: u32,
input_ident: InputIdent,
config: G,
) -> SyncPartialCyclicJob
fn new_job<MP: MatmulPrecision, G: GlobalConfig>( stage_index: u32, input_ident: InputIdent, config: G, ) -> SyncPartialCyclicJob
Returns the job with preliminary calculations done.
fn __expand_new_job<MP: MatmulPrecision, G: GlobalConfig>( scope: &mut Scope, stage_index: u32, input_ident: InputIdent, config: G, ) -> <SyncPartialCyclicJob as CubeType>::ExpandType
impl<T: Copy + TilingOrder> Copy for SyncPartialCyclicLoading<T>
Auto Trait Implementations§
impl<T> Freeze for SyncPartialCyclicLoading<T>
impl<T> RefUnwindSafe for SyncPartialCyclicLoading<T>where
T: RefUnwindSafe,
impl<T> Send for SyncPartialCyclicLoading<T>
impl<T> Sync for SyncPartialCyclicLoading<T>
impl<T> Unpin for SyncPartialCyclicLoading<T>where
T: Unpin,
impl<T> UnwindSafe for SyncPartialCyclicLoading<T>where
T: UnwindSafe,
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