pub struct IntoDyn2Layout<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn> { /* private fields */ }Implementations§
Source§impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn + ViewLayoutLaunchArg> IntoDyn2Layout<L, P, O>
impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn + ViewLayoutLaunchArg> IntoDyn2Layout<L, P, O>
Trait Implementations§
Source§impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn> CubeType for IntoDyn2Layout<L, P, O>
impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn> CubeType for IntoDyn2Layout<L, P, O>
type ExpandType = IntoDyn2LayoutExpand<L, P, O>
Source§impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn + ViewLayoutLaunchArg> Layout for IntoDyn2Layout<L, P, O>
impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn + ViewLayoutLaunchArg> Layout for IntoDyn2Layout<L, P, O>
Source§type Coordinates = <L as Layout>::Coordinates
type Coordinates = <L as Layout>::Coordinates
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 = (Sequence<i32>, Sequence<i32>)
type SourceCoordinates = (Sequence<i32>, Sequence<i32>)
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) -> Self::SourceCoordinates
fn to_source_pos(&self, pos: Self::Coordinates) -> Self::SourceCoordinates
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 vectors
at the lowest level (global memory layout).
fn is_in_bounds(&self, pos: Self::Coordinates) -> bool
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 __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
Source§impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn> ViewLayoutLaunchArg for IntoDyn2Layout<L, P, O>
impl<L: Layout<SourceCoordinates = (P, O)> + ViewLayoutLaunchArg, P: IntoDyn, O: IntoDyn> ViewLayoutLaunchArg for IntoDyn2Layout<L, P, O>
Source§type RuntimeArg<R: Runtime> = <L as ViewLayoutLaunchArg>::RuntimeArg<R>
type RuntimeArg<R: Runtime> = <L as ViewLayoutLaunchArg>::RuntimeArg<R>
The runtime argument for the kernel.
Source§type CompilationArg = <L as ViewLayoutLaunchArg>::CompilationArg
type CompilationArg = <L as ViewLayoutLaunchArg>::CompilationArg
Compilation argument.
fn register<R: Runtime, B: BufferArg>( arg: 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<L, P, O> Freeze for IntoDyn2Layout<L, P, O>
impl<L, P, O> RefUnwindSafe for IntoDyn2Layout<L, P, O>
impl<L, P, O> Send for IntoDyn2Layout<L, P, O>
impl<L, P, O> Sync for IntoDyn2Layout<L, P, O>
impl<L, P, O> Unpin for IntoDyn2Layout<L, P, O>
impl<L, P, O> UnsafeUnpin for IntoDyn2Layout<L, P, O>
impl<L, P, O> UnwindSafe for IntoDyn2Layout<L, P, O>
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