openucx/ucc

Unified Collective Communication Library

解決的問題

UCC 提供統一的 API 和程式庫,用於集體通訊操作,確保在不同硬體與程式設計模型之間,AI/ML、高階運算(HPC)與 I/O 工作負載的高效率與可擴展性。

作用方式

作為一個靈活的通訊層,支援非阻塞操作與鬆散排序模型。整合多種傳輸機制與硬體集體運算,將硬體加速的集體運算視為一等公民。建構於 UCX 之上,支援多種 GPU 後端,包括 CUDA 與 HIP(AMD)。

適用對象

需要在多個處理單元(CPU、GPU 與 DPU)之間高效交換資料的大規模 AI/ML 訓練與 HPC 應用開發人員。

主要特色

  • 廣泛的硬體支援:相容 InfiniBand、ROCE、CUDA、NCCL、RCCL 與 SHARP。
  • 可擴展的效能:專為高規模 AI/ML 與 HPC 工作負載設計。
  • 彈性程式設計:支援重複的集體運算操作(初始化一次,呼叫多次)與非阻塞操作。
  • 多執行時整合:支援 Open MPI 與 OpenSHMEM。

相關

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