openucx/ucc
Unified Collective Communication Library
What it solves
UCC provides a unified API and library for collective communication operations, ensuring high performance and scalability for AI/ML, High-Performance Computing (HPC), and I/O workloads across different hardware and programming models.
How it works
It acts as a flexible communication layer that supports nonblocking operations and a relaxed ordering model. It integrates with various transports and hardware collectives, treating hardware-accelerated collectives as first-class citizens. It is built on top of UCX and supports multiple GPU backends including CUDA and HIP (AMD).
Who it’s for
Developers working on large-scale AI/ML training and HPC applications that require efficient data exchange between multiple processing units (CPUs, GPUs, and DPUs).
Highlights
- Broad Hardware Support: Compatible with InfiniBand, ROCE, CUDA, NCCL, RCCL, and SHARP.
- Scalable Performance: Designed specifically for high-scale AI/ML and HPC workloads.
- Flexible Programming: Supports repetitive collective operations (init once, invoke multiple times) and nonblocking operations.
- Multi-Runtime Integration: Works with Open MPI and OpenSHMEM.
Related
- Project
- Project
- Project
- Project
- Project