1. 什么是 npu-smi
npu-smi 是华为提供的一个命令行工具,专门用于管理和监控华为昇腾(Ascend)系列神经网络处理器(NPU)的状态和性能,似于 NVIDIA 的 nvidia-smi。
2. npu-smi 字段含义
|
|
字段 | 说明 |
---|---|
npu-sml | npu-sml 工具版本 |
Version | 驱动版本 |
NPU | 设备 id |
Name | 芯片名称 |
Health | 芯片的健康状态, 有如下五种状态: OK、Warning、Alarm、Critical 和 UNKNOWN |
Power(W) | 芯片功率 (单位 W) |
Temp(C) | 芯片温度 (单位 ℃) |
Hugepages-Usage(page) | 大页占比 (单位 page),每一个 page 的大小是 2048KB。 |
Chip | 芯片 id |
Device | 芯片操号 |
Bus-Id | BUS ID |
AICore(%) | AICore 占用率 |
Memory-Usage(MB) | 内存占比 |
3. npu-smi info 使用
3.1 参数格式
|
|
通过 -t
指定查询类型,-i
指定设备 ID,相关的查询类型有(不同设备支持的类型有差异):
查询类型 | 含义 |
---|---|
board | 板卡信息 |
flash | 闪存信息 |
memory | 内存信息 |
usages | 资源使用情况 |
sensors | 传感器信息 |
temp | 温度信息 |
power | 功率信息 |
volt | 电压信息 |
mac-addr | MAC 地址信息 |
common | 通用信息 |
health | 健康状态 |
product | 产品信息 |
ecc | 纠错码(ECC)信息 |
ip | IP 地址信息 |
sys-time | 系统时间信息 |
i2c_check | I2C 检查信息 |
work-mode | 工作模式 |
ecc-enable | 纠错码(ECC)启用状态 |
p2p-enable | 点对点(P2P)通信启用状态 |
ssh-enable | SSH 启用状态 |
license | 许可证信息 |
customized-info | 定制信息 |
device-share | 设备共享信息 |
nve-level | NVE 级别信息 |
aicpu-config | AI CPU 配置信息 |
pcie-err | PCIe 错误信息 |
mcu-monitor | MCU 监控信息 |
err-count | 错误计数信息 |
boot-area | 启动区域信息 |
vnpu-mode | vNPU 模式信息 |
info-vnpu | vNPU 信息 |
vnpu-svm | vNPU 虚拟化信息 |
cpu-num-cfg | CPU 核心配置信息 |
first-power-on-date | 首次上电日期信息 |
proc-mem | 进程内存信息 |
phyid-remap | 物理 ID 重映射信息 |
vnpu-cfg-recover | vNPU 配置恢复信息 |
key-manage | 密钥管理信息 |
template-info | 模板信息 |
pkcs-enable | PKCS 启用状态 |
p2p-mem-cfg | P2P 内存配置信息 |
pwm-mode | PWM 模式信息 |
pwm-duty-ratio | PWM 占空比信息 |
boot-select | 启动选择信息 |
topo | 拓扑结构信息 |
3.2 常用 info 参数命令
- 查询设备板卡详情
|
|
- 查询设备的芯片详情
|
|
- 查看连接拓扑
|
|
- 查询芯片监控数据
|
|
- 查询设备常用信息
|
|
4. npu-smi set 使用
4.1 参数格式
|
|
通过 -t
指定配置类型,-i
指定设备 ID。这里不同于 npu-smi info
的是使用 -d
指定配置值,相关的配置类型有(不同设备支持的类型有差异):
类型 | 含义 |
---|---|
ecc-enable | 启用 ECC 纠错 |
collect-log | 收集日志 |
reset | 重置设备 |
device-share | 设备共享 |
nve-level | NVE 级别设置 |
clear-ecc-info | 清除 ECC 信息 |
license | 许可证管理 |
ssh-enable | 启用 SSH |
customized-info | 自定义信息设置 |
clear-pcie-err | 清除 PCIe 错误 |
revocate | 撤销操作 |
mac-addr | MAC 地址设置 |
mcu-monitor | MCU 监控设置 |
boot-area | 启动区域设置 |
aicpu-config | AI CPU 配置 |
disk-power | 磁盘功率设置 |
ip | IP 地址设置 |
errcount-clear | 清除错误计数 |
vnpu-mode | vNPU 模式设置 |
create-vnpu | 创建 vNPU |
destroy-vnpu | 销毁 vNPU |
vnpu-svm | vNPU 虚拟化设置 |
cpu-num-cfg | CPU 核心数配置 |
vnpu-cfg-recover | vNPU 配置恢复 |
key-manage | 密钥管理 |
pkcs-enable | PKCS 启用 |
p2p-mem-cfg | P2P 内存配置 |
pwm-mode | PWM 模式设置 |
pwm-duty-ratio | PWM 占空比设置 |
power-state | 电源状态设置 |
boot-select | 启动选择设置 |
reset-vnpu | 重置 vNPU |
4.2 常用 set 参数命令
- 收集日志
|
|
等待收集完成之后,在 /run/mcu_log
目录下可以找到日志文件,系统不会自动清理这些日志,需要自行清理。
- 配置 ECC 使能状态
使能
|
|
禁用
|
|
- 设置指定芯片的算力等级
|
|
算力等级分为四等:
0 - Low
1 - Middle
2 - High
3 - Full