The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective communication primitives that are performance optimized for NVIDIA GPUs. NCCL provides routines such as all-gather, all-reduce, broadcast, reduce, reduce-scatter, that are optimized to achieve high bandwidth over PCIe and NVLink high-speed interconnect.
(Click to Zoom)
Developers of deep learning frameworks and HPC applications can rely on NCCL’s highly optimized, MPI compatible and topology aware routines, to take full advantage of all available GPUs within and across multiple nodes. This allows them to focus on developing new algorithms and software capabilities, rather than performance tuning low-level communication collectives.
Leading deep learning frameworks such as Caffe2, Microsoft Cognitive Toolkit, MXNet, PyTorch and TensorFlow use NCCL to deliver near-linear scaling of deep learning training on multi-GPU systems. To download earlier versions of NCCL (1.x) versions please visit the NCCL’s GitHub page.
Deep learning frameworks using NCCL 2 and later, can leverage new features and performance of the Volta architecture to deliver high-performance and efficient multi-node, multi-GPU scaling of deep learning training. NCCL 2.2 highlights include: