pub struct TiledViewLayout { /* private fields */ }Expand description
Tiling above a strided buffer: TiledLayout’s split, then per-axis strides
to a linear offset. The buffer is a plain strided tensor; tiling is explicit
(start_axis / num_tiled), with no Tiler metadata on it.
Trait Implementations§
Source§impl Clone for TiledViewLayout
impl Clone for TiledViewLayout
Source§fn clone(&self) -> TiledViewLayout
fn clone(&self) -> TiledViewLayout
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 moreSource§impl CubeType for TiledViewLayout
impl CubeType for TiledViewLayout
Source§impl Layout for TiledViewLayout
impl Layout for TiledViewLayout
Source§fn to_source_pos(&self, pos: Self::Coordinates) -> Self::SourceCoordinates
fn to_source_pos(&self, pos: Self::Coordinates) -> Self::SourceCoordinates
Logical coords to buffer offset: split to physical coords, then strides.
Source§type Coordinates = Sequence<u32>
type Coordinates = Sequence<u32>
The coordinate type used by the conceptual tensor represented by this layout, i.e.
(u32, u32, u32) for a fixed-rank 3D tensor.
This does not have to match the rank of the underlying storage (if applicable).
It’s only how the tensor is interpreted (viewed) by the code.Source§type SourceCoordinates = usize
type SourceCoordinates = usize
The coordinate type used by the inner storage wrapped in this layout, i.e.
u32 for
Array, or (u32, u32) for a 2D view.Source§fn to_source_pos_checked(
&self,
pos: Self::Coordinates,
) -> (Self::SourceCoordinates, bool)
fn to_source_pos_checked( &self, pos: Self::Coordinates, ) -> (Self::SourceCoordinates, bool)
Transform a set of n-dimensional coordinates to an offset into the underlying storage,
and return whether the position is in bounds of this layout.
See also
Layout::to_source_posSource§fn shape(&self) -> Self::Coordinates
fn shape(&self) -> Self::Coordinates
The shape of the conceptual tensor represented by this layout. Not necessarily the extent
of the underlying storage, but only this view of it.
fn is_in_bounds(&self, pos: Self::Coordinates) -> bool
fn __expand_to_source_pos( scope: &Scope, this: &<Self as CubeType>::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <Self::SourceCoordinates as CubeType>::ExpandType
fn __expand_to_source_pos_checked( scope: &Scope, this: &<Self as CubeType>::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> (<Self::SourceCoordinates as CubeType>::ExpandType, <bool as CubeType>::ExpandType)
fn __expand_shape( scope: &Scope, this: &<Self as CubeType>::ExpandType, ) -> <Self::Coordinates as CubeType>::ExpandType
fn __expand_is_in_bounds( scope: &Scope, this: &<Self as CubeType>::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType
Source§impl ViewLayoutLaunchArg for TiledViewLayout
impl ViewLayoutLaunchArg for TiledViewLayout
Source§type RuntimeArg<R: Runtime> = TileSpec
type RuntimeArg<R: Runtime> = TileSpec
The runtime argument for the kernel.
Source§type CompilationArg = TiledViewLayoutCompilationArg
type CompilationArg = TiledViewLayoutCompilationArg
Compilation argument.
fn register<R: Runtime, B: MemoryArg>( spec: Self::RuntimeArg<R>, buffer: &B, _ty: Type, launcher: &mut KernelLauncher<R>, ) -> Self::CompilationArg
Source§fn expand(
arg: &Self::CompilationArg,
_ty: Type,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
fn expand( arg: &Self::CompilationArg, _ty: Type, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an input variable during compilation that fill the
KernelBuilder.Source§fn expand_output(
arg: &Self::CompilationArg,
ty: Type,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
fn expand_output( arg: &Self::CompilationArg, ty: Type, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an output variable during compilation that fill the
KernelBuilder.Auto Trait Implementations§
impl Freeze for TiledViewLayout
impl RefUnwindSafe for TiledViewLayout
impl Send for TiledViewLayout
impl Sync for TiledViewLayout
impl Unpin for TiledViewLayout
impl UnsafeUnpin for TiledViewLayout
impl UnwindSafe for TiledViewLayout
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