NVIDIA NCCL NVIDIA Collective Communications Library (NCCL) は、NVIDIA GPU とネットワーク用に最適化されたマルチ GPU およびマルチノード通信プリミティブを実装します。NCCL は、オールギャザー、オールリデュース、ブロードキャスト、リデュース、リデュース スキャッター、ポイントツーポイント送信を提供します。

NVIDIA NCCL

 

NVIDIA Collective Communications Library (NCCL) は、NVIDIA GPU とネットワーク用に最適化されたマルチ GPU およびマルチノード通信プリミティブを実装しますNCCL は、 PCIe および NVLink高速インターコネクト上で高帯域幅と低遅延向けに最適化された、オールギャザー、オールリデュース、ブロードキャスト、リデュース、リデュース スキャッター、およびポイントツーポイントの送受信ルーチンを提供します。ノードとノード間の NVIDIA Mellanox ネットワーク。

Caffe2ChainerMxNetPyTorchTensorFlowなどの主要な深層学習フレームワークはすべて NCCL を統合し、マルチ GPU マルチノード システムでの深層学習トレーニングを高速化します。

NCCL は、NVIDIA HPC SDKの一部として、また Ubuntu および Red Hat 用の別個のパッケージとしてダウンロードできます。


パフォーマンス

NCCL を使用すると、開発者が特定のマシンに合わせてアプリケーションを最適化する必要がなくなり、便利になります。NCCL は、ノード内およびノー​​ド間の複数の GPU で高速な集約を提供します。

プログラムが簡単

NCCL は、さまざまなプログラミング言語から簡単にアクセスできるシンプルな C API を使用します。NCCL は、MPI (Message Passing Interface) によって定義された一般的な集合 API に厳密に従っています。

互換性

NCCL は、シングルスレッド、マルチスレッド (GPU ごとに 1 スレッド)、マルチプロセス (MPI と GPU でのマルチスレッド操作の組み合わせ) など、ほぼすべてのマルチ GPU 並列化モデルと互換性があります。


主な特徴

  • AMD、ARM、PCI Gen4、および IB HDR 上の高帯域幅パスの自動トポロジ検出
  • SHARPV2 を利用した運用では、ネットワーク内の最大 2 倍のピーク帯域幅が削減されます
  • 最大の帯域幅と最小の遅延を備えた最適なリングおよびツリー セットをグラフ検索します。
  • マルチスレッド、マルチプロセス アプリケーションをサポート
  • InfiniBand Verbs、libfabric、RoCE、および IP ソケットのノード間通信
  • InfiniBand適応ルーティングによりトラフィックを再ルーティングし、混雑したポートを緩和します。


リソース

資力

 

おすすめ

転載: blog.csdn.net/sinat_37574187/article/details/131968602