pub trait ViewOperationsMut<T: CubePrimitive, C: Coordinates>: ViewOperations<T, C> + CubeType<ExpandType: ViewOperationsMutExpand<T, C>> {
// Provided methods
fn write(&self, pos: C, value: T) { ... }
fn write_checked(&self, pos: C, value: T) { ... }
fn as_linear_slice_mut(&self, pos: C, size: C) -> &mut [T] { ... }
fn tensor_map_store(&self, shared_memory: &[T], pos: C) { ... }
fn __expand_write(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
value: <T as CubeType>::ExpandType,
) { ... }
fn __expand_write_checked(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
value: <T as CubeType>::ExpandType,
) { ... }
fn __expand_as_linear_slice_mut<'infer, 'scope>(
scope: &'scope Scope,
this: &'infer <Self as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
size: <C as CubeType>::ExpandType,
) -> &'infer mut <[T] as CubeType>::ExpandType ⓘ { ... }
fn __expand_tensor_map_store(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
shared_memory: &<[T] as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
) { ... }
}Expand description
Type for which we can read and write values in cube functions. For an immutable version, see List.
Provided Methods§
fn write(&self, pos: C, value: T)
fn write_checked(&self, pos: C, value: T)
Sourcefn as_linear_slice_mut(&self, pos: C, size: C) -> &mut [T]
fn as_linear_slice_mut(&self, pos: C, size: C) -> &mut [T]
Create a mutable slice starting from pos, with size.
The layout handles translation into concrete indices.
Sourcefn tensor_map_store(&self, shared_memory: &[T], pos: C)
fn tensor_map_store(&self, shared_memory: &[T], pos: C)
Execute a TMA store into global memory, if the underlying storage supports it. Panics if it’s unsupported.
fn __expand_write( scope: &Scope, this: &<Self as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, value: <T as CubeType>::ExpandType, )
fn __expand_write_checked( scope: &Scope, this: &<Self as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, value: <T as CubeType>::ExpandType, )
fn __expand_as_linear_slice_mut<'infer, 'scope>( scope: &'scope Scope, this: &'infer <Self as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, size: <C as CubeType>::ExpandType, ) -> &'infer mut <[T] as CubeType>::ExpandType ⓘ
fn __expand_tensor_map_store( scope: &Scope, this: &<Self as CubeType>::ExpandType, shared_memory: &<[T] as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".