文献阅读《xCCL: A Survey of Industry-Led Collective Communication Libraries for Deep Learning》
we survey the current state-of-the-art collective communication libraries (namely xCCL, including NCCL, oneCCL, RCCL, MSCCL, ACCL, and Gloo), with a focus on the industry-led ones for deep learning workloads. 常见的MPI库:MPICH、MVAPICH、OpenMPI 其他的非MPI库:OpenSHMEM(Open-source Symmetric Hierarchical MEMory)、UCX(Unified Communication X)、UCC(Unified Collective Communication) 常见的xCCL库:NVIDIA Collective Communications Library (NCCL)、AMD’s ROCm Collective Communication Library (RCCL)、Gloo 1. 贡献与挑战 挑战 什么让同时代的xCCL比MPI更具有吸引力? 每种集合通信库的性能特性如何? 这些xCCL库是如何设计的?是否存在某种共享的设计模式? 贡献 总结和研究集合通信原语、网络拓扑、算法,为同时代的深度学习训练奠定基础 讨论这些研究的工业集合通信解决方案以及其细节测试 对比当前的集合通信库的性能情况 2. 集合通信原语 Broadcast:常用于将训练数据发送到各个设备上 All Reduce:广泛应用于分布式神经网络训练的后向传播阶段 All Gather、Scatter、All-to-All、Reduce、Reduce Scatter 3. 网络拓扑架构 3.1 HyperCube 优点:高度的连接性,不容易发生故障 ...