pub trait GlobalWriter<EO: Numeric>:
CubeType
+ 'static
+ Send
+ Sync {
// Required methods
fn write<G: GlobalConfig>(
this: &mut Self,
slice: Slice<Line<EO>>,
tile_m: u32,
tile_n: u32,
config: G,
);
fn __expand_write<G: GlobalConfig>(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
slice: <Slice<Line<EO>> 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§
Sourcefn write<G: GlobalConfig>(
this: &mut Self,
slice: Slice<Line<EO>>,
tile_m: u32,
tile_n: u32,
config: G,
)
fn write<G: GlobalConfig>( this: &mut Self, slice: Slice<Line<EO>>, 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.
fn __expand_write<G: GlobalConfig>( scope: &mut Scope, this: <Self as CubeType>::ExpandType, slice: <Slice<Line<EO>> 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.