Struct cubecl_core::frontend::Tensor
source · pub struct Tensor<T: CubeType> { /* private fields */ }
Expand description
The tensor type is similar to the array type, however it comes with more metadata such as stride and shape.
Implementations§
Trait Implementations§
source§impl<T: CubeType> CubeType for Tensor<T>
impl<T: CubeType> CubeType for Tensor<T>
type ExpandType = ExpandElementTyped<Tensor<T>>
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 Tensor<C>
impl<C: CubeType> ExpandElementBaseInit for Tensor<C>
fn init_elem(_context: &mut CubeContext, elem: ExpandElement) -> ExpandElement
source§impl<C: CubePrimitive> LaunchArg for Tensor<C>
impl<C: CubePrimitive> LaunchArg for Tensor<C>
§type RuntimeArg<'a, R: Runtime> = TensorArg<'a, R>
type RuntimeArg<'a, R: Runtime> = TensorArg<'a, R>
The runtime argument for the kernel.
source§impl<C: CubePrimitive> LaunchArgExpand for Tensor<C>
impl<C: CubePrimitive> LaunchArgExpand for Tensor<C>
source§fn expand(
builder: &mut KernelBuilder,
vectorization: Vectorization,
) -> ExpandElementTyped<Tensor<C>>
fn expand( builder: &mut KernelBuilder, vectorization: Vectorization, ) -> ExpandElementTyped<Tensor<C>>
Register an input variable during compilation that fill the KernelBuilder.
source§fn expand_output(
builder: &mut KernelBuilder,
vectorization: Vectorization,
) -> ExpandElementTyped<Tensor<C>>
fn expand_output( builder: &mut KernelBuilder, vectorization: Vectorization, ) -> ExpandElementTyped<Tensor<C>>
Register an output variable during compilation that fill the KernelBuilder.
source§impl<E: CubePrimitive> SliceOperator<E> for Tensor<E>
impl<E: CubePrimitive> SliceOperator<E> for Tensor<E>
type Expand = ExpandElementTyped<Tensor<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.
source§impl<T: Vectorized + CubeType> Vectorized for &Tensor<T>
impl<T: Vectorized + CubeType> Vectorized for &Tensor<T>
source§impl<T: Vectorized + CubeType> Vectorized for &mut Tensor<T>
impl<T: Vectorized + CubeType> Vectorized for &mut Tensor<T>
source§impl<T: Vectorized + CubeType> Vectorized for Tensor<T>
impl<T: Vectorized + CubeType> Vectorized for Tensor<T>
Auto Trait Implementations§
impl<T> Freeze for Tensor<T>
impl<T> RefUnwindSafe for Tensor<T>where
T: RefUnwindSafe,
impl<T> Send for Tensor<T>where
T: Send,
impl<T> Sync for Tensor<T>where
T: Sync,
impl<T> Unpin for Tensor<T>where
T: Unpin,
impl<T> UnwindSafe for Tensor<T>where
T: 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