NVIDIA 集合通信库加快深度学习训练速度

描述

NVIDIA 集合通信库(NCCL)可实现针对 NVIDIA GPU 和网络进行性能优化的多 GPU 和多节点通信基元。

关于 NVIDIA 集合通信库(NCCL)

NCCL 提供了 all-gather、all-reduce、broadcast、reduce、reduce-scatter、point-to-point send 和 receive 等例程,这些例程均经过优化,可通过节点内的 PCIe 和 NVLink 高速互联以及节点间的 NVIDIA Mellanox 网络实现高带宽和低延迟。

先进的深度学习框架(例如 Caffe2、Chainer、MXNet、PyTorch和 TensorFlow)已集成 NCCL,以在多 GPU 多节点的系统上加快深度学习训练速度。

gpu

便捷性能

使用 NCCL,开发者无需针对特定机器优化其应用,因而更加便捷。NCCL 可在节点内和节点间实现多个 GPU 的快速集合。

简化编程

NCCL 使用可从多种编程语言轻松访问的简单 C API,且严格遵循 MPI(消息传递接口)定义的主流集合 API。

兼容性

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

主要特性

对 AMD、Arm、PCI Gen4 和 IB HDR 上的高带宽路径进行自动拓扑检测

凭借利用 SHARPV2 的网络内 all reduce 操作,将峰值带宽提升 2 倍

通过图形搜索,找到更佳的高带宽、低延迟的环和树集合

支持多线程和多进程应用

InfiniBand verbs、libfabric、RoCE 和 IP Socket 节点间通信

使用 Infiniband 动态路由重新路由流量,缓解端口拥塞  

      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分