pub struct Features {
pub plane: EnumSet<Plane>,
pub cube_cluster: bool,
pub memory_reinterpret: bool,
pub alignment: bool,
pub types: Types,
pub matmul: MatmulFeatures,
pub copy_async: bool,
pub tma: EnumSet<Tma>,
pub unaligned_io: bool,
}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
memory_reinterpret: boolEnables changing the type of containers during kernel execution.
alignment: boolEnables explicit alignment. If false, alignment still compiles, but isn’t actually applied.
types: TypesType support
matmul: MatmulFeaturesMatrix multiplication features
copy_async: boolWhether copy_async is supported
tma: EnumSet<Tma>Tensor Memory Accelerator supported features
unaligned_io: boolWhether vectors can be read from / stored to addresses not aligned
with the vector_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 atomic_type_usage(&self, ty: Type) -> EnumSet<AtomicUsage>
pub fn atomic_type_usage(&self, ty: Type) -> EnumSet<AtomicUsage>
Get the usages for an atomic 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
Sourcepub fn supports_address(&self, ty: impl Into<AddressType>) -> bool
pub fn supports_address(&self, ty: impl Into<AddressType>) -> bool
Whether the address 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 UnsafeUnpin 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
Mutably borrows from an owned value. Read more
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
Compare self to
key and return true if they are equal.