英伟达NCCLNVIDIA 集体通信库 (NCCL) 实现了针对 NVIDIA GPU 和网络进行优化的多 GPU 和多节点通信原语。NCCL 提供全收集、全归约、广播、归约、归约分散以及点对点发送

英伟达NCCL

NVIDIA 集体通信库 (NCCL) 实现了针对 NVIDIA GPU 和网络进行优化的多 GPU 和多节点通信原语。NCCL 提供全收集、全归约、广播、归约、归约分散以及点对点发送和接收等例程,这些例程经过优化,可在 PCIe 和 NVLink 高速互连上实现高带宽和低延迟。一个节点以及跨节点的 NVIDIA Mellanox 网络。

Caffe2ChainerMxNetPyTorchTensorFlow等领先的深度学习框架都集成了 NCCL,以加速多 GPU 多节点系统上的深度学习训练。

NCCL 可作为NVIDIA HPC SDK的一部分以及 Ubuntu 和 Red Hat 的单独软件包进行下载。

下载NCCL    文档    开发者指南   


表现

NCCL 方便地消除了开发人员针对特定机器优化其应用程序的需要。NCCL 在节点内和跨节点的多个 GPU 上提供快速集合。

易于编程

NCCL 使用简单的 C API,可以从多种编程语言轻松访问。NCCL 紧密遵循 MPI(消息传递接口)定义的流行集体 API。

兼容性

NCCL 几乎兼容任何多 GPU 并行化模型,例如:单线程、多线程(每个 GPU 使用一个线程)和多进程(MPI 与 GPU 上的多线程操作相结合)。


主要特征

  • AMD、ARM、PCI Gen4 和 IB HDR 上高带宽路径的自动拓扑检测
  • 高达 2 倍的网络内峰值带宽均减少了利用SHARPV2 的操作
  • 图搜索具有最高带宽和最低延迟的最佳环和树集
  • 支持多线程、多进程应用
  • InfiniBand 动词、libfabric、RoCE 和 IP Socket 节点间通信
  • 通过 InfiniBand 自适应路由重新路由流量并缓解拥塞端口


资源

猜你喜欢

转载自blog.csdn.net/sinat_37574187/article/details/131968602