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)。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案