pub struct DeviceTelemetrySnapshot {
pub device_ordinal: usize,
pub cuda_status: DeviceTelemetryStatus,
pub cuda_free_bytes: Option<u64>,
pub nvml_status: DeviceTelemetryStatus,
pub nvml_used_bytes: Option<u64>,
pub gpu_utilization_pct: Option<u32>,
pub memory_utilization_pct: Option<u32>,
/* private fields */
}Expand description
Live CUDA and NVML telemetry for one device.
These values are diagnostics. Admission and memory accounting read the
device ledger, query-domain counters and pool statistics instead. Each
Option is None when its substrate produced no sample for this snapshot.
Fields§
§device_ordinal: usizeCUDA ordinal sampled by this diagnostic snapshot.
cuda_status: DeviceTelemetryStatusAvailability of the CUDA memory sample.
cuda_free_bytes: Option<u64>CUDA-visible free bytes, or None when the CUDA sample is unavailable.
nvml_status: DeviceTelemetryStatusAvailability of optional NVML telemetry, independent of CUDA availability.
nvml_used_bytes: Option<u64>NVML-used framebuffer bytes, or None when memory telemetry is unavailable.
gpu_utilization_pct: Option<u32>NVML GPU utilization percentage, or None when unavailable.
memory_utilization_pct: Option<u32>NVML memory-controller utilization percentage, or None when unavailable.
Trait Implementations§
Source§impl Clone for DeviceTelemetrySnapshot
impl Clone for DeviceTelemetrySnapshot
Source§impl Debug for DeviceTelemetrySnapshot
impl Debug for DeviceTelemetrySnapshot
impl Eq for DeviceTelemetrySnapshot
Source§impl PartialEq for DeviceTelemetrySnapshot
impl PartialEq for DeviceTelemetrySnapshot
Source§impl Serialize for DeviceTelemetrySnapshot
impl Serialize for DeviceTelemetrySnapshot
impl StructuralPartialEq for DeviceTelemetrySnapshot
Auto Trait Implementations§
impl Freeze for DeviceTelemetrySnapshot
impl RefUnwindSafe for DeviceTelemetrySnapshot
impl Send for DeviceTelemetrySnapshot
impl Sync for DeviceTelemetrySnapshot
impl Unpin for DeviceTelemetrySnapshot
impl UnsafeUnpin for DeviceTelemetrySnapshot
impl UnwindSafe for DeviceTelemetrySnapshot
Blanket Implementations§
impl<T> Allocation for T
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,
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more