Skip to content

Latest commit

 

History

History
56 lines (40 loc) · 1.5 KB

README.md

File metadata and controls

56 lines (40 loc) · 1.5 KB

Unified Collective Communications (UCC)

UCC is a collective communication operations API and library that is flexible, complete, and feature-rich for current and emerging programming models and runtimes.

Design Goals

  • Highly scalable and performant collectives for HPC, AI/ML and I/O workloads
  • Nonblocking collective operations that cover a variety of programming models
  • Flexible resource allocation model
  • Support for relaxed ordering model
  • Flexible synchronous model
  • Repetitive collective operations (init once and invoke multiple times)
  • Hardware collectives are a first-class citizen

Contributing

Thanks for your interest in contributing to UCC, please see our technical and legal guidelines in the contributing file.

License

UCC is BSD-style licensed, as found in the LICENSE file.

Required packages

  • UCX

    • UCC uses utilities provided by UCX's UCS component
  • Doxygen

    • UCC uses Doxygen for generating API documentation

Compiling and Installing

Developer's Build

$./autogen.sh

$./configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path>

$make 

Build Documentation

$./autogen.sh

$./configure --prefix=<ucc-install-path> --with-docs-only

$make docs