Collective communication library for HPC, AI/ML, and I/O workloads
Top 97.0% on SourcePulse
Unified Collective Communication (UCC) provides a flexible, feature-rich API for collective communication operations, targeting HPC, AI/ML, and I/O workloads. It aims to deliver highly scalable and performant collectives across various programming models and runtimes, supporting nonblocking operations, flexible resource allocation, and hardware-specific collectives.
How It Works
UCC is built on a component architecture, leveraging UCX (Unified Communication X) for its transport layer. It supports hardware collectives as first-class citizens, enabling optimized communication patterns for GPUs and other accelerators. The design emphasizes flexibility in resource management and synchronization, allowing for repetitive collective operations with a single initialization.
Quick Start & Requirements
autogen.sh
, configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path>
, and make -j install
.Highlighted Details
Maintenance & Community
The project is associated with the openucx organization. Further community and contribution details are available in the CONTRIBUTING
file.
Licensing & Compatibility
UCC is BSD-style licensed, permitting commercial use and integration with closed-source applications.
Limitations & Caveats
Compilation requires building UCX and potentially Open MPI from source. Specific hardware transports and GPU support depend on correctly installing and configuring CUDA or HIP.
2 days ago
1 week