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 to_linear_slice_mut(&self, pos: C, size: C) -> Slice<T, ReadWrite> { ... }
fn tensor_map_store(&self, shared_memory: &Slice<T>, pos: C) { ... }
fn __expand_write(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
value: <T as CubeType>::ExpandType,
) -> <() as CubeType>::ExpandType { ... }
fn __expand_write_checked(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
value: <T as CubeType>::ExpandType,
) -> <() as CubeType>::ExpandType { ... }
fn __expand_to_linear_slice_mut(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
size: <C as CubeType>::ExpandType,
) -> <Slice<T, ReadWrite> as CubeType>::ExpandType { ... }
fn __expand_tensor_map_store(
scope: &mut Scope,
this: <Self as CubeType>::ExpandType,
shared_memory: <Slice<T> as CubeType>::ExpandType,
pos: <C as CubeType>::ExpandType,
) -> <() 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 to_linear_slice_mut(&self, pos: C, size: C) -> Slice<T, ReadWrite>
fn to_linear_slice_mut(&self, pos: C, size: C) -> Slice<T, ReadWrite>
Create a mutable slice starting from pos, with size.
The layout handles translation into concrete indices.
Sourcefn tensor_map_store(&self, shared_memory: &Slice<T>, pos: C)
fn tensor_map_store(&self, shared_memory: &Slice<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: &mut Scope, this: <Self as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, value: <T as CubeType>::ExpandType, ) -> <() as CubeType>::ExpandType
fn __expand_write_checked( scope: &mut Scope, this: <Self as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, value: <T as CubeType>::ExpandType, ) -> <() as CubeType>::ExpandType
fn __expand_to_linear_slice_mut( scope: &mut Scope, this: <Self as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, size: <C as CubeType>::ExpandType, ) -> <Slice<T, ReadWrite> as CubeType>::ExpandType
fn __expand_tensor_map_store( scope: &mut Scope, this: <Self as CubeType>::ExpandType, shared_memory: <Slice<T> as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, ) -> <() as CubeType>::ExpandType
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.