Skip to main content

McNoHostStats

Struct McNoHostStats 

Source
pub struct McNoHostStats {
    pub tracked_htod_calls: u64,
    pub tracked_dtoh_calls: u64,
    pub untracked_metadata_reads: u64,
    pub engine_launches: u64,
    pub host_loop_iterations: u64,
    pub per_sample_host_launches: u64,
    pub host_fixpoint_iterations: u64,
    pub per_operator_host_allocations: u64,
}
Expand description

No-host-interaction instrumentation for the measured engine region.

Fields§

§tracked_htod_calls: u64

Tracked data-plane host-to-device calls inside the measured region.

§tracked_dtoh_calls: u64

Tracked data-plane device-to-host calls inside the measured region.

§untracked_metadata_reads: u64

Untracked control-plane metadata reads inside the measured region.

§engine_launches: u64

Number of kernel launches the engine issued inside the measured region.

§host_loop_iterations: u64

Number of host-side per-sample loop iterations inside the measured region (structurally zero: the engine has no host sample loop).

§per_sample_host_launches: u64

Number of per-sample host launches inside the measured region (structurally zero: one global launch covers all worlds).

§host_fixpoint_iterations: u64

Number of host-side fixpoint-loop iterations inside the measured region (structurally zero: recursion converges device-side). Required by the WCOJ world-batched acceptance contract.

§per_operator_host_allocations: u64

Number of device allocations issued inside the measured region (must be zero: every arena is pre-allocated before the region). Backed by the memory manager’s alloc_count snapshot.

Implementations§

Source§

impl McNoHostStats

Source

pub fn is_no_host(&self) -> bool

True iff the measured region had no host interaction: no tracked transfers, no untracked metadata reads, no host sample loop, no per-sample host launches, no host fixpoint loop, no in-region device allocations. (A single global engine launch is permitted and is not per-sample; see Self::engine_launches.)

Trait Implementations§

Source§

impl Clone for McNoHostStats

Source§

fn clone(&self) -> McNoHostStats

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 McNoHostStats

Source§

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

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

impl Default for McNoHostStats

Source§

fn default() -> McNoHostStats

Returns the “default value” for a type. Read more
Source§

impl PartialEq for McNoHostStats

Source§

fn eq(&self, other: &McNoHostStats) -> 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 McNoHostStats

Source§

impl Eq for McNoHostStats

Source§

impl StructuralPartialEq for McNoHostStats

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,