Skip to main content

EpistemicGpuModelMembershipTrace

Struct EpistemicGpuModelMembershipTrace 

Source
pub struct EpistemicGpuModelMembershipTrace {
Show 13 fields pub literal_count: usize, pub candidates_checked: usize, pub reduction_count: usize, pub models_per_reduction: usize, pub model_membership_bytes_written: usize, pub output_row_count_device_reads: u32, pub tuple_source_row_count_device_reads: u32, pub tuple_source_key_column_device_reads: u32, pub rejection_reason_slots_checked: usize, pub membership_source: EpistemicGpuModelMembershipSource, pub kernel_launches: u32, pub host_write_ops: u32, pub kernel_timing: EpistemicGpuKernelTimingTrace,
}
Expand description

Trace proving model-membership staging was performed by a GPU kernel.

Fields§

§literal_count: usize

Number of epistemic literals represented per candidate/model.

§candidates_checked: usize

Number of candidate rows checked on device.

§reduction_count: usize

Number of reduced-program summaries represented in the membership layout.

§models_per_reduction: usize

Maximum models represented per reduction.

§model_membership_bytes_written: usize

Model-membership bytes written by the kernel.

§output_row_count_device_reads: u32

Device output row-count scalars read by the kernel.

§tuple_source_row_count_device_reads: u32

Device tuple-source row-count scalars read by the kernel.

§tuple_source_key_column_device_reads: u32

Device tuple-key columns read by tuple-source membership kernels.

§rejection_reason_slots_checked: usize

Rejection-reason slots checked by the kernel.

§membership_source: EpistemicGpuModelMembershipSource

Source used to populate model-membership bytes.

§kernel_launches: u32

Model-membership staging kernel launches.

§host_write_ops: u32

Host writes used by model-membership staging. Accepted execution requires zero.

§kernel_timing: EpistemicGpuKernelTimingTrace

CUDA-event timing for the launched kernel.

Implementations§

Source§

impl EpistemicGpuModelMembershipTrace

Source

pub fn for_counts( literal_count: usize, candidate_count: usize, reduction_count: usize, models_per_reduction: usize, ) -> Result<Self>

Build a model-membership trace for a bounded device launch.

Source

pub fn for_stable_model_tuple_sources( literal_count: usize, candidate_count: usize, reduction_count: usize, models_per_reduction: usize, tuple_source_count: usize, ) -> Result<Self>

Build a model-membership trace backed by reduced stable-model tuple sources.

Source

pub fn for_stable_model_tuple_sources_with_key_columns( literal_count: usize, candidate_count: usize, reduction_count: usize, models_per_reduction: usize, tuple_source_count: usize, tuple_source_key_column_count: usize, ) -> Result<Self>

Build a model-membership trace backed by tuple sources and key columns.

Source

pub const fn with_kernel_timing( self, kernel_timing: EpistemicGpuKernelTimingTrace, ) -> Self

Attach CUDA-event timing captured by the runtime launch path.

Source

pub fn require_stable_model_tuple_source(&self) -> Result<()>

Require semantic stable-model tuple membership before accepting execution.

Source

pub fn require_planned_tuple_key_column_reads( &self, expected_key_column_reads: usize, ) -> Result<()>

Require the tuple-key device reads planned for this model-membership trace.

Trait Implementations§

Source§

impl Clone for EpistemicGpuModelMembershipTrace

Source§

fn clone(&self) -> EpistemicGpuModelMembershipTrace

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 EpistemicGpuModelMembershipTrace

Source§

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

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

impl PartialEq for EpistemicGpuModelMembershipTrace

Source§

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

Source§

impl Eq for EpistemicGpuModelMembershipTrace

Source§

impl StructuralPartialEq for EpistemicGpuModelMembershipTrace

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,