Trait SyncBufferLoadingStrategy

Source
pub trait SyncBufferLoadingStrategy:
    '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>(
        buffer_index: u32,
        ident: InputIdent,
        config: G,
    ) -> Self::Job<MP>;
    fn __expand_new_job<MP: MatmulPrecision, G: GlobalConfig>(
        context: &mut Scope,
        buffer_index: u32,
        ident: InputIdent,
        config: G,
    ) -> <Self::Job<MP> as CubeType>::ExpandType;
}
Expand description

A strategy for synchronously loading a buffer (partial stage), either eagerly or as a deferred job.

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>( buffer_index: u32, 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, buffer_index: u32, 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§