1pub mod communicator;
2pub mod device;
3pub mod device_collective;
4pub mod error;
5pub mod host;
6pub mod layout;
7pub mod network;
8pub mod operation;
9pub mod payload;
10mod peer;
11pub mod protocol;
12pub mod stats;
13pub mod topology;
14pub mod tags;
15pub mod transport;
16pub mod work;
17
18pub use network::{
19 ExchangeOptions, NetworkError, TcpRankSession, TcpRendezvousServer, TopologyProbeOptions,
20};
21pub use operation::ReductionOperation;
22pub use stats::CollectiveStats;
23pub use protocol::{
24 ANY_RANK, CollectiveAgreement, ElementType, FLAG_COUNTS_PREFIX, FLAG_P2P_CHANNEL, Frame,
25 FrameHeader, Opcode, OperationDescriptor, ProtocolError, UniqueId,
26};
27pub use topology::{
28 AlgorithmPolicy, COLLECTIVE_AUTOTUNE_PROFILE_VERSION, CollectiveAutotuneEntry,
29 CollectiveAutotuneProfile, CollectiveKind, CollectivePlan, CollectivePlanSource,
30 CollectiveTopology, CollectiveTuning, TopologyAggregateLink, TopologyError, TopologyLink,
31 TopologyRailLink,
32};
33pub use transport::{
34 JsonlTransportTraceSink, RankTransport, TracingRankTransport, TransportTraceEvent,
35 TransportTraceOperation, TransportTraceSink,
36};
37
38#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
39#[serde(rename_all = "snake_case")]
40pub enum CollectiveTransport {
41 HostStaged,
42 TcpHostStaged,
43 TcpPeer,
44 PciePeer,
45 Rdma,
46 GxLink,
47}
48
49#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
50#[serde(rename_all = "lowercase")]
51pub enum CollectiveAlgorithm {
52 Direct,
53 Ring,
54 Pairwise,
55 Hierarchical,
56}