pub struct OrderedTilingOrder {}
Expand description
Tiles are laid out in column-major order across a fixed number of rows, with all tiles from those rows placed contiguously side by side.
The grouping should match the set of tiles processed by a warp, so warp-local tile memory remains contiguous.
This layout ensures that for Lhs data, all tiles needed for a given
k
iteration are stored contiguously, before moving to the next iteration.
Note: use only for Lhs
Example tile indices for 4 rows grouped 2 at a time:
┌───┬───┐
│ 0 │ 2 │
├───┼───┤
│ 1 │ 3 │
├───┼───┤
│ 4 │ 6 │
├───┼───┤
│ 5 │ 7 │
└───┴───┘
Trait Implementations§
Source§impl Clone for OrderedTilingOrder
impl Clone for OrderedTilingOrder
Source§fn clone(&self) -> OrderedTilingOrder
fn clone(&self) -> OrderedTilingOrder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl CubeType for OrderedTilingOrder
impl CubeType for OrderedTilingOrder
type ExpandType = OrderedTilingOrderExpand
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl TilingOrder for OrderedTilingOrder
impl TilingOrder for OrderedTilingOrder
Source§fn to_row_col<C: StageConfig>(
nth: u32,
tile_count_rows: u32,
tile_count_cols: u32,
ident: Ident,
config: C,
) -> (u32, u32)
fn to_row_col<C: StageConfig>( nth: u32, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> (u32, u32)
Returns the coordinates (row, col) of the tile
Source§fn to_nth_tile<C: StageConfig>(
row: u32,
col: u32,
tile_count_rows: u32,
tile_count_cols: u32,
ident: Ident,
config: C,
) -> u32
fn to_nth_tile<C: StageConfig>( row: u32, col: u32, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> u32
Given the coordinates (row, col) of the tile,
returns its index in shared memory
Source§fn to_enum() -> TilingOrderEnum
fn to_enum() -> TilingOrderEnum
Return the trait value as enum
fn __expand_to_row_col<C: StageConfig>( scope: &mut Scope, nth: <u32 as CubeType>::ExpandType, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> <(u32, u32) as CubeType>::ExpandType
fn __expand_to_nth_tile<C: StageConfig>( scope: &mut Scope, row: <u32 as CubeType>::ExpandType, col: <u32 as CubeType>::ExpandType, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> <u32 as CubeType>::ExpandType
fn __expand_to_enum(scope: &mut Scope) -> TilingOrderEnum
impl Copy for OrderedTilingOrder
Auto Trait Implementations§
impl Freeze for OrderedTilingOrder
impl RefUnwindSafe for OrderedTilingOrder
impl Send for OrderedTilingOrder
impl Sync for OrderedTilingOrder
impl Unpin for OrderedTilingOrder
impl UnwindSafe for OrderedTilingOrder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more