pub struct PartitionLayerRecord {Show 15 fields
pub bits: u8,
pub remote_deltas: u32,
pub collectives: u32,
pub circuit_index: u32,
pub application_index: u32,
pub gate_name: &'static str,
pub terms_in: Vec<usize>,
pub terms_out: Vec<usize>,
pub rows_sent: Vec<Vec<u64>>,
pub bytes_sent: Vec<Vec<u64>>,
pub rows_received: Vec<u64>,
pub nanos: Vec<u64>,
pub refine_passes: Vec<u32>,
pub receive_chunks: Vec<u32>,
pub device: Vec<Option<DeviceLayerRecord>>,
}Expand description
What one layer did across the whole group; the per-partition vectors are indexed by rank.
Fields§
§bits: u8Bucket bits every partition held for this layer.
remote_deltas: u32Remote deltas the layer had; zero means it made no transport call.
collectives: u32Collective calls the layer issued besides the exchange: the scheduled bucket-count all-reduce plus the policy’s collective finalization.
circuit_index: u32This layer’s position in the Circuit, independent of direction.
application_index: u32This layer’s position in the propagation loop.
gate_name: &'static strChannel::debug_name of the applied channel.
terms_in: Vec<usize>Terms each partition held before the layer.
terms_out: Vec<usize>Terms each partition held after the layer and its finalization.
rows_sent: Vec<Vec<u64>>Rows sent, rows_sent[from][to].
bytes_sent: Vec<Vec<u64>>Wire bytes sent, bytes_sent[from][to], for the same rows.
rows_received: Vec<u64>Rows each partition received, summed over its partners.
nanos: Vec<u64>Each partition’s own wall time for the layer; ranks are not synchronized mid-layer, so max is only a critical-rank proxy.
refine_passes: Vec<u32>Passes each partition made over its terms to raise the bucket count for this layer: one per doubling on the host, one per counting pass of up to four bits on a device.
receive_chunks: Vec<u32>Chunks each partition’s received rows moved in; zero on a layer without an exchange.
device: Vec<Option<DeviceLayerRecord>>Each partition’s device counters, None on a host partition.
Trait Implementations§
Source§impl Clone for PartitionLayerRecord
impl Clone for PartitionLayerRecord
Source§fn clone(&self) -> PartitionLayerRecord
fn clone(&self) -> PartitionLayerRecord
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PartitionLayerRecord
impl Debug for PartitionLayerRecord
Source§impl Default for PartitionLayerRecord
impl Default for PartitionLayerRecord
Source§fn default() -> PartitionLayerRecord
fn default() -> PartitionLayerRecord
Source§impl PartialEq for PartitionLayerRecord
impl PartialEq for PartitionLayerRecord
impl Eq for PartitionLayerRecord
impl StructuralPartialEq for PartitionLayerRecord
Auto Trait Implementations§
impl Freeze for PartitionLayerRecord
impl RefUnwindSafe for PartitionLayerRecord
impl Send for PartitionLayerRecord
impl Sync for PartitionLayerRecord
impl Unpin for PartitionLayerRecord
impl UnwindSafe for PartitionLayerRecord
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more