pub enum GemmLayout {
Nn,
Nt,
Tn,
Tt,
}Expand description
GEMM operand layout (BLAS transpose convention). The int8 tensor cores are fastest in Tn.
Variants§
Nn
A row-major, B row-major — the layout most callers hand you. Universal; tensor cores must rearrange.
Nt
A row-major, B col-major.
Tn
A col-major (= A^T), B row-major — the mma.sync.s8 NATIVE layout. Fastest on the tensor cores.
Tt
A col-major, B col-major.
Implementations§
Source§impl GemmLayout
impl GemmLayout
Sourcepub fn is_tensor_core_native(&self) -> bool
pub fn is_tensor_core_native(&self) -> bool
Whether this layout is the tensor cores’ native contraction-contiguous layout (zero rearrange cost).
Sourcepub fn all() -> [GemmLayout; 4]
pub fn all() -> [GemmLayout; 4]
All four layouts — the layout axis of the frontier.
Trait Implementations§
Source§impl Clone for GemmLayout
impl Clone for GemmLayout
Source§fn clone(&self) -> GemmLayout
fn clone(&self) -> GemmLayout
Returns a duplicate 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 Debug for GemmLayout
impl Debug for GemmLayout
Source§impl PartialEq for GemmLayout
impl PartialEq for GemmLayout
impl Copy for GemmLayout
impl Eq for GemmLayout
impl StructuralPartialEq for GemmLayout
Auto Trait Implementations§
impl Freeze for GemmLayout
impl RefUnwindSafe for GemmLayout
impl Send for GemmLayout
impl Sync for GemmLayout
impl Unpin for GemmLayout
impl UnsafeUnpin for GemmLayout
impl UnwindSafe for GemmLayout
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.