pub struct IntoDynLayout<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> { /* private fields */ }Implementations§
Trait Implementations§
Source§impl<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> CubeType for IntoDynLayout<L>
 
impl<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> CubeType for IntoDynLayout<L>
type ExpandType = IntoDynLayoutExpand<L>
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<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> LaunchArg for IntoDynLayout<L>
 
impl<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> LaunchArg for IntoDynLayout<L>
Source§type RuntimeArg<'a, R: Runtime> = IntoDynLayoutLaunch<'a, L, R>
 
type RuntimeArg<'a, R: Runtime> = IntoDynLayoutLaunch<'a, L, R>
The runtime argument for the kernel.
Source§type CompilationArg = IntoDynLayoutCompilationArg<L>
 
type CompilationArg = IntoDynLayoutCompilationArg<L>
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<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> Layout for IntoDynLayout<L>
 
impl<L: Layout<SourceCoordinates: IntoDyn> + LaunchArg> Layout for IntoDynLayout<L>
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>
 
type SourceCoordinates = 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 lines
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_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 __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<L> Freeze for IntoDynLayout<L>
impl<L> RefUnwindSafe for IntoDynLayout<L>where
    <L as Layout>::SourceCoordinates: Sized,
    <L as CubeType>::ExpandType: Sized,
    L: RefUnwindSafe,
impl<L> Send for IntoDynLayout<L>
impl<L> Sync for IntoDynLayout<L>
impl<L> Unpin for IntoDynLayout<L>
impl<L> UnwindSafe for IntoDynLayout<L>
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