pub struct Features {
pub plane: EnumSet<Plane>,
pub cube_cluster: bool,
pub dynamic_line_size: bool,
pub storage_types: BTreeMap<StorageType, EnumSet<TypeUsage>>,
pub semantic_types: BTreeSet<SemanticType>,
pub tma: EnumSet<Tma>,
pub cmma: BTreeSet<MmaConfig>,
pub mma: BTreeSet<MmaConfig>,
pub scaled_mma: BTreeSet<ScaledMmaConfig>,
}Expand description
Features supported by a runtime
Fields§
§plane: EnumSet<Plane>Plane features supported by this runtime.
cube_cluster: boolClustered launches and intra-cluster operations like cluster shared memory
dynamic_line_size: boolEnables to change the line size of containers during kernel execution.
storage_types: BTreeMap<StorageType, EnumSet<TypeUsage>>Types supported by this runtime, and which usages they support.
semantic_types: BTreeSet<SemanticType>Semantic constructs supported by this runtime.
tma: EnumSet<Tma>Tensor Memory Accelerator supported features
cmma: BTreeSet<MmaConfig>The cmma feature enables cooperative matrix-multiply and accumulate operations.
mma: BTreeSet<MmaConfig>The manual MMA feature enables cooperative matrix-multiply with manually managed data movement
scaled_mma: BTreeSet<ScaledMmaConfig>Scaled MMA allows combining matrix multiplication with unscaling quantized values into a single instruction. Scales must fit a specific layout and block size.
Implementations§
Source§impl Features
impl Features
Sourcepub fn type_usage(&self, ty: StorageType) -> EnumSet<TypeUsage>
pub fn type_usage(&self, ty: StorageType) -> EnumSet<TypeUsage>
Get the usages for a type
Sourcepub fn supports_type(&self, ty: impl Into<Type>) -> bool
pub fn supports_type(&self, ty: impl Into<Type>) -> bool
Whether the type is supported in any way
Trait Implementations§
impl Eq for Features
impl StructuralPartialEq for Features
Auto Trait Implementations§
impl Freeze for Features
impl RefUnwindSafe for Features
impl Send for Features
impl Sync for Features
impl Unpin for Features
impl UnwindSafe for Features
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.