pub enum WmmaInstruction<D: Dialect> {
Fill {
frag: Variable<D>,
value: Variable<D>,
},
Load {
frag: Variable<D>,
value: Variable<D>,
stride: Variable<D>,
layout: Option<FragmentLayout<D>>,
},
Execute {
frag_a: Variable<D>,
frag_b: Variable<D>,
frag_c: Variable<D>,
frag_d: Variable<D>,
warp_size: u32,
},
Store {
output: Variable<D>,
frag: Variable<D>,
stride: Variable<D>,
layout: FragmentLayout<D>,
},
Cast {
input: Variable<D>,
output: Variable<D>,
},
}
Expand description
Warp Matrix-Multiply and Accumulate Instruction.
Variants§
Fill
Fill the fragment with the value.
Load
Load the value into the fragment given the stride.
Execute
Executes D=A*B+C;
For implementing a matmul, D=C
: C+=A*B
Fields
Store
Store the fragment in an output variable following the stride and the layout.
Cast
Cast
Trait Implementations§
Source§impl<D: Clone + Dialect> Clone for WmmaInstruction<D>
impl<D: Clone + Dialect> Clone for WmmaInstruction<D>
Source§fn clone(&self) -> WmmaInstruction<D>
fn clone(&self) -> WmmaInstruction<D>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<D: Dialect> Display for WmmaInstruction<D>
impl<D: Dialect> Display for WmmaInstruction<D>
impl<D: Copy + Dialect> Copy for WmmaInstruction<D>
Auto Trait Implementations§
impl<D> Freeze for WmmaInstruction<D>
impl<D> RefUnwindSafe for WmmaInstruction<D>where
D: RefUnwindSafe,
impl<D> Send for WmmaInstruction<D>
impl<D> Sync for WmmaInstruction<D>
impl<D> Unpin for WmmaInstruction<D>where
D: Unpin,
impl<D> UnwindSafe for WmmaInstruction<D>where
D: 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