openucx/ucc

Unified Collective Communication Library

何を解決するか

UCC は、AI/ML、ハイパフォーマンスコンピューティング(HPC)、および I/O ワークロードにおいて、異なるハードウェアとプログラミングモデル間で高パフォーマンスかつスケーラブルな集団通信操作を保証する、統一された API とライブラリを提供します。

動作方法

非ブロッキング操作と緩やかな順序モデルをサポートする柔軟な通信レイヤーとして機能します。さまざまなトランスポートとハードウェア集団操作と統合され、ハードウェアアクセラレーションされた集団操作を一等公民として扱います。UCX の上に構築されており、CUDA および HIP(AMD)を含む複数の GPU バックエンドをサポートしています。

対象ユーザー

複数の処理ユニット(CPU、GPU、DPU)間での効率的なデータ交換を必要とする大規模な AI/ML 学習および HPC アプリケーションを開発している開発者。

主な特徴

  • 広範なハードウェア対応: InfiniBand、ROCE、CUDA、NCCL、RCCL、SHARP と互換性があります。
  • スケーラブルなパフォーマンス: 高スケールの AI/ML および HPC ワークロードに特化して設計されています。
  • 柔軟なプログラミング: 反復的な集団操作(初期化は一度、呼び出しは複数回)と非ブロッキング操作をサポートします。
  • マルチランタイム統合: Open MPI および OpenSHMEM と連携可能です。

関連

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