Please enable Javascript to view the contents

npu-smi 基本使用

 ·  ☕ 4 分钟

1. 什么是 npu-smi

npu-smi 是华为提供的一个命令行工具,专门用于管理和监控华为昇腾(Ascend)系列神经网络处理器(NPU)的状态和性能,似于 NVIDIA 的 nvidia-smi。

2. npu-smi 字段含义

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
npu-smi info

+------------------------------------------------------------------------------------------------+
| npu-smi 23.0.2.1                 Version: 23.0.2.1                                             |
+---------------------------+---------------+----------------------------------------------------+
| NPU   Name                | Health        | Power(W)    Temp(C)           Hugepages-Usage(page)|
| Chip                      | Bus-Id        | AICore(%)   Memory-Usage(MB)  HBM-Usage(MB)        |
+===========================+===============+====================================================+
| 0     910B2C              | OK            | 88.6        51                0    / 0             |
| 0                         | 0000:5A:00.0  | 0           0    / 0          20701/ 65536         |
+===========================+===============+====================================================+
| 1     910B2C              | OK            | 99.6        50                0    / 0             |
| 0                         | 0000:19:00.0  | 0           0    / 0          20687/ 65536         |
+===========================+===============+====================================================+
...
+===========================+===============+====================================================+
| 15    910B2C              | OK            | 110.4       51                0    / 0             |
| 0                         | 0000:C9:00.0  | 0           0    / 0          11684/ 65536         |
+===========================+===============+====================================================+
+---------------------------+---------------+----------------------------------------------------+
| NPU     Chip              | Process id    | Process name             | Process memory(MB)      |
+===========================+===============+====================================================+
| 0       0                 | 124528        | python3.8                | 17400                   |
字段说明
npu-smlnpu-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-IdBUS ID
AICore(%)AICore 占用率
Memory-Usage(MB)内存占比

3. npu-smi info 使用

3.1 参数格式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
npu-smi info --help
Usage: npu-smi info <watch|proc|-h|-m|-l|-t type> [Options...]

Commands:
       watch          Show all device's status in scrolling format
       proc           Show device's matrix process status in scrolling format
       -h, --help     Show this help text and exit
       -m             Show all device's mapping information
       -l             Show all device's topology information
       -t type        Show information for type
                      type: board, flash, memory, usages, sensors, temp, power, volt, mac-addr,
                            common, health, product, ecc, ip, sys-time, i2c_check, work-mode,
                            ecc-enable, p2p-enable, ssh-enable, license, customized-info,
                            device-share, nve-level, aicpu-config, pcie-err, mcu-monitor,
                            err-count, boot-area, vnpu-mode, info-vnpu, vnpu-svm, cpu-num-cfg,
                            first-power-on-date, proc-mem, phyid-remap, vnpu-cfg-recover, key-manage,
                            template-info, pkcs-enable, p2p-mem-cfg, pwm-mode, pwm-duty-ratio,
                            boot-select, topo.

Options:
       -i %d          Card ID
       -c %d          Chip ID
       -p %d          Chip Physical ID

通过 -t 指定查询类型,-i 指定设备 ID,相关的查询类型有(不同设备支持的类型有差异):

查询类型含义
board板卡信息
flash闪存信息
memory内存信息
usages资源使用情况
sensors传感器信息
temp温度信息
power功率信息
volt电压信息
mac-addrMAC 地址信息
common通用信息
health健康状态
product产品信息
ecc纠错码(ECC)信息
ipIP 地址信息
sys-time系统时间信息
i2c_checkI2C 检查信息
work-mode工作模式
ecc-enable纠错码(ECC)启用状态
p2p-enable点对点(P2P)通信启用状态
ssh-enableSSH 启用状态
license许可证信息
customized-info定制信息
device-share设备共享信息
nve-levelNVE 级别信息
aicpu-configAI CPU 配置信息
pcie-errPCIe 错误信息
mcu-monitorMCU 监控信息
err-count错误计数信息
boot-area启动区域信息
vnpu-modevNPU 模式信息
info-vnpuvNPU 信息
vnpu-svmvNPU 虚拟化信息
cpu-num-cfgCPU 核心配置信息
first-power-on-date首次上电日期信息
proc-mem进程内存信息
phyid-remap物理 ID 重映射信息
vnpu-cfg-recovervNPU 配置恢复信息
key-manage密钥管理信息
template-info模板信息
pkcs-enablePKCS 启用状态
p2p-mem-cfgP2P 内存配置信息
pwm-modePWM 模式信息
pwm-duty-ratioPWM 占空比信息
boot-select启动选择信息
topo拓扑结构信息

3.2 常用 info 参数命令

  • 查询设备板卡详情
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
npu-smi info -t board -i 0

	NPU ID                         : 0
	Product Name                   : IT21HMDB01-B2
	Model                          : NA
	Manufacturer                   : Huawei
	Serial Number                  : 1023A6017006
	Software Version               : 23.0.2.1
	Firmware Version               : 7.1.0.4.220
	Compatibility                  : OK
	Board ID                       : 0x65
	PCB ID                         : A
	BOM ID                         : 1
	PCIe Bus Info                  : 0000:5A:00.0
	Slot ID                        : 0
	Class ID                       : NA
	PCI Vendor ID                  : 0x19E5
	PCI Device ID                  : 0xD802
	Subsystem Vendor ID            : 0x19E5
	Subsystem Device ID            : 0x3400
	Chip Count                     : 1
  • 查询设备的芯片详情
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
npu-smi info -t board -i 0 -c 0

	NPU ID                         : 0
	Chip ID                        : 0
	Chip Type                      : Ascend
	Chip Name                      : 910B2C
	Chip Version                   : V1
	Board ID                       : 0x51
	PCB ID                         : NA
	BOM ID                         : 1
	VDie ID                        : DE36A664 01202745 59C48932 98500485 100301E3
	NDie ID                        : 00000000 00000000 00000000 00000000 00000000
	Chip Position ID               : 0
	PCIe Bus Info                  : 0000:5A:00.0
	Firmware Version               : 7.1.0.4.220
  • 查看连接拓扑
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
npu-smi info -t topo

           NPU0       NPU1       NPU2       NPU3       NPU4       NPU5       NPU6       NPU7       NPU8       NPU9       NPU10      NPU11      NPU12      NPU13      NPU14      NPU15      CPU Affinity
NPU0       X          HCCS       HCCS       HCCS       HCCS       HCCS       HCCS       HCCS       PIX        PHB        PHB        PHB        SYS        SYS        SYS        SYS        0-43,88-131
NPU1       HCCS       X          HCCS       HCCS       HCCS       HCCS       HCCS       HCCS       PHB        PIX        PHB        PHB        SYS        SYS        SYS        SYS        0-43,88-131
...
NPU15      SYS        SYS        SYS        SYS        PHB        PHB        PHB        PIX        HCCS       HCCS       HCCS       HCCS       HCCS       HCCS       HCCS       X          44-87,132-175

Legend:

  X    = Self
  SYS  = Path traversing PCIe and NUMA nodes. Nodes are connected through SMP, such as QPI, UPI.
  PHB  = Path traversing PCIe and the PCIe host bridge of a CPU.
  PIX  = Path traversing a single PCIe switch
  PXB  = Path traversing multipul PCIe switches
  HCCS = Connection traversing HCCS.
  NA   = Unknown relationship.
  • 查询芯片监控数据
1
2
3
4
5
6
npu-smi info watch

0           0           313.3       64          17          2           1           86          31
1           0           283.4       65          46          2           4           85          32
...
15          0           319.0       65          3           2           1           85          29
  • 查询设备常用信息
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
npu-smi info -t common -i 0

	NPU ID                         : 0
	Chip Count                     : 1

	Chip ID                        : 0
	Memory Usage Rate(%)           : 0
	HBM Usage Rate(%)              : 86
	Aicore Usage Rate(%)           : 66
	Aicore Freq(MHZ)               : 1800
	Aicore curFreq(MHZ)            : 1800
	Aicore Count                   : 24
	Temperature(C)                 : 67
	NPU Real-time Power(W)         : 296.5

	Chip Name                      : mcu
	Temperature(C)                 : 56

4. npu-smi set 使用

4.1 参数格式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
npu-smi set --help
Usage: npu-smi set <-h|-t type> [Options...]

Commands:
       -h, --help     Show this help text and exit
       -t type        The set type for device
                      type: ecc-enable, collect-log, reset, device-share, nve-level, clear-ecc-info,
                            license, ssh-enable, customized-info, clear-pcie-err, revocate, mac-addr,
                            mcu-monitor, boot-area, aicpu-config, disk-power, ip, errcount-clear,
                            vnpu-mode, create-vnpu, destroy-vnpu, vnpu-svm, cpu-num-cfg, vnpu-cfg-recover,
                            key-manage, pkcs-enable, p2p-mem-cfg, pwm-mode, pwm-duty-ratio, power-state,
                            boot-select, reset-vnpu.

Options:
       -i %d          Card ID
       -c %d          Chip ID
       -d %d          Config value
       -s             String format configuration
       -f             License (1-255) or path of SoC certificate files
       -m             By in-band reset, only can input 1

通过 -t 指定配置类型,-i 指定设备 ID。这里不同于 npu-smi info 的是使用 -d 指定配置值,相关的配置类型有(不同设备支持的类型有差异):

类型含义
ecc-enable启用 ECC 纠错
collect-log收集日志
reset重置设备
device-share设备共享
nve-levelNVE 级别设置
clear-ecc-info清除 ECC 信息
license许可证管理
ssh-enable启用 SSH
customized-info自定义信息设置
clear-pcie-err清除 PCIe 错误
revocate撤销操作
mac-addrMAC 地址设置
mcu-monitorMCU 监控设置
boot-area启动区域设置
aicpu-configAI CPU 配置
disk-power磁盘功率设置
ipIP 地址设置
errcount-clear清除错误计数
vnpu-modevNPU 模式设置
create-vnpu创建 vNPU
destroy-vnpu销毁 vNPU
vnpu-svmvNPU 虚拟化设置
cpu-num-cfgCPU 核心数配置
vnpu-cfg-recovervNPU 配置恢复
key-manage密钥管理
pkcs-enablePKCS 启用
p2p-mem-cfgP2P 内存配置
pwm-modePWM 模式设置
pwm-duty-ratioPWM 占空比设置
power-state电源状态设置
boot-select启动选择设置
reset-vnpu重置 vNPU

4.2 常用 set 参数命令

  • 收集日志
1
npu-smi set -t collect-log -i 0

等待收集完成之后,在 /run/mcu_log 目录下可以找到日志文件,系统不会自动清理这些日志,需要自行清理。

  • 配置 ECC 使能状态

使能

1
npu-smi set -t ecc-enable -i id -d 1

禁用

1
npu-smi set -t ecc-enable -i id -d 0
  • 设置指定芯片的算力等级
1
npu-smi set -t nve-level -i id -d 1

算力等级分为四等:

0 - Low
1 - Middle
2 - High
3 - Full


微信公众号
作者
微信公众号