Trait StageWriter

Source
pub trait StageWriter<EO: Numeric>:
    CubeType
    + 'static
    + Send
    + Sync {
    // Required methods
    fn write<ES: Numeric, G: GlobalConfig>(
        this: &mut Self,
        slice: Slice<Line<ES>>,
        tile_m: u32,
        tile_n: u32,
        config: G,
    );
    fn __expand_write<ES: Numeric, G: GlobalConfig>(
        context: &mut Scope,
        this: <Self as CubeType>::ExpandType,
        slice: <Slice<Line<ES>> as CubeType>::ExpandType,
        tile_m: <u32 as CubeType>::ExpandType,
        tile_n: <u32 as CubeType>::ExpandType,
        config: G,
    ) -> <() as CubeType>::ExpandType;
}
Expand description

Responsible of writing the accumulated stage matmul output to global memory

Required Methods§

Source

fn write<ES: Numeric, G: GlobalConfig>( this: &mut Self, slice: Slice<Line<ES>>, tile_m: u32, tile_n: u32, config: G, )

Writes the given slice to global memory, at a position that depends on plane and accumulator indexes.

Source

fn __expand_write<ES: Numeric, G: GlobalConfig>( context: &mut Scope, this: <Self as CubeType>::ExpandType, slice: <Slice<Line<ES>> as CubeType>::ExpandType, tile_m: <u32 as CubeType>::ExpandType, tile_n: <u32 as CubeType>::ExpandType, config: G, ) -> <() 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<EG: Numeric> StageWriter<EG> for Unloader<EG>