Knowledge note
Collective Communication Unit (CCU)
A hardware engine that combines remote data movement and reductions for device-side collective communication.
Collective Communication Unit (CCU)
Collective Communication Unit (CCU) is an Ascend hardware engine that executes programmed collective communication by combining remote movement with local reduction operations.
Why It Exists
Large-model training and inference repeatedly exchange and reduce tensors across accelerator ranks. If AI cores or the host perform every copy, synchronization, and reduction step, communication consumes compute cycles and system-bus bandwidth.
How It Works
Software submits a Mission through CCU Management. The instruction implementation dispatches remote movement to URMA and reduction work to CCU Agents, which pair Memory Slices with Reduce Units. The Ascend 950 white paper lists Broadcast, Reduce Scatter, All Gather, All Reduce, All2All, and All2Allv as supported patterns.
Tradeoffs
CCU still depends on a programmed algorithm, message sizes, route topology, and available ports. Hardware offload lowers orchestration cost, but it does not guarantee peak bandwidth for an imbalanced or contention-heavy collective.
Common Confusions
- CCU vs. All-Reduce: All-reduce is a communication pattern; CCU is the hardware engine that can execute that and other patterns.
- CCU vs. a DMA engine: DMA moves data; CCU can coordinate movement with reductions and collective state.
Where It Appears
- Ascend 950 NPU Architecture: Compute, Memory, and Unified Bus — Explains CCU Missions, Memory Slices, Reduce Units, URMA movement, and supported collectives.
Related Terms
- Unified Bus (UB) — The interconnect family carrying CCU traffic.
- URMA — The asynchronous movement semantic used by CCU.
- All-Reduce — A reduction collective.
- All-to-All — A redistribution collective.