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 more