昇腾 CANN 异构平台:MindCluster ToolBox NPU 性能压测详解
1. 概述
1.1 工具简介
实用工具包MindCluster ToolBox中包括Ascend DMI工具、日志收集工具和Ascend Cert工具。
- Ascend DMI工具主要为Atlas产品的标卡、板卡及模组类产品提供带宽测试、算力测试、功耗测试等功能。
- 日志收集工具主要在故障分析定位时收集运行环境信息、昇腾NPU健康信息、昇腾软件日志、Device的系统级日志和MindEdge、MindSDK日志。
- Ascend Cert工具主要为软件包提供数据签名校验、CRL证书吊销列表的比较更新功能,保证软件包的安全性和CRL文件的有效性。
MindCluster ToolBox 工具包内置 Ascend‑DMI 硬件诊断工具,支持: - AI Core 算力测试(FP16 / INT8)
- 带宽测试:Host‑Device、Device‑Host、P2P 设备间、HCCS/PCIe 总线带宽
- 功耗采集、压力压测、信号质量诊断
- 设备健康状态检查、硬件性能基线核验昇腾社区
适用硬件:Atlas 全系列昇腾 NPU;支持 x86‑64、AArch64 操作系统。 配套软件:驱动固件、CANN(社区 / 商用版)、MindCluster‑7.1.RC1 ToolBox。
1.2 测试目的
- 硬件到货验收:核验昇腾卡算力、带宽指标是否满足硬件标称规格。
- 故障定位:定位性能劣化、链路异常、硬件故障。
- 集群上线前基线采集,作为后续业务性能比对基准。
1.3 前置约束与风险提示
- 性能测试建议裸机环境执行,避免容器虚拟化、业务进程抢占 NPU 资源,干扰测试结果。
- 测试前关闭 NPU 上运行的推理 / 训练业务,降低后台日志级别为 ERROR,避免日志打印消耗性能。
- 算力、带宽压测会拉高芯片功耗与温度,注意散热,防止过热降频。
- 测试需要 root 权限。
2. 环境部署
2.1 基础环境
服务器:鲲鹏920服务器 (aarch64)
NPU卡:310I Duo卡 X 2
操作系统:UOS V2510
CANN版本:8.2.RC1
如果使用其他版本NPU卡或者CANN版本,请从官网下载对应的驱动和套件安装包。
https://www.hiascend.com/hardware/firmware-drivers/community?product=2&model=15&cann=8.0.RC2.beta1&driver=1.0.25.alpha
2.2 310I Duo卡规格参数
| 项目 | Atlas 300I Duo |
|---|---|
| AI 算力‑INT8 | 280 TOPS |
| AI 算力‑FP16 | 140 TFLOPS |
| 内置 CPU | 16 核 ×1.9GHz |
| 能效比 | 1.86 TOPS/W |
| 内存规格 | LPDDR4X 48GB/96GB,带宽 408GB/s,ECC 支持 |
| PCIe 接口 | PCIe Gen4.0 x16,兼容 x8/x4/x2;向下兼容 PCIe3.0 |
| 最大功耗 | 150W |
| 工作温度 | 0℃~55℃ |
| 物理形态 | 全高全长、单槽位 |
| 典型场景 | 视频分析、大参数量推理、多路视频解析,算力显存需求更高场景 |
2.3 安装NPU驱动、固件以及CANN异构平台环境
CANN异构平台环境部署可参考“[[UOS V2500 昇腾CANN异构平台部署手册]]”文档。
2.4 安装MindCluster ToolBox
# 下载软件包
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/MindX/MindX%207.1.RC1/Ascend-mindx-toolbox_7.1.RC1_linux-aarch64.run
# 增加对软件包的可执行
chmod +x Ascend-mindx-toolbox_7.1.RC1_linux-aarch64.run
# 执行如下命令校验软件包安装文件的一致性和完整性。
./Ascend-mindx-toolbox_7.1.RC1_linux-aarch64.run --check
# 若显示如下信息,说明软件包满足一致性和完整性。
Verifying archive integrity... 100% SHA256 checksums are OK. All good.
# 执行以下命令安装软件
./Ascend-mindx-toolbox_7.1.RC1_linux-aarch64.run --install
# 安装完成后,若显示如下信息,则说明软件安装成功:
[INFO] Ascend-mindx-toolbox_7.1.RC1_linux-aarch64 install success
# 设置环境变量
source /usr/local/Ascend/toolbox/set_env.sh
# 永久设置环境变量
echo 'source /usr/local/Ascend/toolbox/set_env.sh' >> ~/.bashrc
source ~/.bashrc
# 设置日志级别,当ASCEND_DMI_LOG_LEVEL值为1时,会记录debug日志。日志路径/var/log/ascend-dmi/ascend-dmi-debug.log
export ASCEND_DMI_LOG_LEVEL=1
3. 测试项总览
| 测试分类 | 测试内容 | 工具命令关键字 | 测试目的 |
|---|---|---|---|
| 算力测试 | FP16/INT8 理论算力 | --flops | 校验 AI Core 实际算力是否达标 |
| 带宽测试 | Host↔Device 带宽 | --bw -t h2d / d2h | 校验 PCIe 总线吞吐 |
| Device‑Device P2P 带宽 | --bw -t p2p | 校验板间 HCCS/PCIe 通信带宽 | |
| 信号质量诊断 | HCCS/PCIe 眼图质量 | --sq | 排查硬件链路信号劣化 |
| 压力压测 | 片上内存压测 | --stress | 长时间稳定性验证 |
| 功耗测试 | 满负载功耗采集 | -p | 获取满负载功耗基线 |
4. 详细测试操作指南
4.1 算力测试(–flops)
原理:执行批量矩阵乘运算,统计运算量与耗时,计算芯片实际 AI Core 算力,同时采集实时功耗。
# 算力测试命令的可用参数查询
ascend-dmi -f -h
# 单设备测试,‑d指定device id,默认0
ascend-dmi --flops -d -0
# 全部设备批量测试
ascend-dmi --flops --all
# quiet静默输出,便于脚本采集结果
ascend-dmi --flops --all --quiet
# 指定Device,指定算子运算类型为int8,和执行次数 6000万次
ascend-dmi -f -t int8 -d 2 --et 60
# 测试整机算力
ascend-dmi -f -t int8 --all -q
输出关键字段:
- FP16 TFLOPS:FP16 算力
- INT8 TOPS:INT8 算力
- Power (W):测试过程平均功耗
判定标准:实测值≥硬件标称算力的 80% 为合格;结果远低于标称值,排查固件驱动、散热降频、硬件故障。
注意:不同芯片矩阵乘参数(m/k/n)工具内部自动适配,无需用户手动修

4.2 带宽测试(–bw)
带宽测试包含四类场景:h2d 主机到设备、d2h 设备到主机、p2p 设备间互访。
通用参数说明:
-t:指定带宽类型 h2d/d2h/p2p‑‑ds:源设备 ID‑‑dd:目标设备 ID-s:传输数据大小,单位 MB,默认 128M
# 查看带宽测试命令的可用参数
ascend-dmi --bw -h
# 基础命令,不带参数则默认查询在Device 0,以h2d、d2h、d2d三个数据流向和步长模式显示的带宽耗时信息
ascend-dmi --bw -q
# 指定 Device 定长模式迭代100次,指定size为128M为例 h2d模式
ascend-dmi --bw -t h2d -d 0 --et 100 -s 134217728 -q
# 测试数据从Device0侧传输到同一Device0侧的带宽与总耗时为例
ascend-dmi --bw -t d2d -d 0 -q
# 测试数据从源头Device 0传输到目标Device 1,执行次数为100,size为128M的p2p测试为例
ascend-dmi --bw -t p2p --dd 0 --ds 1 --et 100 -s 134217728 -q
# 测试不指定源头Device和目标Device的p2p样例
ascend-dmi --bw -t p2p -q
# 测试超节点在p2p模式下,不指定源头Card和目标Card,指定了卡粒度的p2p样例
ascend-dmi --bw -t p2p -q --mode card
注意:p2p 测试结果可能略高于硬件标称带宽,属于缓存预取优化正常现象;带宽明显偏低,优先排查 BIOS PCIe 配置、HCCS 线缆、固件版本昇腾社区。

4.3 信号质量测试(–sq)
用于 HCCS、PCIe 链路信号质量检测,定位硬件链路隐患。
# 链路信号质量,用于 HCCS、PCIe 链路信号质量检测,定位硬件链路隐患。
ascend-dmi --sq

4.4 一键式片上内存压测诊断
Ascend DMI提供一键式片上内存压测诊断功能,即执行一次命令即可进行片上内存诊断、片上内存压测、片上内存高危地址压测,并输出测试结果。
ascend-dmi -dg -i hbm -s --auto-test -q

通过结果可以看出当前产品形态不支持该项检测。
故障检查项说明
| 参数 | 说明 |
|---|---|
| PASS | 一键式片上内存压测诊断通过,无异常。 |
| EMERGENCY_WARN | 历史多比特隔离页数及设备隔离行过多,告警NPU芯片健康管理故障码为0x80E18402,建议更换备件。 相同Stack及PC内的隔离行处于不同Bank的数量 ≥ 4,当前设备运行存在高风险,建议更换备件。 相同Stack、相同Sid及不同PC内的隔离行 ≥ 4,当前设备运行存在高风险,建议更换备件。 相同Stack、Sid、PC及Bank内的隔离行 >16,当前设备运行存在高风险,建议更换备件。 相同Stack、Sid、PC及Bank内,排除4bit及以内相邻的错误地址,其他不同地址的数量 > 5,当前设备运行存在高风险,建议更换备件。 压测过程中连续3次有隔离页增加。 |
| SKIP | 当前产品形态不支持该项检测。 |
| FAIL | 一键式片上内存压测诊断执行失败,请联系华为工程师处理或参考FAQ进行定位。 |
4.5 功耗测试(-p)
功耗测试是通过运行单算子模型来检测整卡的功耗信息。
# 功耗测试命令的可用参数查询
ascend-dmi -p -h
# 以默认参数执行功耗测试为例(此时算子运算类型为fp16)
ascend-dmi -p
# 以算子运算类型为int8
ascend-dmi -p -t int8
# 以执行时间为60s,信息的打印间隔时间为5s,屏幕的输出模式为清除历史记录为例。
ascend-dmi -p --dur 60 --it 5 --pm refresh
# 以执行功耗测试,且指定压测类型为edp为例
ascend-dmi -p -pt edp -q

4.6 日志收集
如遇到异常,使用 ToolBox 日志工具收集信息,用于问题定位:
ascend‑dmi --logcollect
5. 常见现象
- 算力远低于标称值
- 检查 npu‑smi 查看是否温度过高降频;确认散热;确认固件驱动版本匹配;确认无其他进程占用 NPU。
- 带宽性能偏低
- BIOS 确认 PCIe 模式为最高速率;物理插槽更换;多卡检查 HCCS 线缆连接;升级 HDK 固件。
- 信号质量
--sq指标不达标
- 硬件链路问题,优先重新插卡、更换线缆,仍异常联系硬件返修。
- 测试中途设备掉线
- 供电不足、过热、硬件故障,查看 npu‑smi 日志、dmesg。
6. 参考文档
社区官方文档:https://www.hiascend.com/document/detail/zh/mindcluster/71RC1/toolbox/toolboxug/toolboxug_0002.html
更多推荐




所有评论(0)