pub trait FullLoadingStrategy:
'static
+ Send
+ Sync
+ Clone
+ LoadingValidation
+ LoadMaxRoundPlaneCount {
type TilingLayout: TilingLayout;
type SyncStrategy: SyncStrategy;
type Job<EG: Numeric, ES: Numeric>: LoadingJob<EG, ES, Self::TilingLayout, Self::SyncStrategy, Stage = StridedStageFamily>;
// Required methods
fn new_job<EG: Numeric, ES: Numeric>(
runtime_args: RuntimeArgs,
line_size: u32,
config: GlobalReaderConfig,
) -> Self::Job<EG, ES>;
fn __expand_new_job<EG: Numeric, ES: Numeric>(
scope: &mut Scope,
runtime_args: <RuntimeArgs as CubeType>::ExpandType,
line_size: u32,
config: GlobalReaderConfig,
) -> <Self::Job<EG, ES> as CubeType>::ExpandType;
}Expand description
A strategy for synchronously loading a full stage memory.
Required Associated Types§
Sourcetype TilingLayout: TilingLayout
type TilingLayout: TilingLayout
The layout describing how data is tiled across the stage.
Sourcetype SyncStrategy: SyncStrategy
type SyncStrategy: SyncStrategy
The synchronization strategy that should be used with this loading strategy
Sourcetype Job<EG: Numeric, ES: Numeric>: LoadingJob<EG, ES, Self::TilingLayout, Self::SyncStrategy, Stage = StridedStageFamily>
type Job<EG: Numeric, ES: Numeric>: LoadingJob<EG, ES, Self::TilingLayout, Self::SyncStrategy, Stage = StridedStageFamily>
The LoadingJob for this strategy.
Required Methods§
Sourcefn new_job<EG: Numeric, ES: Numeric>(
runtime_args: RuntimeArgs,
line_size: u32,
config: GlobalReaderConfig,
) -> Self::Job<EG, ES>
fn new_job<EG: Numeric, ES: Numeric>( runtime_args: RuntimeArgs, line_size: u32, config: GlobalReaderConfig, ) -> Self::Job<EG, ES>
Returns the job with preliminary calculations done.
fn __expand_new_job<EG: Numeric, ES: Numeric>( scope: &mut Scope, runtime_args: <RuntimeArgs as CubeType>::ExpandType, line_size: u32, config: GlobalReaderConfig, ) -> <Self::Job<EG, ES> as CubeType>::ExpandType
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.