pytorch/gloo

Collective communications library with various primitives for multi-machine training.

何を解決するか

Glooは、機械学習アプリケーションのマルチマシン学習を促進するために設計された集団通信ライブラリです。クラスタ内の複数のマシン間でデータを効率的に同期および移動するための必要なプリミティブを提供します。

動作方法

バリア、ブロードキャスト、アラリダスなどの複数の集団アルゴリズムを実装しています。ライブラリは下位のデータ転送を抽象化しており、標準的なIP(TCP)または高性能なInfiniBand/RoCEを使用できます。GPU加速ワークロードでは、GPUDirectをサポートし、マシン間でGPUからGPUへの直接メモリ転送を可能にし、ホストメモリとデバイスメモリ間のデータコピーの必要性を低減します。

対象ユーザー

複数のコンピュートノード間でのデータ交換を効率的かつ信頼性高く制御する必要がある、分散機械学習学習に取り組む開発者や研究者。

特徴

  • 集団プリミティブ: allreduce、broadcast、barrierなどの基本的な操作を含みます。
  • ハードウェア加速: InfiniBand、RoCE、GPUDirectをサポートし、高速なGPU間転送を実現します。
  • 柔軟なトランスポート: 標準的なIP/TCPで動作可能であり、システムメモリおよびNVIDIA GPUメモリバッファの両方に対して最適化されたパスを提供します。
  • 統合: PyTorch Distributedと組み合わせて使用され、マルチノードスケーリングに活用されます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト