pub trait AccumulatorLoader<MP: MatmulPrecision>:
CubeType
+ 'static
+ Send
+ Sync {
// Required methods
fn fill_stage<G: GlobalConfig>(this: &mut Self, config: G);
fn load<Tile: TileMatmul<MP>>(
this: &mut Self,
acc: &mut Tile::Accumulator,
nth_tile: u32,
config: Tile::Config,
);
fn __expand_fill_stage<G: GlobalConfig>(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
config: G,
) -> <() as CubeType>::ExpandType;
fn __expand_load<Tile: TileMatmul<MP>>(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
acc: <Tile::Accumulator as CubeType>::ExpandType,
nth_tile: <u32 as CubeType>::ExpandType,
config: Tile::Config,
) -> <() as CubeType>::ExpandType;
}
Expand description
Loads an accumulator with pre-defined data
Required Methods§
fn fill_stage<G: GlobalConfig>(this: &mut Self, config: G)
Sourcefn load<Tile: TileMatmul<MP>>(
this: &mut Self,
acc: &mut Tile::Accumulator,
nth_tile: u32,
config: Tile::Config,
)
fn load<Tile: TileMatmul<MP>>( this: &mut Self, acc: &mut Tile::Accumulator, nth_tile: u32, config: Tile::Config, )
Load accumulator for nth_tile
. Should call either zero_accumulator
or fill_accumulator
for the underlying tile.
fn __expand_fill_stage<G: GlobalConfig>( scope: &mut Scope, this: <Self as CubeType>::ExpandType, config: G, ) -> <() as CubeType>::ExpandType
fn __expand_load<Tile: TileMatmul<MP>>( scope: &mut Scope, this: <Self as CubeType>::ExpandType, acc: <Tile::Accumulator as CubeType>::ExpandType, nth_tile: <u32 as CubeType>::ExpandType, config: Tile::Config, ) -> <() 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.