pub struct StridedTilingLayout {}Expand description
Tiles follow a strided layout that often mirrors global memory layout. Not all tiles are contiguous in shared memory, but mapping is more direct.
Implementations§
Source§impl StridedTilingLayout
impl StridedTilingLayout
Sourcepub fn nth_slice<ES: Numeric, NS: Size>(
stage: &mut StridedStageMemory<ES, NS, Self>,
nth: u32,
config: StageMemoryConfig,
) -> &mut [Vector<ES, NS>]
pub fn nth_slice<ES: Numeric, NS: Size>( stage: &mut StridedStageMemory<ES, NS, Self>, nth: u32, config: StageMemoryConfig, ) -> &mut [Vector<ES, NS>]
Returns the nth slice of the stage
Sourcepub fn __expand_nth_slice<'infer, 'scope, ES: Numeric, NS: Size>(
scope: &'scope Scope,
stage: &'infer mut <StridedStageMemory<ES, NS, Self> as CubeType>::ExpandType,
nth: <u32 as CubeType>::ExpandType,
config: StageMemoryConfig,
) -> &'infer mut <[Vector<ES, NS>] as CubeType>::ExpandType ⓘ
pub fn __expand_nth_slice<'infer, 'scope, ES: Numeric, NS: Size>( scope: &'scope Scope, stage: &'infer mut <StridedStageMemory<ES, NS, Self> as CubeType>::ExpandType, nth: <u32 as CubeType>::ExpandType, config: StageMemoryConfig, ) -> &'infer mut <[Vector<ES, NS>] as CubeType>::ExpandType ⓘ
Returns the nth slice of the stage
Trait Implementations§
Source§impl Clone for StridedTilingLayout
impl Clone for StridedTilingLayout
Source§fn clone(&self) -> StridedTilingLayout
fn clone(&self) -> StridedTilingLayout
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for StridedTilingLayout
Source§impl TilingLayout for StridedTilingLayout
impl TilingLayout for StridedTilingLayout
Source§fn get_tile<ES: Numeric, NS: Size>(
stage: &StridedStageMemory<ES, NS, Self>,
tile: Coords2d,
config: StageMemoryConfig,
) -> StridedTile<ES, NS>
fn get_tile<ES: Numeric, NS: Size>( stage: &StridedStageMemory<ES, NS, Self>, tile: Coords2d, config: StageMemoryConfig, ) -> StridedTile<ES, NS>
Returns the tile at shared memory coordinates
Source§fn to_enum() -> TilingLayoutEnum
fn to_enum() -> TilingLayoutEnum
Return the trait value as enum
fn __expand_get_tile<ES: Numeric, NS: Size>( scope: &Scope, stage: &<StridedStageMemory<ES, NS, Self> as CubeType>::ExpandType, tile: <Coords2d as CubeType>::ExpandType, config: StageMemoryConfig, ) -> <StridedTile<ES, NS> as CubeType>::ExpandType
fn __expand_to_enum(scope: &Scope) -> TilingLayoutEnum
Source§impl TilingValidation for StridedTilingLayout
impl TilingValidation for StridedTilingLayout
fn check(config: StageMemoryConfig) -> Result<(), InvalidConfigError>
Auto Trait Implementations§
impl Freeze for StridedTilingLayout
impl RefUnwindSafe for StridedTilingLayout
impl Send for StridedTilingLayout
impl Sync for StridedTilingLayout
impl Unpin for StridedTilingLayout
impl UnsafeUnpin for StridedTilingLayout
impl UnwindSafe for StridedTilingLayout
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more