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
5. npu-smi clear 使用
5.1 参数格式
| |
通过 -t 指定清除类型,-i 指定设备 ID,-c 指定芯片 ID。
5.2 常用 clear 参数命令
- 清除设备 0 所有芯片 ECC 错误计数
| |
- 清理全部设备 ECC 错误计数
| |
查看 ECC 错误计数
| |
