pub struct PrecisionCapabilities {
pub supported: Vec<Precision>,
pub native: Precision,
pub int4_tensor_cores: bool,
pub int8_tensor_cores: bool,
pub vram_mb: u64,
pub compute_capability: Option<(u32, u32)>,
}Expand description
Hardware precision capabilities
Fields§
§supported: Vec<Precision>Supported precisions (ordered by preference)
native: PrecisionNative (fastest) precision
int4_tensor_cores: boolWhether INT4 uses tensor cores
int8_tensor_cores: boolWhether INT8 uses tensor cores
vram_mb: u64Available VRAM in MB
compute_capability: Option<(u32, u32)>Compute capability (for NVIDIA GPUs)
Implementations§
Source§impl PrecisionCapabilities
impl PrecisionCapabilities
Sourcepub fn modern_gpu(vram_mb: u64) -> Self
pub fn modern_gpu(vram_mb: u64) -> Self
Create capabilities for a modern GPU (RTX 30/40 series)
Sourcepub fn legacy_gpu(vram_mb: u64) -> Self
pub fn legacy_gpu(vram_mb: u64) -> Self
Create capabilities for an older GPU (GTX 10 series)
Sourcepub fn best_supported(&self, max_precision: Precision) -> Precision
pub fn best_supported(&self, max_precision: Precision) -> Precision
Get the best supported precision at or below the given level
Sourcepub fn estimate_vram(&self, model_params: u64, precision: Precision) -> u64
pub fn estimate_vram(&self, model_params: u64, precision: Precision) -> u64
Estimate VRAM usage for a model at given precision
Sourcepub fn fits_model(&self, model_params: u64, precision: Precision) -> bool
pub fn fits_model(&self, model_params: u64, precision: Precision) -> bool
Check if a model fits at given precision
Trait Implementations§
Source§impl Clone for PrecisionCapabilities
impl Clone for PrecisionCapabilities
Source§fn clone(&self) -> PrecisionCapabilities
fn clone(&self) -> PrecisionCapabilities
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 PrecisionCapabilities
impl Debug for PrecisionCapabilities
Source§impl Default for PrecisionCapabilities
impl Default for PrecisionCapabilities
Source§impl<'de> Deserialize<'de> for PrecisionCapabilities
impl<'de> Deserialize<'de> for PrecisionCapabilities
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 PrecisionCapabilities
impl RefUnwindSafe for PrecisionCapabilities
impl Send for PrecisionCapabilities
impl Sync for PrecisionCapabilities
impl Unpin for PrecisionCapabilities
impl UnwindSafe for PrecisionCapabilities
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