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

CANN-昇腾NPU-多机多卡-怎么把16卡用出32卡的效果

16 张 Atlas 800I A2 的理论算力是 16 × 310 4960 TFLOPSfp16。但实际训练 Llama2-7B 只用到了 3200 TFLOPS——利用率 64%。这篇讲怎么把利用率从 64% 提到 85%等效 16 卡用出 25 卡的效果。利用率低的原因理论算力: 16 × 310 4960 TFLOPS 实际算力: 3200 TFLOPS 利用率: 64% 原因分解: - 通信开销: 12% (All-Reduce 等待) - 显存搬运: 8% (HBM ↔ AI Core) - 算子调度: 6% (Python → C 开销) - padding 浪费: 5% (序列长度不对齐) - 有效计算: 64%优化 1通信计算重叠MC2已有文章讲过 MC2。把 All-Reduce 跟下一层计算并行通信开销从 12% 降到 3%。优化 2Double Buffer算子计算的同时预取下一批数据modelLLM(meta-llama/Llama-2-7b-hf,devicenpu:0,1,2,3,4,5,6,7,tensor_parallel_size8,double_bufferTrue,# 开启 Double Buffer)Double Buffer 让 DMA 搬运和 AI Core 计算并行显存搬运开销从 8% 降到 3%。优化 3静态 Shape 编译动态 Shape 每次都重新编译浪费 30-60s。静态 Shape 编译一次永久使用modelLLM(meta-llama/Llama-2-7b-hf,devicenpu:0,dynamic_shapeFalse,# 静态 Shape 编译max_seq_len4096,# 固定最大长度)所有请求 pad 到 4096编译一次后续零编译开销。Padding 浪费 5% 算力但省掉了编译开销更大。如果不想 Pad 到最大长度可以用分桶BucketmodelLLM(meta-llama/Llama-2-7b-hf,devicenpu:0,dynamic_shapeTrue,bucket_boundaries[512,1024,2048,4096],# 分桶)每个桶编译一份 om 文件请求按长度分配到不同桶。Padding 浪费 1%编译开销也小4 个桶 4 次编译。优化 4算子融合最大化GE 的 graph-autofusion 默认只做安全融合不会出错的融合。可以开激进融合importtorch_npu# 开启激进融合可能轻微精度损失torch_npu.npu.set_optimize_option(aggressive)modeltorch.compile(model,backendnpu)激进融合会把更多算子合并如 LayerNorm Attention、FFN Dropout调度开销从 6% 降到 3%。精度损失约 0.1-0.3%通用场景可接受。优化 5Batch Size 调优Batch size 太小 → GEMM 利用率低。Batch size 太大 → OOM 或 KV Cache 不够。# 自动搜索最优 batch sizefromatbimportauto_tune_batch optimal_batchauto_tune_batch(modelmeta-llama/Llama-2-7b-hf,devicenpu:0,max_latency_ms100,# 首 token 延迟不超过 100ms)print(fOptimal batch size:{optimal_batch})# 输出: 32Llama2-7B 在 Atlas 800I A2 上batch32 时 GEMM 利用率 65%batch64 时 78%batch128 时 85%但 KV Cache 不够。综合效果优化组合NPU 利用率等效卡数无优化64%16 卡 MC273%18.4 卡 Double Buffer78%19.7 卡 静态 Shape分桶82%20.7 卡 激进融合85%21.5 卡 最优 Batch Size88%22.2 卡从 16 卡到等效 22 卡提升 38%。距离理论极限100%还有 12%那是 AI Core 的固有开销指令发射、循环控制等。跟 AOE 的配合AOE 自动调优 Tiling 参数进一步提 5-10%aoe--job_type2\--model_pathmodel.onnx\--configaoe_config.jsonAOE 上面 5 个优化一起上NPU 利用率能到 90-92%等效 16 卡用出 25-26 卡的效果。把 16 卡用出 32 卡的效果核心是提升 NPU 利用率。通信计算重叠MC2、Double Buffer、静态 Shape分桶、激进融合、最优 Batch Size——五个优化一起上利用率从 64% 提到 88%。仓库在这里https://atomgit.com/cann/ATBhttps://atomgit.com/cann/AOE

相关文章:

CANN-昇腾NPU-多机多卡-怎么把16卡用出32卡的效果

16 张 Atlas 800I A2 的理论算力是 16 310 4960 TFLOPS(fp16)。但实际训练 Llama2-7B 只用到了 3200 TFLOPS——利用率 64%。这篇讲怎么把利用率从 64% 提到 85%,等效 16 卡用出 25 卡的效果。 利用率低的原因 理论算力: 16 310 4960 TFL…...

C++中多才多艺的 const

1. 定义一个常全局变量1const int global 100; // 初始化之后不可再赋值这样的global实际上是一个常量,这是C用来取代宏定义的其中一种措施,const常量有类型检测,提高编译器的效率。2. 定义常指针这有两个版本,分别是&#xff1a…...

新手学习Linux系统的11点建议

随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题…...

Linux操作系统安装图文配置教程详细版

随着嵌入式的发展,Linux的知识是必须的一部分,下面就让我们进行Linux系统的安装过程演示:一、 Linux的安装在此博客中以红旗(Red Flag)Asianux Workstation 3为例进行描述,其他版本的Linux与此相似。 1.1 安…...

HermesAgent工具如何快速对接Taotoken的多模型服务提供商

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 HermesAgent工具如何快速对接Taotoken的多模型服务提供商 基础教程类,本文将指导使用HermesAgent工具的开发者&#xf…...

今天不建Lovable ML平台,明天就被团队弃用!2025年AI工程团队留存率预警下的4步速建法

更多请点击: https://kaifayun.com 第一章:Lovable ML平台搭建 构建一个真正“可亲、可用、可信赖”的机器学习平台,核心不在于堆砌尖端框架,而在于以开发者体验(DX)和数据科学家工作流为设计原点。Lovab…...

写给新手的 asnumpy:昇腾原生 NumPy 到底是啥?

上周组里新来个校招生,看到代码里有个 asnumpy() 问我:“哥,这跟 NumPy 有啥区别?为啥不直接用 NumPy?” 好问题。今天一次说清楚。 asnumpy 是啥? asnumpy 是昇腾 NPU 上的原生 NumPy 实现。 一句话说清楚…...

【流体】二维稳态不可压缩层流通道流利用FVM和SIMPLE 解平行板间层流的速度、压力和温度【含Matlab源码 15558期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…...

STM32H5安全连接AWS IoT:基于TrustZone与Secure Manager的物联网方案

1. 项目概述:当STM32H5遇上AWS云如果你正在用STM32H5系列高性能MCU做物联网设备开发,并且想把数据安全地送到AWS云上,那么意法半导体最近发布的这个X-CUBE-AWS-H5扩展包,绝对值得你花时间深入研究。这不仅仅是一个简单的“库文件”…...

联发科MT6833与MT6853 5G核心板:规格对比与产品选型实战指南

1. 项目概述:两款5G安卓核心板的定位与价值在当前的移动设备开发领域,尤其是面向中高端市场的智能手机、平板电脑以及各类智能终端,选择一颗性能强劲、功能集成度高且成本可控的核心处理器平台,是决定产品成败的关键。联发科&…...

【燃烧机】模拟了燃烧机的热力学循环分析活塞动力学以及温度和压力变化对发动机效率的影响【含Matlab源码 15557期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…...

基于DSP与SC1083 ADC的光纤远程数据采集系统设计实战

1. 项目概述:当DSP遇上高速光缆,如何构建一个“快、准、稳”的远程数据采集系统在工业自动化、电力监测、超声无损检测这些领域,我们经常需要面对一个头疼的问题:如何把现场传感器采集到的大量、高速、有时甚至是微弱的模拟信号&a…...

瑞芯微RK3568与RK3566芯片选型指南:从接口差异到应用场景深度解析

1. 项目概述:为何要深挖这两颗“芯”?在嵌入式开发和智能硬件选型的圈子里,瑞芯微(Rockchip)的RK3568和RK3566是近两年曝光率极高的两颗“明星”芯片。很多刚接触的朋友第一眼看去,会觉得它们很像&#xff…...

AI智能体Skills设计:从API工具到核心能力的工程实践

1. 从“工具”到“能力”:重新理解AI智能体的Skills最近和几个做AI应用开发的朋友聊天,发现一个挺有意思的现象:大家一提到给智能体加“Skills”,第一反应往往是去翻看官方文档,找那个叫“Tools”或者“Functions”的列…...

嵌入式开发硬件生态构建:MIPI屏、UVC摄像头与4G模块的选型与集成实战

1. 项目概述:一次面向嵌入式开发者的硬件生态补全最近,我们团队负责的睿擎派(一个基于瑞芯微RK3566/RK3588等主流芯片的嵌入式开发板品牌)项目,迎来了一次重要的硬件配件更新。这次上新不是简单的“换个壳”&#xff0…...

为内部培训系统集成Taotoken提供个性化学习内容生成与答疑

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部培训系统集成Taotoken提供个性化学习内容生成与答疑 在企业内部培训领域,技术部门常面临一个需求:如…...

观察Taotoken在不同时段与地域的API响应延迟表现

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察Taotoken在不同时段与地域的API响应延迟表现 对于依赖大模型API进行开发的团队而言,服务的响应延迟是影响开发效率…...

C++超详细讲解析构函数

析构函数是特殊的成员函数特征如下:析构函数名是~类名;无参数无返回值;一个类有且只有一个析构函数;对象声明周期结束,编译器自动调用析构函数;12345678910111213141516171819202122232425262728293031clas…...

Tina Linux嵌入式开发实战:从系统架构到应用移植全解析

1. 项目概述如果你正在接触全志科技的Tina Linux平台,无论是作为软件开发工程师还是技术支持,面对一个全新的嵌入式Linux SDK,最头疼的莫过于如何快速上手,理清从环境搭建到系统定制的整个脉络。这份指南就是为你准备的。Tina Lin…...

3分钟上手跨平台资源下载神器:轻松获取微信视频号、抖音无水印内容

3分钟上手跨平台资源下载神器:轻松获取微信视频号、抖音无水印内容 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...

SAS宏编程中IN运算符的三种实现方法与实战应用

1. 项目概述:从“硬编码”到“智能匹配”的宏编程跃迁在SAS宏编程的世界里,我们常常会遇到一个经典困境:如何优雅地处理一组离散的、但逻辑上同属一个类别的值?比如,你需要根据用户传入的省份名称,执行不同…...

权威深度指南:使用iperf3 Windows版进行网络性能评估与优化实战

权威深度指南:使用iperf3 Windows版进行网络性能评估与优化实战 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds iperf3 Windows版是专业…...

汽车12V电源防护:P6KE TVS二极管选型、设计与实战指南

1. 项目概述:汽车电源线上的“隐形保镖”在汽车电子系统的设计里,12V直流电源线是整车的能量动脉,从蓄电池到ECU(发动机控制单元)、从车身控制器到娱乐系统,几乎所有的电子模块都离不开它。但这条“动脉”所…...

汽车12V电源保护:TVS二极管选型、应用与EMC测试实战

1. 项目概述:为什么汽车12V电源线需要“特种保镖”?在汽车电子系统里,那根看似普通的12V DC电源线,其实是个“压力山大”的角色。它不仅要给车机、仪表、传感器、ECU(电子控制单元)这些“大脑”和“神经”稳…...

基于RK3399核心板的智能PCR仪开发:从嵌入式系统到高精度温控

1. 项目概述:当PCR仪遇上高性能核心板在分子生物学实验室里,PCR仪(聚合酶链式反应仪)是当之无愧的“C位”设备。从基础的病原体检测、基因分型,到前沿的基因编辑、高通量测序文库构建,几乎每一个实验环节都…...

如何快速解决Windows 11区域模拟问题:完整API钩子技术指南

如何快速解决Windows 11区域模拟问题:完整API钩子技术指南 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款强大的系统区域和语言模拟工具&…...

增程式电动汽车预测型能量管理策略【附算法】

✨ 长期致力于增程式电动汽车、能量管理策略、车速预测、广义回归神经网络、动态规划研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于AIC准则的自…...

RK3588核心板开发全解析:从8K编解码到NPU AI应用实战

1. 项目概述:当“八核”遇上“8K”,一块核心板能做什么?最近拿到了一块RK3588的核心板套件,这玩意儿在圈子里热度一直不低。RK3588这颗芯片,从发布之初就被贴上了“旗舰”、“全能”的标签,八核CPU、8K编解…...

5G FWA智能终端技术解析:从核心原理到部署实践

1. 项目背景与行业意义最近在圈子里看到一则消息,美格智能的5G FWA智能终端产品成功中标了中国联通的招标项目。这消息乍一看像是普通的商业新闻,但对于我们这些常年泡在通信和物联网领域的人来说,这背后其实藏着不少值得琢磨的门道。它不仅仅…...

5G FWA智能终端技术解析:从核心架构到运营商集采实战

1. 项目概述:一次典型的5G FWA终端集采中标事件最近,业内传来一个挺有意思的消息,美格智能的5G FWA智能终端产品,在中国联通的一个招标项目中成功中标了。对于不熟悉通信行业的朋友来说,这听起来可能就是个普通的商业新…...