pub struct Tp2ReplicatedRowJoin { /* private fields */ }Expand description
Persistent two-rank all-reduce for one replicated f32 row.
Each rank pushes its local partial directly into a peer-resident staging row, records one
reusable event, waits for the peer’s corresponding event, then adds (rank0, rank1) in that
same operand order on both devices. Two staging rows per direction are enough because join
j + 1 is ordered after each rank’s add at join j, so overwriting parity j cannot race its
peer consumer. The collective allocates nothing and performs no host synchronization per call.
Auto Trait Implementations§
impl Freeze for Tp2ReplicatedRowJoin
impl RefUnwindSafe for Tp2ReplicatedRowJoin
impl Send for Tp2ReplicatedRowJoin
impl Sync for Tp2ReplicatedRowJoin
impl Unpin for Tp2ReplicatedRowJoin
impl UnsafeUnpin for Tp2ReplicatedRowJoin
impl UnwindSafe for Tp2ReplicatedRowJoin
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