1 个仓库
Mathematical reduction operations performed across multiple distributed devices or nodes.
Distinct from Reductions: Distinct from Reductions: focuses on network-distributed GPU communication rather than local sequence processing.
Explore 1 awesome GitHub repository matching data & databases · Distributed. Refine with filters or upvote what's useful.
NCCL 是一个高性能通信库和分布式 GPU 计算框架,专为在单节点或多节点系统中的多个 GPU 之间执行集合和点对点数据交换而设计。它充当 RDMA GPU 传输层和内存编排器,为分布式 GPU 训练和推理提供高带宽的数据和模型梯度同步。 该库的特色在于能够直接从 GPU 内核执行通信原语,将主机 CPU 从关键路径中移除。它利用拓扑感知路径选择来优化数据移动,并采用包括 InfiniBand 和 NVLink 在内的基于 RDMA 的网络传输,以实现设备跨不同物理节点之间的零拷贝内存访问。 该项目涵盖了广泛的集合通信模式,包括归约(Reductions)、广播(Broadcasts)、收集(Gathers)和全对全交换(All-to-all exchanges),以及点对点远程内存访问。它提供全面的通信器管理,用于初始化、分区和调整 GPU 组大小,以及用于注册缓冲区和协调共享设备内存的专用内存管理。 该系统包括一套用于健康跟踪、诊断日志记录和实时事件监控的监控与可观测性工具,以及用于机器学习框架、CUDA Graphs、MPI 和 Python 的集成接口。
NCCL performs a reduction across multiple sources and copies the resulting value to destinations in a single operation.