8. MCCL加速GPU通信
8.1. MCCL简介
摩尔线程集合通信库 (MCCL) 可实现针对摩尔线程GPU 和网络进行性能优化的多 GPU 和多节点通信基元。MCCL 提供了 all-gather、all-reduce、broadcast、reduce、reduce-scatter、point-to-point send 和 receive 等原语,这些原语均经过优化,可通过节点内的 PCIe 和 MTLink 高速互联以及节点间的InfiniBand网络实现高带宽和低延迟。
MCCL支持节点内和跨节点通信。可以实现拓扑的自动检测,计算最佳的路径,最终实现GPUs之间的高效传输

图1 MCCL框架图
8.1.1. 节点内
节点内 GPU 之间进行数据传输,主要的物理介质是 PCIe 和 MTLink,涉及到的主要技术有 GPUDirect P2P,GPUDirect P2P 避免数据通过 CPU 进行中转,降低延时,同时可以利用 GPU 高速互联的带宽。具体原理见下图

图2 显示PCIe的P2P示意图