摘要在大规模分布式训练和推理业务中集合通信的性能是影响整体系统性能的关键瓶颈之一。传统集合通信方式依赖AI CPU、AI Vector等计算单元通过软件协议栈构造通信任务描述符驱动硬件执行通信任务。然而这种执行方式不仅需要占用计算核资源而且软件接口的开销较大叠加计算算子后计算和通信会抢占多种硬件资源导致效率下降。为了解决这一问题Ascend 950中引入了集合通信处理器Collective Communication UnitCCU作为专用协处理器用于加速集合通信任务。CCU可接收NPU调度器下发的集合通信任务根据软件预置的通信算法指令完成跨NPU的同步、地址交换、数据传输以及归约Reduce运算从而实现完整的集合通信能力。正文过去的五年间AI业务发展迅速。在2020年到2022年期间常规模型的训练和推理方案通常采用计算和通信串行执行的方式在模型并行、序列并行、专家并行等场景下应用广泛但计算和通信无法完全掩盖导致资源利用率较低。随着技术的发展粗粒度通算overlap技术开始出现通过计算和通信的一部分可以实现overlap适用于大数据量的计算和通信场景但访存带宽需求较高仍然存在瓶颈。到了2025年细粒度通算overlap技术进一步发展实现了计算和通信的融合并发执行适用于模型并行、序列并行、专家并行以及上下文并行等更广泛的场景但计算和通信对计算核资源和访存带宽的竞争依然激烈。AI通信算子流量特征表现出强烈的突发性尤其在多卡同步通信场景下如AllReduce操作会瞬间产生大量数据读写集中占用内存带宽与总线资源。同时传输数据量巨大梯度聚合、参数同步以及激活值传输等操作均涉及大量处理单次通信的数据量往往十分庞大。此外通信数据的规约过程需要频繁读写内存进一步加剧了对内存带宽的需求。以8P Allreduce为例总的内存带宽需求详细计算如下在接收方向7个端口会同时接收来自Fullmesh对端的数据并需要排队进行求和操作这一过程中每个端口的数据都需要读写内存一次因此接收方向的内存带宽需求为2*7*BW_port。而在发送方向本端的数据需要从7个端口同时发送每个端口发送前需读取内存一次因此发送方向的内存带宽需求为7*BW_port。综上所述合计的内存带宽需求为接收和发送方向的总和即3*7 BW_port。上述数据收发过程的数据量都在MB级别这一计算过程充分展示了Allreduce操作在多卡同步通信时对内存带宽的极高需求。为了解决计算核资源和访存带宽的抢占问题昇腾950引入了CCU它能够专门为通信任务提供专用硬件支持避免与计算任务竞争资源从而提升整体的训练和推理效率。计算核资源抢占方面通过深入分析集合通信基础任务模式定制集合通信专用指令集昇腾950在IO Die上放置了CCU这一全新的硬件单元。CCU具备以下基础能力a. 同步内置同步寄存器同步状态检查可在CCU内部闭环大大提升了同步性能b. 数据传输CCU可以调度通信任务到下游的通信设备并且CCU位于IO Die数据传输任务的调度考校小c. 数据规约CCU内部具备向量运算单元支持Sum/Max/Min等常规规约操作。通过这些能力CCU可以独立完成集合通信操作解除了对计算核资源的依赖。另外CCU也具备一定的逻辑控制能力允许用户定制集合通信算子以满足多种场合的需求。访存带宽抢占方面CCU通过使用片上缓存进行数据中转以此降低内存访问。下图是4P场景Reduce和Broadcast两个基本操作Reduce操作通过从远端读取数据到本地MS与本地内存数据进行归约最终写回本地内存。如果不使用片上缓存在对每个对端的数据进行规约时都需要读写一次本地数据再加上每个对端对本地数据的读取共需要进行2(n-1)次读和n-1次写如果使用片上缓存那么只需要1次本地数据的读取以及1次规约后的写回再加上每个对端对本地数据的读取共需要进行n次读和1次写。Broadcast操作同理可将n-1次读和n-1次写降低为1次读和n-1次写。此外CCU还可以利用片上缓存和归约单元确保加法顺序和浮点数截断误差可控有效提升归约运算的精度和确定性。CCU集合通信算子示例如下图所示CCU可以实现如下数据流a. 从本地内存加载控制参数到片上寄存器b. 片上缓存和本地内存间的数据搬运c. 片上缓存和远端内存间的数据搬运d. 本地内存和远端内存间的数据搬运并且此类数据搬运支持随路规约。CCU的片上缓存有限为了能有效地利用带宽必须能够同时发出多个读写操作。CCU的Loop/LoopGroup分别提供了循环/并发的能力。Loop支持循环执行指令序列LoopGroup支持多个Loop并发执行。下图展示了ReduceScatter算子的完整流程这里重点展开数据搬运阶段。在数据搬运阶段数据被均分到Loop中执行每个Loop循环完成分配的数据搬运。在此基础上LoopGroup保证了Loop的并发执行以高并发来掩盖单次数据搬运的时延达到高效带宽利用的目的。总结CCU作为昇腾NPU的专用集合通信协处理器通过硬件加速、片上缓存、确定性归约等特性显著提升了集合通信的性能和效率。其设计充分考虑了分布式训练和推理业务对带宽、精度、确定性和时延的高要求为大规模AI训练提供了坚实的基础支撑。