Struct cubecl_core::frontend::Array
source · pub struct Array<E> { /* private fields */ }
Expand description
A contiguous array of elements.
Implementations§
source§impl<T: CubePrimitive + Clone> Array<T>
impl<T: CubePrimitive + Clone> Array<T>
pub fn new<S: Index>(_size: S) -> Self
pub fn vectorized<S: Index>(_size: S, _vectorization_factor: UInt) -> Self
pub fn __expand_new<S: Index>( context: &mut CubeContext, size: S, ) -> <Self as CubeType>::ExpandType
pub fn __expand_vectorized<S: Index>( context: &mut CubeContext, size: S, vectorization_factor: UInt, ) -> <Self as CubeType>::ExpandType
pub fn to_vectorized(self, _vectorization_factor: Comptime<UInt>) -> T
Trait Implementations§
source§impl<C: CubeType> CubeType for &Array<C>
impl<C: CubeType> CubeType for &Array<C>
type ExpandType = ExpandElementTyped<Array<C>>
source§fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
source§impl<C: CubeType> CubeType for Array<C>
impl<C: CubeType> CubeType for Array<C>
type ExpandType = ExpandElementTyped<Array<C>>
source§fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
source§impl<C: CubeType> ExpandElementBaseInit for Array<C>
impl<C: CubeType> ExpandElementBaseInit for Array<C>
fn init_elem(_context: &mut CubeContext, elem: ExpandElement) -> ExpandElement
source§impl<C: CubePrimitive> LaunchArg for Array<C>
impl<C: CubePrimitive> LaunchArg for Array<C>
§type RuntimeArg<'a, R: Runtime> = ArrayArg<'a, R>
type RuntimeArg<'a, R: Runtime> = ArrayArg<'a, R>
The runtime argument for the kernel.
source§impl<C: CubePrimitive> LaunchArgExpand for Array<C>
impl<C: CubePrimitive> LaunchArgExpand for Array<C>
source§fn expand(
builder: &mut KernelBuilder,
vectorization: Vectorization,
) -> ExpandElementTyped<Array<C>>
fn expand( builder: &mut KernelBuilder, vectorization: Vectorization, ) -> ExpandElementTyped<Array<C>>
Register an input variable during compilation that fill the KernelBuilder.
source§fn expand_output(
builder: &mut KernelBuilder,
vectorization: Vectorization,
) -> ExpandElementTyped<Array<C>>
fn expand_output( builder: &mut KernelBuilder, vectorization: Vectorization, ) -> ExpandElementTyped<Array<C>>
Register an output variable during compilation that fill the KernelBuilder.
source§impl<E: CubePrimitive> SliceOperator<E> for Array<E>
impl<E: CubePrimitive> SliceOperator<E> for Array<E>
type Expand = ExpandElementTyped<Array<E>>
source§fn slice<Start: Index, End: Index>(
&self,
start: Start,
end: End,
) -> &Slice<'_, E>
fn slice<Start: Index, End: Index>( &self, start: Start, end: End, ) -> &Slice<'_, E>
Return a read-only view of all elements comprise between the start and end index.
source§fn __expand_slice<Start: Index, End: Index>(
context: &mut CubeContext,
expand: Self::Expand,
start: Start,
end: End,
) -> ExpandElementTyped<Slice<'static, E>>
fn __expand_slice<Start: Index, End: Index>( context: &mut CubeContext, expand: Self::Expand, start: Start, end: End, ) -> ExpandElementTyped<Slice<'static, E>>
Expand function of SliceOperator::slice.
source§fn slice_mut<Start: Index, End: Index>(
&mut self,
start: Start,
end: End,
) -> &mut SliceMut<'_, E>
fn slice_mut<Start: Index, End: Index>( &mut self, start: Start, end: End, ) -> &mut SliceMut<'_, E>
Return a read-write view of all elements comprise between the start and end index.
source§fn __expand_slice_mut<Start: Index, End: Index>(
context: &mut CubeContext,
expand: Self::Expand,
start: Start,
end: End,
) -> ExpandElementTyped<SliceMut<'static, E>>
fn __expand_slice_mut<Start: Index, End: Index>( context: &mut CubeContext, expand: Self::Expand, start: Start, end: End, ) -> ExpandElementTyped<SliceMut<'static, E>>
Expand function of SliceOperator::slice_mut.
source§fn slice_mut_unsafe<Start: Index, End: Index>(
&self,
start: Start,
end: End,
) -> &mut SliceMut<'_, E>
fn slice_mut_unsafe<Start: Index, End: Index>( &self, start: Start, end: End, ) -> &mut SliceMut<'_, E>
Return a read-write view of all elements comprise between the start and end index. Read more
source§fn __expand_slice_mut_unsafe<Start: Index, End: Index>(
context: &mut CubeContext,
expand: Self::Expand,
start: Start,
end: End,
) -> ExpandElementTyped<SliceMut<'static, E>>
fn __expand_slice_mut_unsafe<Start: Index, End: Index>( context: &mut CubeContext, expand: Self::Expand, start: Start, end: End, ) -> ExpandElementTyped<SliceMut<'static, E>>
Expand function of SliceOperator::slice_mut_unsafe.
source§fn __expand_as_slice(
context: &mut CubeContext,
expand: Self::Expand,
) -> ExpandElementTyped<Slice<'static, E>>
fn __expand_as_slice( context: &mut CubeContext, expand: Self::Expand, ) -> ExpandElementTyped<Slice<'static, E>>
Expand function of SliceOperator::as_slice.
source§fn as_slice_mut(&mut self) -> &mut SliceMut<'_, E>
fn as_slice_mut(&mut self) -> &mut SliceMut<'_, E>
Reinterprete the current type as a read-write slice.
source§fn __expand_as_slice_mut(
context: &mut CubeContext,
expand: Self::Expand,
) -> ExpandElementTyped<SliceMut<'static, E>>
fn __expand_as_slice_mut( context: &mut CubeContext, expand: Self::Expand, ) -> ExpandElementTyped<SliceMut<'static, E>>
Expand function of SliceOperator::as_slice_mut.
source§fn as_slice_mut_unsafe(&self) -> &mut SliceMut<'_, E>
fn as_slice_mut_unsafe(&self) -> &mut SliceMut<'_, E>
Reinterprete the current type as a read-write slice. Read more
source§fn __expand_as_slice_mut_unsafe(
context: &mut CubeContext,
expand: Self::Expand,
) -> ExpandElementTyped<SliceMut<'static, E>>
fn __expand_as_slice_mut_unsafe( context: &mut CubeContext, expand: Self::Expand, ) -> ExpandElementTyped<SliceMut<'static, E>>
Expand function of SliceOperator::as_slice_mut_unsafe.
Auto Trait Implementations§
impl<E> Freeze for Array<E>
impl<E> RefUnwindSafe for Array<E>where
E: RefUnwindSafe,
impl<E> Send for Array<E>where
E: Send,
impl<E> Sync for Array<E>where
E: Sync,
impl<E> Unpin for Array<E>where
E: Unpin,
impl<E> UnwindSafe for Array<E>where
E: UnwindSafe,
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