HCCL Overview

Huawei Collective Communication Library (HCCL) is a high-performance collective communication library based on Ascend hardware. It provides a high-performance and high-reliability communication solution for computing clusters.

Key Functions

  • Provides high-performance collective communication and point-to-point communication in single-server and multi-server environments.
  • Supports collective communication primitives such as AllReduce, Broadcast, AllGather, ReduceScatter, AlltoAll, Send, and Receive.
  • Supports communication algorithms such as Ring, Mesh, and Recursive Halving-Doubling (RHD).
  • Supports high-speed communication links such as HCCS, RoCE, PCIe, and Unified Bus (UB).
  • Supports two execution modes: single-operator and graph.
  • Supports custom development of communication operators.

Software Architecture

HCCL is a core component of CANN and provides a high-performance and high-reliability communication solution for NPU clusters. HCCL supports multiple AI frameworks and implements efficient interconnection between multiple Ascend AI processors, as shown in the following figure.

Figure 1 HCCL software architecture
HCCL consists of the HCCL and Huawei Communication (HCOMM) libraries.
  • HCCL: includes built-in communication operators and extended communication operators, and provides external communication operator APIs.
    • Built-in communication operators: basic communication operators provided by HCCL, including collective communication operators and point-to-point communication operators.
    • Extended communication operators: communication operators customized using the APIs provided by the HCOMM library.
  • HCOMM library: uses the layered decoupling design to divide communication capabilities into the control plane and data plane capabilities.
    • Control plane: provides topology information query and communication resource management functions.
    • Data plane: provides data movement and computing functions such as local operations, inter-operator synchronization, and communication operations.

    The control plane provides communication resources, and the data plane provides methods for operating resources. The provided APIs enable communication operator developers to focus on service innovation without paying attention to complex implementation details at the bottom layer of the chip.

Supported Products

  • Atlas 350 Accelerator Card
  • Atlas A3 training product/Atlas A3 inference product
  • Atlas A2 training product/Atlas A2 inference product
  • Atlas training product
  • Atlas inference product

For Atlas A2 training product/Atlas A2 inference product, only the Atlas 800T A2 training server, Atlas 900 A2 PoD cluster basic unit, and Atlas 200T A2 Box16 heterogeneous subrack are supported.

For the Atlas inference products, only the Atlas 300I Duo inference card is supported.