Initial commit

This commit is contained in:
redclawsystems
2026-03-04 00:08:42 +00:00
commit 4d88dc0584
4449 changed files with 1556714 additions and 0 deletions
@@ -0,0 +1,50 @@
//! 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::*;