pub struct HardwareCapabilities {
pub cpu_cores: u16,
pub cpu_threads: u16,
pub memory_gb: u32,
pub gpu: Option<GpuInfo>,
pub additional_gpus: Vec<GpuInfo>,
pub storage_gb: u64,
pub network_gbps: u32,
pub accelerators: Vec<AcceleratorInfo>,
}Expand description
Hardware capabilities
Fields§
§cpu_cores: u16CPU cores
cpu_threads: u16CPU threads (if different from cores due to SMT)
memory_gb: u32Total memory in GB
gpu: Option<GpuInfo>GPU info (if present)
additional_gpus: Vec<GpuInfo>Additional GPUs (for multi-GPU setups)
storage_gb: u64Storage in GB
network_gbps: u32Network bandwidth in Gbps
accelerators: Vec<AcceleratorInfo>Accelerators (TPU, NPU, etc.)
Implementations§
Source§impl HardwareCapabilities
impl HardwareCapabilities
Sourcepub fn new() -> HardwareCapabilities
pub fn new() -> HardwareCapabilities
Create new hardware capabilities
Sourcepub fn with_cpu(self, cores: u16, threads: u16) -> HardwareCapabilities
pub fn with_cpu(self, cores: u16, threads: u16) -> HardwareCapabilities
Set CPU cores
Sourcepub fn with_memory(self, memory_gb: u32) -> HardwareCapabilities
pub fn with_memory(self, memory_gb: u32) -> HardwareCapabilities
Set memory
Sourcepub fn with_gpu(self, gpu: GpuInfo) -> HardwareCapabilities
pub fn with_gpu(self, gpu: GpuInfo) -> HardwareCapabilities
Set primary GPU
Sourcepub fn add_gpu(self, gpu: GpuInfo) -> HardwareCapabilities
pub fn add_gpu(self, gpu: GpuInfo) -> HardwareCapabilities
Add additional GPU
Sourcepub fn with_storage(self, storage_gb: u64) -> HardwareCapabilities
pub fn with_storage(self, storage_gb: u64) -> HardwareCapabilities
Set storage
Sourcepub fn with_network(self, network_gbps: u32) -> HardwareCapabilities
pub fn with_network(self, network_gbps: u32) -> HardwareCapabilities
Set network bandwidth
Sourcepub fn add_accelerator(self, accel: AcceleratorInfo) -> HardwareCapabilities
pub fn add_accelerator(self, accel: AcceleratorInfo) -> HardwareCapabilities
Add accelerator
Sourcepub fn total_vram_gb(&self) -> u32
pub fn total_vram_gb(&self) -> u32
Total VRAM across all GPUs
Sourcepub fn gpu_vendor(&self) -> Option<GpuVendor>
pub fn gpu_vendor(&self) -> Option<GpuVendor>
Get primary GPU vendor
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 (const: unstable) · 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 Default for HardwareCapabilities
impl Default for HardwareCapabilities
Source§fn default() -> HardwareCapabilities
fn default() -> HardwareCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for HardwareCapabilities
impl<'de> Deserialize<'de> for HardwareCapabilities
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<HardwareCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<HardwareCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for HardwareCapabilities
Source§impl From<&CapabilitySet> for HardwareCapabilities
impl From<&CapabilitySet> for HardwareCapabilities
Source§fn from(caps: &CapabilitySet) -> HardwareCapabilities
fn from(caps: &CapabilitySet) -> HardwareCapabilities
Converts to this type from the input type.
Source§impl PartialEq for HardwareCapabilities
impl PartialEq for HardwareCapabilities
Source§fn eq(&self, other: &HardwareCapabilities) -> bool
fn eq(&self, other: &HardwareCapabilities) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for HardwareCapabilities
impl Serialize for HardwareCapabilities
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for HardwareCapabilities
Auto Trait Implementations§
impl Freeze for HardwareCapabilities
impl RefUnwindSafe for HardwareCapabilities
impl Send for HardwareCapabilities
impl Sync for HardwareCapabilities
impl Unpin for HardwareCapabilities
impl UnsafeUnpin 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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.