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。
相关
- 项目
- 项目
- 项目
- 项目
- 项目