pub struct ScaledMmaConfig {
pub a_type: StorageType,
pub b_type: StorageType,
pub cd_type: StorageType,
pub scales_type: StorageType,
pub m: u32,
pub n: u32,
pub k: u32,
pub scales_factor: u32,
}Expand description
Shape and element types of a valid block-scaled MMA configuration
Fields§
§a_type: StorageTypeElement of the A matrix
b_type: StorageTypeElement of the B matrix
cd_type: StorageTypeElement of the C/D matrices
scales_type: StorageTypeElement of the blocks scales
m: u32The size of the matrix on the m dimension
n: u32The size of the matrix on the n dimension
k: u32The size of the matrix on the k dimension
scales_factor: u32Number of scales per tile row/col.
A scale factor of 2 means m x 2 scales for A and 2 x n for B (in CUDA)
Scales blocks must be organized along the natural vector_layout of the operation
Trait Implementations§
Source§impl Clone for ScaledMmaConfig
impl Clone for ScaledMmaConfig
Source§fn clone(&self) -> ScaledMmaConfig
fn clone(&self) -> ScaledMmaConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ScaledMmaConfig
impl Debug for ScaledMmaConfig
Source§impl<'de> Deserialize<'de> for ScaledMmaConfig
impl<'de> Deserialize<'de> for ScaledMmaConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ScaledMmaConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ScaledMmaConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for ScaledMmaConfig
impl Hash for ScaledMmaConfig
Source§impl Ord for ScaledMmaConfig
impl Ord for ScaledMmaConfig
Source§fn cmp(&self, other: &ScaledMmaConfig) -> Ordering
fn cmp(&self, other: &ScaledMmaConfig) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ScaledMmaConfig
impl PartialEq for ScaledMmaConfig
Source§fn eq(&self, other: &ScaledMmaConfig) -> bool
fn eq(&self, other: &ScaledMmaConfig) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialOrd for ScaledMmaConfig
impl PartialOrd for ScaledMmaConfig
Source§impl Serialize for ScaledMmaConfig
impl Serialize for ScaledMmaConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for ScaledMmaConfig
impl Eq for ScaledMmaConfig
impl StructuralPartialEq for ScaledMmaConfig
Auto Trait Implementations§
impl Freeze for ScaledMmaConfig
impl RefUnwindSafe for ScaledMmaConfig
impl Send for ScaledMmaConfig
impl Sync for ScaledMmaConfig
impl Unpin for ScaledMmaConfig
impl UnsafeUnpin for ScaledMmaConfig
impl UnwindSafe for ScaledMmaConfig
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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> CompilationArg for T
impl<T> CompilationArg for T
Source§fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
Compilation args should be the same even with different element types. However, it isn’t
possible to enforce it with the type system. So, we make the compilation args serializable
and dynamically cast them. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.