Skip to main content

Gpu

Struct Gpu 

Source
pub struct Gpu { /* private fields */ }
Expand description

Type containing GPU information.

It is returned by Gpus.

use sysinfo::Gpus;

if let Ok(gpus) = Gpus::new_with_refreshed_list() {
    for gpu in &gpus {
        println!("{gpu:?}");
    }
}

Implementations§

Source§

impl Gpu

Source

pub fn pci(&self) -> &PCI

Returns the PCI of this GPU. Can be used as ID as it’s unique to this GPU.

Returns an invalid PCI Address, ffffffff:ff:ff.255, for Apple M Series GPUs.

Source

pub fn vendor(&self) -> Option<&str>

Returns the name of the vendor of this GPU. Returns None if the information cannot be retrieved.

Source

pub fn model(&self) -> Option<&str>

Returns the model of this GPU. Returns None if the information cannot be retrieved.

Source

pub fn usage(&self) -> Option<f32>

Returns the % usage of this GPU.

On Linux, it’s generally very tricky to get this information, as such, only some GPUs like NVIDIA’s or AMD’s provide this information.

On macOS, the information should always be available.

On Windows, the first time you query this information, it’ll return None as it is time-diff based.

Source

pub fn total_memory(&self) -> Option<u64>

Returns the total VRAM of this GPU in bytes.

⚠️ It does not take into account the GPU memory that is shared with the system’s RAM.

On macOS, GPUs share memory with the system, it always returns None.

Returns None if the information cannot be retrieved.

Source

pub fn used_memory(&self) -> Option<u64>

Returns the used VRAM of this GPU in bytes.

⚠️ It does not take into account the GPU memory that is shared with the system’s RAM.

On macOS, GPUs share memory with the system, it always returns None.

Returns None if the information cannot be retrieved.

Trait Implementations§

Source§

impl Debug for Gpu

Available on crate feature gpu only.
Source§

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

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

impl Eq for Gpu

Source§

impl Ord for Gpu

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl PartialEq for Gpu

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for Gpu

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations§

§

impl Freeze for Gpu

§

impl RefUnwindSafe for Gpu

§

impl Send for Gpu

§

impl Sync for Gpu

§

impl Unpin for Gpu

§

impl UnsafeUnpin for Gpu

§

impl UnwindSafe for Gpu

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.