pub enum CoopMma {
Fill {
mat: Variable,
value: Variable,
},
Load {
mat: Variable,
value: Variable,
stride: Variable,
layout: Option<MatrixLayout>,
},
Execute {
mat_a: Variable,
mat_b: Variable,
mat_c: Variable,
mat_d: Variable,
},
Store {
output: Variable,
mat: Variable,
stride: Variable,
layout: MatrixLayout,
},
}
Expand description
Cooperative Matrix-Multiply and Accumulate Instruction.
Variants§
Fill
Fill the matrix with the value.
Load
Load the value into the matrix given the stride.
Execute
Executes D=A*B+C;
For implementing a matmul, D=C
: C+=A*B
Store
Store the matrix in an output variable following the stride and the layout.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CoopMma
impl<'de> Deserialize<'de> for CoopMma
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for CoopMma
impl StructuralPartialEq for CoopMma
Auto Trait Implementations§
impl Freeze for CoopMma
impl RefUnwindSafe for CoopMma
impl Send for CoopMma
impl Sync for CoopMma
impl Unpin for CoopMma
impl UnwindSafe for CoopMma
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)