当前位置: 首页 > article >正文

集合通信处理器(CCU)技术解读文档

摘要在大规模分布式训练和推理业务中集合通信的性能是影响整体系统性能的关键瓶颈之一。传统集合通信方式依赖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训练提供了坚实的基础支撑。

相关文章:

集合通信处理器(CCU)技术解读文档

摘要在大规模分布式训练和推理业务中,集合通信的性能是影响整体系统性能的关键瓶颈之一。传统集合通信方式依赖AI CPU、AI Vector等计算单元通过软件协议栈构造通信任务描述符,驱动硬件执行通信任务。然而,这种执行方式不仅需要占用计算核资源…...

Pronto性能优化技巧:如何加速大规模项目的代码审查

Pronto性能优化技巧:如何加速大规模项目的代码审查 【免费下载链接】pronto Quick automated code review of your changes 项目地址: https://gitcode.com/gh_mirrors/pr/pronto Pronto是一款高效的自动化代码审查工具,专为快速检查代码变更而设…...

戴森球计划蓝图库:从模块化部署到系统思维的生产革命

戴森球计划蓝图库:从模块化部署到系统思维的生产革命 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 在戴森球计划的浩瀚宇宙中,高效的工厂设计是星…...

为什么头部自动驾驶团队已在预研C++27反射?——静态反射在嵌入式ABI稳定、安全认证代码生成中的不可替代性揭秘

第一章:C27静态反射的演进脉络与战略定位C27静态反射并非凭空而生,而是ISO C标准化进程中长达十年深度探索的结晶。它继承并重构了C17的std::is_same、C20的std::source_location与反射TS(P0194R8)的语义骨架,同时彻底…...

黑豹X2(Panther-x2)刷机实战:Armbian系统部署与Jellyfin硬件加速配置

1. 黑豹X2设备与Armbian系统简介 黑豹X2(Panther-x2)是一款基于Rockchip RK3566处理器的ARM架构迷你电脑,标配4GB内存和32GB eMMC存储,配备千兆网口、TF卡扩展槽以及无线蓝牙模块。这款设备最大的亮点在于其内置的NPU(…...

如何开发GJSON自定义修饰符:扩展你的JSON处理能力

如何开发GJSON自定义修饰符:扩展你的JSON处理能力 【免费下载链接】gjson Get JSON values quickly - JSON parser for Go 项目地址: https://gitcode.com/gh_mirrors/gj/gjson GJSON是Go语言中一款高效的JSON解析工具,它允许开发者快速从JSON数据…...

网易云音乐无损解析工具:从音质痛点到音乐收藏全方案

网易云音乐无损解析工具:从音质痛点到音乐收藏全方案 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 你是否曾在制作音乐混剪时,因找不到高解析度音频素材而妥协?是否为整理多…...

为什么你的背包背带总在“溜肩”?

Q:为什么有些背包的背带总是往下滑,调整多次也没用? A:这通常是背带“S形曲线”设计不合理导致的。专业背包的肩带并非简单的直线,而是根据人体锁骨和肩胛骨的自然弧度,采用8-12度的复合曲面设计。迪先实验…...

5步掌握B站高清视频下载:开源工具bilibili-downloader完整指南

5步掌握B站高清视频下载:开源工具bilibili-downloader完整指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法…...

告别排版地狱:PaperXie AI,10 分钟让你的毕业论文合规 “零返工”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/format/typesettinghttps://www.paperxie.cn/format/typesetting 引言:被格式细节毁掉的毕业努力 当你熬了无数个夜晚,反复打磨论文的每一个论点&…...

从零到上线仅需4步,Mojo调用Python生态的隐藏API全解密,内部技术白皮书首次公开

第一章:从零到上线仅需4步,Mojo调用Python生态的隐藏API全解密,内部技术白皮书首次公开Mojo 作为新一代系统级编程语言,原生支持无缝调用 Python 生态——但其关键能力并非来自 import 语句,而是通过未公开的 python 装…...

如何通过WeChatMsg实现微信聊天记录的永久保存与智能分析?

如何通过WeChatMsg实现微信聊天记录的永久保存与智能分析? 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

解密AI艺术二维码:5步掌握control_v1p_sd15_qrcode_monster实战进阶

解密AI艺术二维码:5步掌握control_v1p_sd15_qrcode_monster实战进阶 【免费下载链接】control_v1p_sd15_qrcode_monster 项目地址: https://ai.gitcode.com/hf_mirrors/monster-labs/control_v1p_sd15_qrcode_monster 你是否曾为传统二维码的单调外观感到遗…...

Whisper JAX终极错误排查手册:10个常见问题与快速解决方案 ⚡️

Whisper JAX终极错误排查手册:10个常见问题与快速解决方案 ⚡️ 【免费下载链接】whisper-jax JAX implementation of OpenAIs Whisper model for up to 70x speed-up on TPU. 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-jax Whisper JAX是基于JA…...

Windows系统优化神器Winhance:让电脑飞起来的终极指南 [特殊字符]

Windows系统优化神器Winhance:让电脑飞起来的终极指南 🚀 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/…...

Mirage: The Illusion of Visual Understanding

Lab4AI大模型实验室是面向AI开发者、科研党与学习者打造的一站式AI实践平台,深度绑定高性能弹性算力,支持模型复现、训练、推理全流程,以按需计费、低价高效破解高端算力紧缺与成本高昂难题;同步Arxiv前沿论文并提供翻译、导读、分…...

终极指南:如何诊断和优化SeetaFaceEngine的运行速度瓶颈

终极指南:如何诊断和优化SeetaFaceEngine的运行速度瓶颈 【免费下载链接】SeetaFaceEngine 项目地址: https://gitcode.com/gh_mirrors/se/SeetaFaceEngine SeetaFaceEngine是一个高性能的开源人脸识别引擎,包含人脸检测、人脸对齐和人脸识别三大…...

MEMC插帧技术与屏幕分辨率术语解析:从VGA到8K的演进与应用

1. MEMC插帧技术:让画面流畅的秘密武器 第一次在朋友家看体育比赛直播时,我被那种丝滑般的画面震撼到了——足球飞行的轨迹完全没有拖影,运动员的每个动作都清晰可见。后来才知道,这背后是MEMC动态插帧技术在发挥作用。这项技术如…...

告别卡顿!用华为云ECS搭建高性能eNSP Pro服务器,支持大规模组网实验

华为云ECS深度优化指南:解锁eNSP Pro大规模组网实验的终极性能 当你在本地PC上运行eNSP Pro进行网络实验时,是否遇到过这样的困境:模拟5台设备就开始卡顿,复杂拓扑直接崩溃,或者保存配置时进度条像蜗牛爬行&#xff1f…...

TCN实战:用Python和Keras搭建时序分类模型(附MNIST代码)

TCN实战:用Python和Keras搭建时序分类模型(附MNIST代码) 时序数据分类一直是机器学习领域的核心挑战之一。传统RNN架构虽然广泛应用,但其训练复杂度高、并行性差的缺陷日益凸显。2018年提出的时域卷积网络(TCN&#xf…...

微前端架构中awesome-micro-npm-packages的终极应用指南:模块化开发的未来趋势

微前端架构中awesome-micro-npm-packages的终极应用指南:模块化开发的未来趋势 【免费下载链接】awesome-micro-npm-packages A curated list of small, focused npm packages. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-micro-npm-packages awe…...

Arroyo分布式流处理引擎的完整测试策略指南:单元测试、集成测试与SQL测试框架详解

Arroyo分布式流处理引擎的完整测试策略指南:单元测试、集成测试与SQL测试框架详解 【免费下载链接】arroyo Distributed stream processing engine in Rust 项目地址: https://gitcode.com/gh_mirrors/ar/arroyo Arroyo是一个用Rust编写的分布式流处理引擎&a…...

清音刻墨·Qwen3在科研协作中的应用:学术访谈转录+时间锚点标注

清音刻墨Qwen3在科研协作中的应用:学术访谈转录时间锚点标注 想象一下这个场景:你刚刚结束了一场长达两小时的深度学术访谈,录音文件静静地躺在电脑里。接下来,你需要逐字逐句地听写、整理、校对,再手动为每一句话打上…...

YOLO X Layout参数详解:IOU阈值对Table嵌套结构识别准确率的影响实验

YOLO X Layout参数详解:IOU阈值对Table嵌套结构识别准确率的影响实验 1. 引言 在日常文档处理工作中,我们经常遇到包含复杂表格结构的文档,特别是那些嵌套表格、合并单元格的复杂布局。YOLO X Layout作为基于YOLO模型的文档版面分析工具&am…...

Joplin进阶玩法:用5块钱/月的NAS实现企业级笔记同步(群晖DSM7+Cpolar实战)

Joplin进阶玩法:用5块钱/月的NAS实现企业级笔记同步(群晖DSM7Cpolar实战) 在信息爆炸的时代,个人知识管理已成为现代职场人的核心竞争力。传统云笔记服务如Evernote、Notion虽然功能丰富,但高昂的订阅费用(…...

Elasticsearch RTF安全配置终极指南:X-Pack安装与免费License申请教程

Elasticsearch RTF安全配置终极指南:X-Pack安装与免费License申请教程 【免费下载链接】elasticsearch-rtf elasticsearch中文发行版,针对中文集成了相关插件,方便新手学习测试. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearc…...

如何在Windows系统中轻松访问Linux分区?Ext2Read的5个实用技巧

如何在Windows系统中轻松访问Linux分区?Ext2Read的5个实用技巧 【免费下载链接】ext2read A Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows. 项目地址: https://gitcode.com/gh_mirrors/ex/ext2read 你是否曾经在…...

GD32F303 Flash安全实战:从配置字到固件加密的全面防护

1. GD32F303 Flash安全防护的必要性 在嵌入式产品量产过程中,Flash安全防护是每个开发者都必须重视的关键环节。以GD32F303为例,这颗国产MCU凭借出色的性价比在工业控制、消费电子等领域广泛应用,但同时也面临着程序被非法读取、篡改的风险。…...

从‘RIP’这道题出发,聊聊IDA分析PWN题时新手常踩的3个坑(附正确姿势)

从‘RIP’这道题出发,聊聊IDA分析PWN题时新手常踩的3个坑(附正确姿势) 在CTF竞赛中,PWN题往往是最考验选手底层功力的题型之一。而作为静态分析利器的IDA Pro,虽然功能强大,但新手在使用过程中常常会陷入一…...

别再手动对齐时序了!SystemVerilog Clocking Block实战:从接口封装到UVM验证的保姆级避坑指南

SystemVerilog Clocking Block深度实战:告别时序混乱的验证艺术 在数字验证的世界里,时序问题就像潜伏在代码中的幽灵,总是在最意想不到的时刻制造麻烦。想象一下这样的场景:你的测试用例逻辑完美无缺,却在信号采样时遭…...