PhysicalGpu

Struct PhysicalGpu 

Source
pub struct PhysicalGpu(/* private fields */);

Implementations§

Source§

impl PhysicalGpu

Source

pub fn handle(&self) -> &NvPhysicalGpuHandle

Source

pub fn enumerate() -> Result<Vec<PhysicalGpu>, Status>

Source

pub fn tachometer(&self) -> Result<u32, Status>

Source

pub fn short_name(&self) -> Result<String, Status>

Source

pub fn full_name(&self) -> Result<String, Status>

Source

pub fn vbios_version_string(&self) -> Result<String, Status>

Source

pub fn driver_model(&self) -> Result<DriverModel, Status>

Source

pub fn gpu_id(&self) -> Result<u32, Status>

Source

pub fn pci_identifiers(&self) -> Result<PciIdentifiers, Status>

Source

pub fn board_number(&self) -> Result<[u8; 16], Status>

Source

pub fn system_type(&self) -> Result<SystemType, Status>

Source

pub fn core_count(&self) -> Result<u32, Status>

Source

pub fn shader_pipe_count(&self) -> Result<u32, Status>

Source

pub fn shader_sub_pipe_count(&self) -> Result<u32, Status>

Source

pub fn ram_type(&self) -> Result<RamType, Status>

Source

pub fn ram_maker(&self) -> Result<RamMaker, Status>

Source

pub fn ram_bus_width(&self) -> Result<u32, Status>

Source

pub fn ram_bank_count(&self) -> Result<u32, Status>

Source

pub fn ram_partition_count(&self) -> Result<u32, Status>

Source

pub fn foundry(&self) -> Result<Foundry, Status>

Source

pub fn memory_info(&self) -> Result<MemoryInfo, Status>

Source

pub fn clock_frequencies( &self, clock_type: ClockFrequencyType, ) -> Result<<NV_GPU_CLOCK_FREQUENCIES_V1 as RawConversion>::Target, Status>

Source

pub fn current_pstate(&self) -> Result<PstateId, Status>

Source

pub fn pstates( &self, ) -> Result<<NV_GPU_PERF_PSTATES20_INFO_V2 as RawConversion>::Target, Status>

Source

pub fn set_pstates<I>(&self, deltas: I) -> Result<(), Status>

Source

pub fn dynamic_pstates_info( &self, ) -> Result<<NV_GPU_DYNAMIC_PSTATES_INFO_EX as RawConversion>::Target, Status>

Source

pub fn usages( &self, ) -> Result<<NV_USAGES_INFO_V1 as RawConversion>::Target, Status>

Private and deprecated, use dynamic_pstates_info() instead.

Source

pub fn vfp_mask( &self, ) -> Result<<NV_CLOCK_MASKS_V1 as RawConversion>::Target, Status>

Source

pub fn vfp_table( &self, mask: [u32; 4], ) -> Result<<NV_CLOCK_TABLE_V1 as RawConversion>::Target, Status>

Source

pub fn set_vfp_table<I, M>( &self, mask: [u32; 4], clocks: I, memory: M, ) -> Result<(), Status>
where I: Iterator<Item = (usize, Kilohertz2Delta)>, M: Iterator<Item = (usize, Kilohertz2Delta)>,

Source

pub fn vfp_ranges( &self, ) -> Result<<NV_CLOCK_RANGES_V1 as RawConversion>::Target, Status>

Source

pub fn vfp_locks( &self, ) -> Result<<NV_CLOCK_LOCK_V2 as RawConversion>::Target, Status>

Source

pub fn set_vfp_locks<I>(&self, values: I) -> Result<(), Status>
where I: Iterator<Item = (usize, Option<Microvolts>)>,

Source

pub fn vfp_curve( &self, mask: [u32; 4], ) -> Result<<NV_VFP_CURVE_V1 as RawConversion>::Target, Status>

Source

pub fn core_voltage( &self, ) -> Result<<NV_VOLTAGE_STATUS_V1 as RawConversion>::Target, Status>

Source

pub fn core_voltage_boost( &self, ) -> Result<<NV_VOLTAGE_BOOST_PERCENT_V1 as RawConversion>::Target, Status>

Source

pub fn set_core_voltage_boost(&self, value: Percentage) -> Result<(), Status>

Source

pub fn power_usage( &self, ) -> Result<<NV_GPU_POWER_TOPO_V1 as RawConversion>::Target, Status>

Source

pub fn power_limit_info( &self, ) -> Result<<NV_GPU_POWER_INFO_V1 as RawConversion>::Target, Status>

Source

pub fn power_limit( &self, ) -> Result<<NV_GPU_POWER_STATUS_V1 as RawConversion>::Target, Status>

Source

pub fn set_power_limit<I>(&self, values: I) -> Result<(), Status>
where I: Iterator<Item = Percentage1000>,

Source

pub fn thermal_settings( &self, index: Option<u32>, ) -> Result<<NV_GPU_THERMAL_SETTINGS_V1 as RawConversion>::Target, Status>

Source

pub fn thermal_limit_info( &self, ) -> Result<<NV_GPU_THERMAL_INFO_V2 as RawConversion>::Target, Status>

Source

pub fn thermal_limit( &self, ) -> Result<<NV_GPU_THERMAL_LIMIT_V2 as RawConversion>::Target, Status>

Source

pub fn set_thermal_limit<I>(&self, value: I) -> Result<(), Status>
where I: Iterator<Item = ThermalLimit>,

Source

pub fn cooler_settings( &self, index: Option<u32>, ) -> Result<<NV_GPU_COOLER_SETTINGS_V1 as RawConversion>::Target, Status>

Source

pub fn set_cooler_levels<I>( &self, index: Option<u32>, values: I, ) -> Result<(), Status>
where I: Iterator<Item = CoolerLevel>,

Source

pub fn restore_cooler_settings(&self, index: &[u32]) -> Result<(), Status>

Source

pub fn cooler_policy_table( &self, index: u32, policy: CoolerPolicy, ) -> Result<<NV_GPU_COOLER_POLICY_TABLE_V1 as RawConversion>::Target, Status>

Source

pub fn set_cooler_policy_table( &self, index: u32, value: &<NV_GPU_COOLER_POLICY_TABLE_V1 as RawConversion>::Target, ) -> Result<(), Status>

Source

pub fn restore_cooler_policy_table( &self, index: &[u32], policy: CoolerPolicy, ) -> Result<(), Status>

Source

pub fn perf_info( &self, ) -> Result<<NV_GPU_PERF_INFO_V1 as RawConversion>::Target, Status>

Source

pub fn perf_status( &self, ) -> Result<<NV_GPU_PERF_STATUS_V1 as RawConversion>::Target, Status>

Source

pub fn voltage_domains_status( &self, ) -> Result<<NV_VOLT_STATUS_V1 as RawConversion>::Target, Status>

Source

pub fn voltage_step( &self, ) -> Result<<NV_VOLT_STATUS_V1 as RawConversion>::Target, Status>

Source

pub fn voltage_table( &self, ) -> Result<<NV_VOLT_TABLE_V1 as RawConversion>::Target, Status>

Source

pub fn performance_decrease(&self) -> Result<PerformanceDecreaseReason, Status>

Source

pub fn display_ids_all( &self, ) -> Result<Vec<<NV_GPU_DISPLAYIDS as RawConversion>::Target>, Status>

Source

pub fn display_ids_connected( &self, flags: ConnectedIdsFlags, ) -> Result<Vec<<NV_GPU_DISPLAYIDS as RawConversion>::Target>, Status>

Source

pub fn i2c_read( &self, display_mask: u32, port: Option<u8>, port_is_ddc: bool, address: u8, register: &[u8], bytes: &mut [u8], speed: I2cSpeed, ) -> Result<usize, Status>

Source

pub fn i2c_write( &self, display_mask: u32, port: Option<u8>, port_is_ddc: bool, address: u8, register: &[u8], bytes: &[u8], speed: I2cSpeed, ) -> Result<(), Status>

Trait Implementations§

Source§

impl Debug for PhysicalGpu

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Send for PhysicalGpu

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.