Skip to main content

EpistemicGpuTransferBudgetTrace

Struct EpistemicGpuTransferBudgetTrace 

Source
pub struct EpistemicGpuTransferBudgetTrace {
    pub candidate_count: usize,
    pub tracked_dtoh_bytes: u64,
    pub tracked_htod_bytes: u64,
    pub tracked_dtoh_calls: u64,
    pub tracked_htod_calls: u64,
    pub tracked_aggregate_htod_bytes: u64,
    pub tracked_aggregate_htod_calls: u64,
    pub tracked_launch_metadata_htod_bytes: u64,
    pub tracked_launch_metadata_htod_calls: u64,
    pub tracked_data_plane_htod_bytes: u64,
    pub tracked_data_plane_htod_calls: u64,
    pub per_candidate_host_round_trips: u64,
}
Expand description

Trace proving the epistemic GPU hot path avoided tracked data-plane host transfers.

Fields§

§candidate_count: usize

Number of candidate rows covered by this transfer-budget check.

§tracked_dtoh_bytes: u64

Tracked device-to-host bytes observed inside the GPU hot path.

§tracked_htod_bytes: u64

Tracked data-plane host-to-device bytes observed inside the GPU hot path.

§tracked_dtoh_calls: u64

Tracked device-to-host calls observed inside the GPU hot path.

§tracked_htod_calls: u64

Tracked data-plane host-to-device calls observed inside the GPU hot path.

§tracked_aggregate_htod_bytes: u64

Tracked aggregate host-to-device bytes observed inside the GPU hot path.

§tracked_aggregate_htod_calls: u64

Tracked aggregate host-to-device calls observed inside the GPU hot path.

§tracked_launch_metadata_htod_bytes: u64

Tracked launch-metadata host-to-device bytes observed inside the GPU hot path.

§tracked_launch_metadata_htod_calls: u64

Tracked launch-metadata host-to-device calls observed inside the GPU hot path.

§tracked_data_plane_htod_bytes: u64

Tracked data-plane host-to-device bytes observed inside the GPU hot path.

§tracked_data_plane_htod_calls: u64

Tracked data-plane host-to-device calls observed inside the GPU hot path.

§per_candidate_host_round_trips: u64

Per-candidate host round trips observed inside the GPU hot path.

Implementations§

Source§

impl EpistemicGpuTransferBudgetTrace

Source

pub fn from_host_transfer_stats( candidate_count: usize, before: HostTransferStats, after: HostTransferStats, ) -> Result<Self>

Build a hot-path transfer trace from provider host-transfer snapshots.

Source

pub fn from_host_transfer_stats_with_launch_metadata( candidate_count: usize, before: HostTransferStats, after: HostTransferStats, launch_metadata_before: HostLaunchMetadataTransferStats, launch_metadata_after: HostLaunchMetadataTransferStats, ) -> Result<Self>

Build a hot-path transfer trace while distinguishing bounded launch metadata host-to-device transfers from data-plane transfers.

Trait Implementations§

Source§

impl Clone for EpistemicGpuTransferBudgetTrace

Source§

fn clone(&self) -> EpistemicGpuTransferBudgetTrace

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EpistemicGpuTransferBudgetTrace

Source§

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

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

impl PartialEq for EpistemicGpuTransferBudgetTrace

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for EpistemicGpuTransferBudgetTrace

Source§

impl Eq for EpistemicGpuTransferBudgetTrace

Source§

impl StructuralPartialEq for EpistemicGpuTransferBudgetTrace

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,