华为昇腾(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 概览信息
- 介绍: 列出所有 NPU 的 ID、型号、健康状态、温度、功耗、HBM(显存)使用情况和利用率。
-
查看特定 NPU 的详细信息
npu-smi info -i 0 # -i 指定设备ID
- 介绍: 显示 0 号 NPU 的详细参数,包括固件版本、存储带宽利用率等。
-
实时监控(类似 top)
- 介绍: 每秒刷新一次 NPU 状态,常用于观察模型训练时的瞬时负载。
-
查询 NPU 的网络/网口状态(HCCS 互联)
npu-smi info -i 0 -t network
- 介绍: 910B 常用于分布式训练,此命令查看片间互联(HCCS)的状态和 IP 配置。
-
清空 NPU 日志
npu-smi clear -i 0 -t log
硬件诊断与性能测试:ascend-dmi
用于在环境部署初期或出现硬件故障时进行排查。
-
硬件健康自检
- 介绍: 快速检查硬件(PCIe、内存、固件等)是否处于健康运行状态。
-
HBM 带宽测试
- 介绍: 测试 0 号 NPU 的高带宽内存(HBM)读写速度。
-
算力性能测试
- 介绍: 运行标准的算力负载,检测 910B 是否能达到标称的 TFLOPS 性能。
模型转换工具:atc (Ascend Tensor Compiler)
在推理任务中,必须将第三方模型转为昇腾专用的 .om 格式。
- 模型转换示例
atc --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 是否匹配)时必用。
- 查询驱动版本
cat /usr/local/Ascend/driver/version.info
- 查询 Toolkit(开发套件)版本
cat /usr/local/Ascend/ascend-toolkit/latest/arm64-linux/ascend_toolkit_install.info
- 查看 NPU 物理拓扑结构
- 介绍: 查看 8 张 910B 显卡之间是如何通过 HCCS 互联的,对分布式并行策略优化很有参考价值。
故障排查相关(Log 与 Process)
-
查看 NPU 运行日志(核心)
- 路径通常在:
~/ascend/log/ 或 /var/log/npu/slog/。
- 介绍: 当模型报错或驱动掉卡时,通过
device-0 文件夹下的日志定位错误码。
-
查看当前占用 NPU 的进程
npu-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 拓扑是否正常。