pub struct NoopLayout {}Expand description
Layout that passed through the coordinates with no checks or modification.
Implementations§
Source§impl NoopLayout
impl NoopLayout
pub fn new() -> Self
pub fn __expand_new(scope: &mut Scope) -> <Self as RudaType>::ExpandType
Trait Implementations§
Source§impl LaunchArg for NoopLayout
impl LaunchArg for NoopLayout
Source§type RuntimeArg<R: Runtime> = NoopLayoutLaunch<R>
type RuntimeArg<R: Runtime> = NoopLayoutLaunch<R>
The runtime argument for the kernel.
Source§type CompilationArg = NoopLayoutCompilationArg
type CompilationArg = NoopLayoutCompilationArg
Compilation argument.
fn register<R: Runtime>( arg: Self::RuntimeArg<R>, launcher: &mut KernelLauncher<R>, ) -> Self::CompilationArg
Source§fn expand(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> <Self as RudaType>::ExpandType
fn expand( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as RudaType>::ExpandType
Register an input variable during compilation that fill the
KernelBuilder.Source§fn expand_output(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> <Self as RudaType>::ExpandType
fn expand_output( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as RudaType>::ExpandType
Register an output variable during compilation that fill the
KernelBuilder.Source§impl Layout for NoopLayout
impl Layout for NoopLayout
Source§type Coordinates = usize
type Coordinates = usize
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(&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).
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
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_posfn __expand_to_source_pos( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as RudaType>::ExpandType, ) -> <Self::SourceCoordinates as RudaType>::ExpandType
fn __expand_to_source_pos_checked( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as RudaType>::ExpandType, ) -> <(Self::SourceCoordinates, bool) as RudaType>::ExpandType
fn __expand_shape( scope: &mut Scope, this: Self::ExpandType, ) -> <Self::Coordinates as RudaType>::ExpandType
fn __expand_is_in_bounds( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as RudaType>::ExpandType, ) -> <bool as RudaType>::ExpandType
Source§impl RudaType for NoopLayout
impl RudaType for NoopLayout
Auto Trait Implementations§
impl Freeze for NoopLayout
impl RefUnwindSafe for NoopLayout
impl Send for NoopLayout
impl Sync for NoopLayout
impl Unpin for NoopLayout
impl UnsafeUnpin for NoopLayout
impl UnwindSafe for NoopLayout
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ViewLayoutLaunchArg for Twhere
T: LaunchArg,
impl<T> ViewLayoutLaunchArg for Twhere
T: LaunchArg,
Source§type RuntimeArg<R: Runtime> = <T as LaunchArg>::RuntimeArg<R>
type RuntimeArg<R: Runtime> = <T as LaunchArg>::RuntimeArg<R>
The runtime argument for the kernel.
Source§type CompilationArg = <T as LaunchArg>::CompilationArg
type CompilationArg = <T as LaunchArg>::CompilationArg
Compilation argument.
fn register<R, B>( arg: <T as ViewLayoutLaunchArg>::RuntimeArg<R>, _buffer: &B, _ty: Type, launcher: &mut KernelLauncher<R>, ) -> <T as ViewLayoutLaunchArg>::CompilationArg
Source§fn expand(
arg: &<T as ViewLayoutLaunchArg>::CompilationArg,
_ty: Type,
builder: &mut KernelBuilder,
) -> <T as RudaType>::ExpandType
fn expand( arg: &<T as ViewLayoutLaunchArg>::CompilationArg, _ty: Type, builder: &mut KernelBuilder, ) -> <T as RudaType>::ExpandType
Register an input variable during compilation that fill the
KernelBuilder.Source§fn expand_output(
arg: &<T as ViewLayoutLaunchArg>::CompilationArg,
_ty: Type,
builder: &mut KernelBuilder,
) -> <T as RudaType>::ExpandType
fn expand_output( arg: &<T as ViewLayoutLaunchArg>::CompilationArg, _ty: Type, builder: &mut KernelBuilder, ) -> <T as RudaType>::ExpandType
Register an output variable during compilation that fill the
KernelBuilder.