Trait TilingLayout

Source
pub trait TilingLayout:
    'static
    + Send
    + Sync
    + Clone
    + Copy {
    // Required methods
    fn get_tile<ES: Numeric, S: StageConfig>(
        stage: &StageMemory<ES, Self>,
        row: u32,
        col: u32,
        buffer_index: u32,
        ident: Ident,
        config: S,
    ) -> Tile<ES>;
    fn __expand_get_tile<ES: Numeric, S: StageConfig>(
        scope: &mut Scope,
        stage: <StageMemory<ES, Self> as CubeType>::ExpandType,
        row: <u32 as CubeType>::ExpandType,
        col: <u32 as CubeType>::ExpandType,
        buffer_index: u32,
        ident: Ident,
        config: S,
    ) -> <Tile<ES> as CubeType>::ExpandType;
}
Expand description

Describes how tiles are arranged in shared memory.

Required Methods§

Source

fn get_tile<ES: Numeric, S: StageConfig>( stage: &StageMemory<ES, Self>, row: u32, col: u32, buffer_index: u32, ident: Ident, config: S, ) -> Tile<ES>

Returns the tile at shared memory coordinates

Source

fn __expand_get_tile<ES: Numeric, S: StageConfig>( scope: &mut Scope, stage: <StageMemory<ES, Self> as CubeType>::ExpandType, row: <u32 as CubeType>::ExpandType, col: <u32 as CubeType>::ExpandType, buffer_index: u32, ident: Ident, config: S, ) -> <Tile<ES> 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§