pub struct CrossArmRedundancy {
pub redundant_pairs: Vec<(usize, usize, usize)>,
pub total_redundant_ops: usize,
}Expand description
Report of cross-arm redundancy in a megakernel arm sequence.
Each pair (early, late) means arm late emits a MegakernelWorkItem that
is structurally identical to one already emitted by arm early
(and that arm has not been overwritten since). The runtime can
drop the late arm’s redundant op and rewire its readers to the
early arm’s output handle.
Fields§
§redundant_pairs: Vec<(usize, usize, usize)>(early_arm_index, late_arm_index, redundant_op_index_in_late_arm).
early_arm_index < late_arm_index always; the late arm is
the one whose op is redundant.
total_redundant_ops: usizeTotal redundant ops detected across the whole sequence.
Equal to redundant_pairs.len() but exposed separately so
the dispatcher can budget telemetry without scanning the vec.
Implementations§
Trait Implementations§
Source§impl Clone for CrossArmRedundancy
impl Clone for CrossArmRedundancy
Source§fn clone(&self) -> CrossArmRedundancy
fn clone(&self) -> CrossArmRedundancy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CrossArmRedundancy
impl Debug for CrossArmRedundancy
Source§impl Default for CrossArmRedundancy
impl Default for CrossArmRedundancy
Source§fn default() -> CrossArmRedundancy
fn default() -> CrossArmRedundancy
Returns the “default value” for a type. Read more
impl Eq for CrossArmRedundancy
Source§impl PartialEq for CrossArmRedundancy
impl PartialEq for CrossArmRedundancy
Source§fn eq(&self, other: &CrossArmRedundancy) -> bool
fn eq(&self, other: &CrossArmRedundancy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CrossArmRedundancy
Auto Trait Implementations§
impl Freeze for CrossArmRedundancy
impl RefUnwindSafe for CrossArmRedundancy
impl Send for CrossArmRedundancy
impl Sync for CrossArmRedundancy
impl Unpin for CrossArmRedundancy
impl UnsafeUnpin for CrossArmRedundancy
impl UnwindSafe for CrossArmRedundancy
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
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.