pub struct CudaEGraphStructuralCanonicalizationFixedPointReport {
pub rounds: Vec<CudaEGraphStructuralCanonicalizationRoundResult>,
pub final_snapshot: Option<CudaEGraphResidentColumnSnapshot>,
pub final_signature_snapshot: Option<CudaEGraphResidentSignatureSnapshot>,
pub final_readback: CudaEGraphFixedPointReadback,
pub final_full_readback_bytes: usize,
pub final_signature_snapshot_bytes: usize,
pub final_additional_readback_bytes: usize,
pub avoided_final_readback_bytes: usize,
pub converged: bool,
pub max_rounds: usize,
pub total_discovered_pairs: u64,
pub total_rewrites: u64,
}Expand description
Policy-aware result for iterative CUDA-resident e-graph canonicalization.
Fields§
§rounds: Vec<CudaEGraphStructuralCanonicalizationRoundResult>Rounds executed, including the final no-op round when convergence is
proven before max_rounds.
final_snapshot: Option<CudaEGraphResidentColumnSnapshot>Full resident columns after the last executed round when requested by
CudaEGraphFixedPointReadback::FullColumns.
final_signature_snapshot: Option<CudaEGraphResidentSignatureSnapshot>Signature-only resident snapshot after the last executed round when requested directly or derivable from a full-column readback.
final_readback: CudaEGraphFixedPointReadbackFinal host readback policy used by this run.
final_full_readback_bytes: usizeBytes a full final resident-column readback would transfer.
final_signature_snapshot_bytes: usizeBytes represented by the final row-signature column.
final_additional_readback_bytes: usizeAdditional bytes transferred at the final readback boundary by the selected policy. Signature-only reports reuse the already-current planning snapshot and therefore do not force another device-to-host copy.
avoided_final_readback_bytes: usizeFull-column final readback bytes avoided by the selected policy.
converged: booltrue iff a no-op discovery round proved fixed-point convergence.
max_rounds: usizeMaximum number of rounds requested by the caller.
total_discovered_pairs: u64Total unique equivalence pairs discovered across all rounds.
total_rewrites: u64Total canonical rewrite records applied across all rounds.
Trait Implementations§
Source§impl Clone for CudaEGraphStructuralCanonicalizationFixedPointReport
impl Clone for CudaEGraphStructuralCanonicalizationFixedPointReport
Source§fn clone(&self) -> CudaEGraphStructuralCanonicalizationFixedPointReport
fn clone(&self) -> CudaEGraphStructuralCanonicalizationFixedPointReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl PartialEq for CudaEGraphStructuralCanonicalizationFixedPointReport
impl PartialEq for CudaEGraphStructuralCanonicalizationFixedPointReport
Source§fn eq(
&self,
other: &CudaEGraphStructuralCanonicalizationFixedPointReport,
) -> bool
fn eq( &self, other: &CudaEGraphStructuralCanonicalizationFixedPointReport, ) -> bool
self and other values to be equal, and is used by ==.impl Eq for CudaEGraphStructuralCanonicalizationFixedPointReport
impl StructuralPartialEq for CudaEGraphStructuralCanonicalizationFixedPointReport
Auto Trait Implementations§
impl Freeze for CudaEGraphStructuralCanonicalizationFixedPointReport
impl RefUnwindSafe for CudaEGraphStructuralCanonicalizationFixedPointReport
impl Send for CudaEGraphStructuralCanonicalizationFixedPointReport
impl Sync for CudaEGraphStructuralCanonicalizationFixedPointReport
impl Unpin for CudaEGraphStructuralCanonicalizationFixedPointReport
impl UnsafeUnpin for CudaEGraphStructuralCanonicalizationFixedPointReport
impl UnwindSafe for CudaEGraphStructuralCanonicalizationFixedPointReport
Blanket Implementations§
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
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
key and return true if they are equal.