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