pub struct PlatformCapabilities {
pub cpu: CpuCapabilities,
pub gpu: GpuCapabilities,
pub memory: MemoryCapabilities,
pub platform_type: PlatformType,
pub os: OperatingSystem,
pub architecture: Architecture,
}Expand description
Comprehensive platform capabilities
Fields§
§cpu: CpuCapabilitiesCPU capabilities
gpu: GpuCapabilitiesGPU capabilities
memory: MemoryCapabilitiesMemory capabilities
platform_type: PlatformTypePlatform type
os: OperatingSystemOperating system
architecture: ArchitectureArchitecture
Implementations§
Source§impl PlatformCapabilities
impl PlatformCapabilities
Sourcepub fn detect() -> Self
pub fn detect() -> Self
Detect platform capabilities
This is the main entry point for platform detection as required by SciRS2 policy. All modules should use this instead of direct platform detection.
Sourcepub fn simd_available(&self) -> bool
pub fn simd_available(&self) -> bool
Check if SIMD is available (compatibility method)
Sourcepub fn gpu_available(&self) -> bool
pub fn gpu_available(&self) -> bool
Check if GPU is available (compatibility method)
Sourcepub fn optimal_simd_width_f64(&self) -> usize
pub fn optimal_simd_width_f64(&self) -> usize
Get the optimal SIMD width for f64 operations
Sourcepub fn primary_gpu(&self) -> Option<&GpuDevice>
pub fn primary_gpu(&self) -> Option<&GpuDevice>
Get the primary GPU device
Sourcepub fn is_suitable_for_large_quantum_sim(&self) -> bool
pub fn is_suitable_for_large_quantum_sim(&self) -> bool
Check if the platform is suitable for large-scale quantum simulation
Trait Implementations§
Source§impl Clone for PlatformCapabilities
impl Clone for PlatformCapabilities
Source§fn clone(&self) -> PlatformCapabilities
fn clone(&self) -> PlatformCapabilities
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 PlatformCapabilities
impl Debug for PlatformCapabilities
Source§impl<'de> Deserialize<'de> for PlatformCapabilities
impl<'de> Deserialize<'de> for PlatformCapabilities
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 PlatformCapabilities
impl RefUnwindSafe for PlatformCapabilities
impl Send for PlatformCapabilities
impl Sync for PlatformCapabilities
impl Unpin for PlatformCapabilities
impl UnwindSafe for PlatformCapabilities
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<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
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.