华为昇腾(Ascend)910B 的操作和管理主要通过 CANN(异构计算架构) 提供的工具链完成。对于运维、开发和调试人员来说,最核心的工具是
npu-smi(类似于 NVIDIA 的nvidia-smi)。本文介绍华为昇腾 910B 相关操作命令的分类总结及详细介绍:
命令概览
| 类别 | 常用工具/命令 | 主要用途 |
|---|---|---|
| 设备管理与监控 | npu-smi |
查看状态、温度、显存、算力利用率,配置 NPU 参数。 |
| 硬件健康检查 | ascend-dmi |
硬件故障诊断、带宽测试、算力测试。 |
| 模型转换 | atc |
将开源模型(ONNX/TF)转换为昇腾离线模型(.om)。 |
| 版本查询 | cat /usr/local/Ascend/... |
查询驱动、固件、Toolkit 的具体版本。 |
| 容器/集群工具 | ascend-docker-runtime |
在 Docker 中调用 NPU 资源的运行环境。 |
核心操作命令详解
设备监控与管理工具:npu-smi
这是最常用的命令,用于实时监控 910B 的运行状态。
-
查看所有 NPU 概览信息
bashnpu-smi info- 介绍: 列出所有 NPU 的 ID、型号、健康状态、温度、功耗、HBM(显存)使用情况和利用率。
-
查看特定 NPU 的详细信息
bashnpu-smi info -i 0 # -i 指定设备ID- 介绍: 显示 0 号 NPU 的详细参数,包括固件版本、存储带宽利用率等。
-
实时监控(类似 top)
bashnpu-smi info watch watch -n 1 npu-smi info- 介绍: 每秒刷新一次 NPU 状态,常用于观察模型训练时的瞬时负载。
-
查询 NPU 的网络/网口状态(HCCS 互联)
bashnpu-smi info -i 0 -t network- 介绍: 910B 常用于分布式训练,此命令查看片间互联(HCCS)的状态和 IP 配置。
-
清空 NPU 日志
bashnpu-smi clear -i 0 -t log -
其他
# 查出的NPU ID即为设备id
npu-smi info -l
# 查询p2p使能状态
npu-smi info -t p2p-enable -i id硬件诊断与性能测试:ascend-dmi
用于在环境部署初期或出现硬件故障时进行排查。
-
硬件健康自检
bashascend-dmi -hp- 介绍: 快速检查硬件(PCIe、内存、固件等)是否处于健康运行状态。
-
HBM 带宽测试
bashascend-dmi -bw -i 0- 介绍: 测试 0 号 NPU 的高带宽内存(HBM)读写速度。
-
算力性能测试
bashascend-dmi -p -i 0- 介绍: 运行标准的算力负载,检测 910B 是否能达到标称的 TFLOPS 性能。
模型转换工具:atc (Ascend Tensor Compiler)
在推理任务中,必须将第三方模型转为昇腾专用的 .om 格式。
-
模型转换示例
bashatc --model=./yolov5.onnx --framework=5 --output=yolov5_saved --soc_version=Ascend910B1- 参数说明:
--model: 原始模型文件。--framework: 5 代表 ONNX,3 代表 TensorFlow,0 代表 Caffe。--output: 输出的 om 文件名。--soc_version: 关键参数,需指定为Ascend910B1或Ascend910B2等。
- 参数说明:
环境与版本信息查询
排查环境兼容性(如驱动与 Toolkit 是否匹配)时必用。
-
查询驱动版本
bashcat /usr/local/Ascend/driver/version.info -
查询 Toolkit(开发套件)版本
bashcat /usr/local/Ascend/ascend-toolkit/latest/arm64-linux/ascend_toolkit_install.info -
查看 NPU 物理拓扑结构
bashnpu-smi info -t topo- 介绍: 查看 8 张 910B 显卡之间是如何通过 HCCS 互联的,对分布式并行策略优化很有参考价值。
故障排查相关(Log 与 Process)
-
查看 NPU 运行日志(核心)
- 路径通常在:
~/ascend/log/或/var/log/npu/slog/。 - 介绍: 当模型报错或驱动掉卡时,通过
device-0文件夹下的日志定位错误码。
- 路径通常在:
-
查看当前占用 NPU 的进程
bashnpu-smi info -t process -i 0- 介绍: 确认是哪个 PID 在使用 NPU 显存,方便清理僵尸进程。
常用排障流程
- 刚进服务器: 先跑
npu-smi info确保 8 张卡都“在线”(Health 状态为 OK)。 - 准备训练前: 检查驱动版本是否符合 AI 框架(PyTorch/MindSpore)的要求。
- 训练报错时:
- 先看控制台报错。
- 再用
npu-smi info -t process看进程是否还在。 - 最后去
/var/log/npu/slog/搜ERROR关键字。
- 性能不如预期: 跑
ascend-dmi -bw看带宽,或者检查 HCCS 拓扑是否正常。