pub struct StridedLayout { /* private fields */ }Expand description
Layout for tensors strided only on the last dimension, i.e. freshly allocated ones. Treats the tensor as 2D for the purposes of indexing, with the remaining dimensions being collapsed into a single contiguous one
Trait Implementations§
Source§impl Clone for StridedLayout
 
impl Clone for StridedLayout
Source§fn clone(&self) -> StridedLayout
 
fn clone(&self) -> StridedLayout
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 StridedLayout
 
impl CubeType for StridedLayout
type ExpandType = StridedLayoutExpand
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 LaunchArg for StridedLayout
 
impl LaunchArg for StridedLayout
Source§type RuntimeArg<'a, R: Runtime> = StridedLayoutLaunch<'a, R>
 
type RuntimeArg<'a, R: Runtime> = StridedLayoutLaunch<'a, R>
The runtime argument for the kernel.
Source§type CompilationArg = StridedLayoutCompilationArg
 
type CompilationArg = StridedLayoutCompilationArg
Compilation argument.
fn compilation_arg<'a, R: Runtime>( runtime_arg: &Self::RuntimeArg<'a, R>, ) -> Self::CompilationArg
Source§fn expand(
    arg: &Self::CompilationArg,
    builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
 
fn expand( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an input variable during compilation that fill the KernelBuilder.
Source§fn expand_output(
    arg: &Self::CompilationArg,
    builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
 
fn expand_output( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an output variable during compilation that fill the KernelBuilder.
Source§impl Layout for StridedLayout
 
impl Layout for StridedLayout
Source§type Coordinates = u32
 
type Coordinates = 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 = u32
 
type SourceCoordinates = u32
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(&self, pos: Self::Coordinates) -> u32
 
fn to_source_pos(&self, pos: Self::Coordinates) -> u32
Transform a set of n-dimensional coordinates to a source coordinate space.
It is recommended to use absolute positions here, and handle the translation into lines
at the lowest level (global memory layout).
Source§fn to_source_pos_checked(&self, pos: Self::Coordinates) -> (u32, bool)
 
fn to_source_pos_checked(&self, pos: Self::Coordinates) -> (u32, 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_pos
Source§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: &mut Scope, this: <Self as CubeType>::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <Self::SourceCoordinates as CubeType>::ExpandType
fn __expand_to_source_pos_checked( scope: &mut Scope, this: <Self as CubeType>::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <(Self::SourceCoordinates, bool) as CubeType>::ExpandType
fn __expand_shape( scope: &mut Scope, this: <Self as CubeType>::ExpandType, ) -> <Self::Coordinates as CubeType>::ExpandType
fn __expand_is_in_bounds( scope: &mut Scope, this: <Self as CubeType>::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType
Auto Trait Implementations§
impl Freeze for StridedLayout
impl RefUnwindSafe for StridedLayout
impl Send for StridedLayout
impl Sync for StridedLayout
impl Unpin for StridedLayout
impl UnwindSafe for StridedLayout
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