NVIDIA/nccl
Optimized primitives for collective multi-GPU communication
解决的问题
提供针对 GPU 的优化通信原语,使多个 GPU 无论位于单个节点上还是分布在多个节点上,都能实现高效的数据交换。
工作原理
NCCL 实现了 all-reduce、all-gather、reduce、broadcast 和 reduce-scatter 等标准通信操作,以及通用的发送/接收模式。它针对多种硬件平台(包括 PCIe、NVLink、NVswitch 以及 InfiniBand Verbs 和 TCP/IP 套接字等网络协议)进行了高带宽优化。
适用人群
使用单进程或跨进程环境(如 MPI)构建多 GPU 应用程序的开发者,需要高性能 GPU 间通信。
主要亮点
- 针对 PCIe、NVLink 和 NVswitch 实现高带宽优化。
- 支持 InfiniBand Verbs 和 TCP/IP 套接字用于多节点通信。
- 兼容单进程或跨进程应用程序。
- 实现了广泛的标准化通信操作(例如 all-reduce、all-gather)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目