pub trait AsyncPartialLoadingStrategy<RC: RuntimeConfig>: PartialLoadingStrategy<RC, SyncStrategy: SyncStrategy<Barrier = Shared<Barrier>>> {
// Required methods
fn arrival_count<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> u32;
fn barrier_post_init();
fn arrive<MP: MatmulTypes, S: StageConfig>(
barrier: &mut Barrier,
config: SharedGlobalMatmulConfig<S>,
);
fn is_elected<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> bool;
fn __expand_arrival_count<S: StageConfig>(
scope: &mut Scope,
config: SharedGlobalMatmulConfig<S>,
) -> <u32 as RudaType>::ExpandType;
fn __expand_barrier_post_init(
scope: &mut Scope,
) -> <() as RudaType>::ExpandType;
fn __expand_arrive<MP: MatmulTypes, S: StageConfig>(
scope: &mut Scope,
barrier: <Barrier as RudaType>::ExpandType,
config: SharedGlobalMatmulConfig<S>,
) -> <() as RudaType>::ExpandType;
fn __expand_is_elected<S: StageConfig>(
scope: &mut Scope,
config: SharedGlobalMatmulConfig<S>,
) -> <bool as RudaType>::ExpandType;
}Expand description
A strategy for loading partial stage memory with async barriers. Used for specialized.
Required Methods§
Sourcefn arrival_count<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> u32
fn arrival_count<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> u32
Arrival count for initializing the barrier
Sourcefn barrier_post_init()
fn barrier_post_init()
Extra synchronization after initializing the barrier, if needed
Sourcefn arrive<MP: MatmulTypes, S: StageConfig>(
barrier: &mut Barrier,
config: SharedGlobalMatmulConfig<S>,
)
fn arrive<MP: MatmulTypes, S: StageConfig>( barrier: &mut Barrier, config: SharedGlobalMatmulConfig<S>, )
Arrive at the barrier using the correct completion mechanism, without waiting
Sourcefn is_elected<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> bool
fn is_elected<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> bool
Whether this unit should participate in the load loop
fn __expand_arrival_count<S: StageConfig>( scope: &mut Scope, config: SharedGlobalMatmulConfig<S>, ) -> <u32 as RudaType>::ExpandType
fn __expand_barrier_post_init(scope: &mut Scope) -> <() as RudaType>::ExpandType
fn __expand_arrive<MP: MatmulTypes, S: StageConfig>( scope: &mut Scope, barrier: <Barrier as RudaType>::ExpandType, config: SharedGlobalMatmulConfig<S>, ) -> <() as RudaType>::ExpandType
fn __expand_is_elected<S: StageConfig>( scope: &mut Scope, config: SharedGlobalMatmulConfig<S>, ) -> <bool as RudaType>::ExpandType
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".