pub struct HardwareCapabilities {
pub simd_instructions: Vec<SimdInstructionSet>,
pub vector_width: usize,
pub simd_units: usize,
pub cache_info: CacheHierarchy,
pub memory_bandwidth: f64,
pub cpu_architecture: CpuArchitecture,
pub gpu_available: bool,
pub gpu_capabilities: Option<GpuCapabilities>,
}Expand description
Hardware capability detection results
Fields§
§simd_instructions: Vec<SimdInstructionSet>Available SIMD instruction sets
vector_width: usizeVector register width
simd_units: usizeNumber of SIMD execution units
cache_info: CacheHierarchyCache hierarchy information
memory_bandwidth: f64Memory bandwidth (GB/s)
cpu_architecture: CpuArchitectureCPU architecture
gpu_available: boolGPU availability
gpu_capabilities: Option<GpuCapabilities>GPU compute capabilities
Trait Implementations§
Source§impl Clone for HardwareCapabilities
impl Clone for HardwareCapabilities
Source§fn clone(&self) -> HardwareCapabilities
fn clone(&self) -> HardwareCapabilities
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 HardwareCapabilities
impl Debug for HardwareCapabilities
Source§impl<'de> Deserialize<'de> for HardwareCapabilities
impl<'de> Deserialize<'de> for HardwareCapabilities
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for HardwareCapabilities
impl RefUnwindSafe for HardwareCapabilities
impl Send for HardwareCapabilities
impl Sync for HardwareCapabilities
impl Unpin for HardwareCapabilities
impl UnwindSafe for HardwareCapabilities
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.