//! RDMA Transport Layer for High-Performance Distributed Training //! //! This module provides RDMA (Remote Direct Memory Access) support for //! high-bandwidth, low-latency communication between nodes in a distributed //! training cluster. //! //! # Features //! - InfiniBand verbs integration via libibverbs //! - GPU Direct RDMA support for direct GPU-to-GPU transfers //! - Zero-copy data transfer //! - Reliable connected (RC) queue pairs //! - Completion queue polling for async operations //! - Collective communication primitives (AllReduce, Broadcast, etc.) //! //! # Requirements //! - libibverbs development libraries //! - RDMA-capable network adapter (InfiniBand, RoCE, iWARP) //! - For GPU Direct: NVIDIA GPUs with GPUDirect RDMA support //! //! # Example //! ```rust,ignore //! use rtx_distributed::rdma_transport::{RdmaTransport, RdmaConfig}; //! //! let config = RdmaConfig::default(); //! let transport = RdmaTransport::new(config)?; //! transport.connect(peer_addr).await?; //! transport.send(&data).await?; //! ``` pub mod collectives; pub mod config; pub mod discovery; pub mod ffi; pub mod gpu_direct; pub mod transport; pub mod types; #[cfg(test)] mod tests; // Re-export all public types pub use collectives::{RdmaCollectiveStats, RdmaCollectives}; pub use config::RdmaConfig; pub use discovery::{discover_rdma_devices, is_rdma_available}; pub use ffi::*; pub use gpu_direct::{GpuDirectConfig, GpuDirectRdmaTransport}; pub use transport::{ RdmaCompletionQueue, RdmaSge, RdmaTransport, RdmaWorkCompletion, RdmaWorkRequest, }; pub use types::*;