Trait SyncFullLoadingStrategy

Source
pub trait SyncFullLoadingStrategy:
    'static
    + Send
    + Sync
    + Clone
    + LoadingValidation {
    type TilingLayout: TilingLayout;
    type Job<MP: MatmulPrecision>: LoadingJob<MP, Self::TilingLayout>;

    // Required methods
    fn new_job<MP: MatmulPrecision, G: GlobalConfig>(
        ident: InputIdent,
        config: G,
    ) -> Self::Job<MP>;
    fn __expand_new_job<MP: MatmulPrecision, G: GlobalConfig>(
        context: &mut Scope,
        ident: InputIdent,
        config: G,
    ) -> <Self::Job<MP> as CubeType>::ExpandType;
}
Expand description

A strategy for fully and synchronously loading a stage.

Required Associated Types§

Source

type TilingLayout: TilingLayout

The layout describing how data is tiled across the stage.

Source

type Job<MP: MatmulPrecision>: LoadingJob<MP, Self::TilingLayout>

The LoadingJob for this strategy.

Required Methods§

Source

fn new_job<MP: MatmulPrecision, G: GlobalConfig>( ident: InputIdent, config: G, ) -> Self::Job<MP>

Returns the job with preliminary calculations done.

Source

fn __expand_new_job<MP: MatmulPrecision, G: GlobalConfig>( context: &mut Scope, ident: InputIdent, config: G, ) -> <Self::Job<MP> 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.

Implementors§

Source§

impl SyncFullLoadingStrategy for cubecl_linalg::matmul::components::global::load::sync_full_strided::LoadingStrategy

Source§

impl<T: TilingOrder> SyncFullLoadingStrategy for cubecl_linalg::matmul::components::global::load::sync_full_tilewise::LoadingStrategy<T>

Source§

impl<TO: TilingOrder> SyncFullLoadingStrategy for cubecl_linalg::matmul::components::global::load::sync_full_cyclic::LoadingStrategy<TO>

Source§

impl<TO: TilingOrder> SyncFullLoadingStrategy for cubecl_linalg::matmul::components::global::load::sync_full_cyclic_checked::LoadingStrategy<TO>