Skip to main content

AsyncPartialLoadingStrategy

Trait AsyncPartialLoadingStrategy 

Source
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§

Source

fn arrival_count<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> u32

Arrival count for initializing the barrier

Source

fn barrier_post_init()

Extra synchronization after initializing the barrier, if needed

Source

fn arrive<MP: MatmulTypes, S: StageConfig>( barrier: &mut Barrier, config: SharedGlobalMatmulConfig<S>, )

Arrive at the barrier using the correct completion mechanism, without waiting

Source

fn is_elected<S: StageConfig>(config: SharedGlobalMatmulConfig<S>) -> bool

Whether this unit should participate in the load loop

Source

fn __expand_arrival_count<S: StageConfig>( scope: &mut Scope, config: SharedGlobalMatmulConfig<S>, ) -> <u32 as RudaType>::ExpandType

Source

fn __expand_barrier_post_init(scope: &mut Scope) -> <() as RudaType>::ExpandType

Source

fn __expand_arrive<MP: MatmulTypes, S: StageConfig>( scope: &mut Scope, barrier: <Barrier as RudaType>::ExpandType, config: SharedGlobalMatmulConfig<S>, ) -> <() as RudaType>::ExpandType

Source

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".

Implementors§