Struct nvml_wrapper::bitmasks::device::ThrottleReasons
source · pub struct ThrottleReasons(/* private fields */);
Expand description
Flags used to specify why a GPU is throttling.
Implementations§
source§impl ThrottleReasons
impl ThrottleReasons
sourcepub const GPU_IDLE: Self = _
pub const GPU_IDLE: Self = _
Nothing is running on the GPU.
This limiter may be removed in a future release.
sourcepub const APPLICATIONS_CLOCKS_SETTING: Self = _
pub const APPLICATIONS_CLOCKS_SETTING: Self = _
GPU clocks are limited by the current applications clocks setting.
pub const USER_DEFINED_CLOCKS: Self = _
APPLICATIONS_CLOCKS_SETTING
.sourcepub const SW_POWER_CAP: Self = _
pub const SW_POWER_CAP: Self = _
Software power scaling algorithm is reducing clocks.
sourcepub const HW_SLOWDOWN: Self = _
pub const HW_SLOWDOWN: Self = _
Hardware slowdown (reducing the core clocks by a factor of 2 or more) is engaged.
This is an indicator of:
- Temperature being too high
- External Power Brake Asseration being triggered (e.g. by the system power supply)
- Power draw being too high and Fast Trigger protection reducing the clocks
This may also be reported during powerstate or clock change, behavior that may be removed in a later release.
sourcepub const SYNC_BOOST: Self = _
pub const SYNC_BOOST: Self = _
This GPU is being throttled by another GPU in its sync boost group.
Sync boost groups can be used to maximize performance per watt. All GPUs in a sync boost group will boost to the minimum possible clocks across the entire group. Look at the throttle reasons for other GPUs in the system to find out why this GPU is being held at lower clocks.
sourcepub const SW_THERMAL_SLOWDOWN: Self = _
pub const SW_THERMAL_SLOWDOWN: Self = _
Software thermal slowdown.
This is an indicator of one or more of the following:
- The current GPU temperature is above the max GPU operating temperature
- The current memory temperature is above the max memory operating temperature
sourcepub const HW_THERMAL_SLOWDOWN: Self = _
pub const HW_THERMAL_SLOWDOWN: Self = _
Hardware thermal slowdown is engaged, reducing core clocks by 2x or more.
This indicates that the temperature of the GPU is too high.
sourcepub const HW_POWER_BRAKE_SLOWDOWN: Self = _
pub const HW_POWER_BRAKE_SLOWDOWN: Self = _
Hardware power brake slowdown is engaged, reducing core clocks by 2x or more.
This indicates that an external power brake assertion is being triggered, such as by the system power supply.
sourcepub const DISPLAY_CLOCK_SETTING: Self = _
pub const DISPLAY_CLOCK_SETTING: Self = _
GPU clocks are limited by the current setting of display clocks.
source§impl ThrottleReasons
impl ThrottleReasons
sourcepub const fn bits(&self) -> u64
pub const fn bits(&self) -> u64
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
sourcepub const fn from_bits(bits: u64) -> Option<Self>
pub const fn from_bits(bits: u64) -> Option<Self>
Convert from a bits value.
This method will return None
if any unknown bits are set.
sourcepub const fn from_bits_truncate(bits: u64) -> Self
pub const fn from_bits_truncate(bits: u64) -> Self
Convert from a bits value, unsetting any unknown bits.
sourcepub const fn from_bits_retain(bits: u64) -> Self
pub const fn from_bits_retain(bits: u64) -> Self
Convert from a bits value exactly.
sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get a flags value with the bits of a flag with the given name set.
This method will return None
if name
is empty or doesn’t
correspond to any named flag.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
remove
won’t truncate other
, but the !
operator will.
sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert
when value
is true
or remove
when value
is false
.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&
) of the bits in two flags values.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|
) of the bits in two flags values.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!
) of the bits in a flags value, truncating the result.
source§impl ThrottleReasons
impl ThrottleReasons
sourcepub const fn iter(&self) -> Iter<ThrottleReasons>
pub const fn iter(&self) -> Iter<ThrottleReasons>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
sourcepub const fn iter_names(&self) -> IterNames<ThrottleReasons>
pub const fn iter_names(&self) -> IterNames<ThrottleReasons>
Yield a set of contained named flags values.
This method is like iter
, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
source§impl Binary for ThrottleReasons
impl Binary for ThrottleReasons
source§impl BitAnd for ThrottleReasons
impl BitAnd for ThrottleReasons
source§impl BitAndAssign for ThrottleReasons
impl BitAndAssign for ThrottleReasons
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&
) of the bits in two flags values.
source§impl BitOr for ThrottleReasons
impl BitOr for ThrottleReasons
source§fn bitor(self, other: ThrottleReasons) -> Self
fn bitor(self, other: ThrottleReasons) -> Self
The bitwise or (|
) of the bits in two flags values.
§type Output = ThrottleReasons
type Output = ThrottleReasons
|
operator.source§impl BitOrAssign for ThrottleReasons
impl BitOrAssign for ThrottleReasons
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|
) of the bits in two flags values.
source§impl BitXor for ThrottleReasons
impl BitXor for ThrottleReasons
source§impl BitXorAssign for ThrottleReasons
impl BitXorAssign for ThrottleReasons
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
source§impl Clone for ThrottleReasons
impl Clone for ThrottleReasons
source§fn clone(&self) -> ThrottleReasons
fn clone(&self) -> ThrottleReasons
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ThrottleReasons
impl Debug for ThrottleReasons
source§impl Extend<ThrottleReasons> for ThrottleReasons
impl Extend<ThrottleReasons> for ThrottleReasons
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|
) of the bits in each flags value.
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl Flags for ThrottleReasons
impl Flags for ThrottleReasons
source§const FLAGS: &'static [Flag<ThrottleReasons>] = _
const FLAGS: &'static [Flag<ThrottleReasons>] = _
source§fn from_bits_retain(bits: u64) -> ThrottleReasons
fn from_bits_retain(bits: u64) -> ThrottleReasons
source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|
) of the bits in two flags values.source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!
). Read moresource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^
) of the bits in two flags values.source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&
) of the bits in two flags values.source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!
). Read moresource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^
) of the bits in two flags values.source§fn complement(self) -> Self
fn complement(self) -> Self
!
) of the bits in a flags value, truncating the result.source§impl FromIterator<ThrottleReasons> for ThrottleReasons
impl FromIterator<ThrottleReasons> for ThrottleReasons
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|
) of the bits in each flags value.
source§impl Hash for ThrottleReasons
impl Hash for ThrottleReasons
source§impl IntoIterator for ThrottleReasons
impl IntoIterator for ThrottleReasons
source§impl LowerHex for ThrottleReasons
impl LowerHex for ThrottleReasons
source§impl Not for ThrottleReasons
impl Not for ThrottleReasons
source§impl Octal for ThrottleReasons
impl Octal for ThrottleReasons
source§impl PartialEq for ThrottleReasons
impl PartialEq for ThrottleReasons
source§fn eq(&self, other: &ThrottleReasons) -> bool
fn eq(&self, other: &ThrottleReasons) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PublicFlags for ThrottleReasons
impl PublicFlags for ThrottleReasons
source§impl Sub for ThrottleReasons
impl Sub for ThrottleReasons
source§fn sub(self, other: Self) -> Self
fn sub(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
§type Output = ThrottleReasons
type Output = ThrottleReasons
-
operator.source§impl SubAssign for ThrottleReasons
impl SubAssign for ThrottleReasons
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.