AXCL-SMI

概述

AXCL-SMI (System Management Interface) 工具用于设备信息收集,对设备进行配置等功能,支持如下设备信息收集:

  • 硬件设备型号

  • 固件版本号

  • 驱动版本号

  • 设备利用率

  • 内存使用情况

  • 设备芯片结温

  • 其他信息

使用说明

快速使用

在正确安装AXCL驱动包后,AXCL-SMI即安装成功,直接执行axcl-smi显示内容如下:

$ axcl-smi
+------------------------------------------------------------------------------------------------+
| AXCL-SMI  V2.18.0                                                              Driver  V2.18.0 |
+-----------------------------------------+--------------+---------------------------------------+
| Card  Name                     Firmware | Bus-Id       |                          Memory-Usage |
| Fan   Temp                Pwr:Usage/Cap | CPU      NPU |                             CMM-Usage |
|=========================================+==============+=======================================|
|    0  AX650N                    V2.18.0 | 0001:81:00.0 |                181 MiB /      954 MiB |
|   --   52C                      -- / -- | 3%        0% |                 22 MiB /     3072 MiB |
+-----------------------------------------+--------------+---------------------------------------+

+------------------------------------------------------------------------------------------------+
| Processes:                                                                                     |
| Card      PID  Process Name                                                   NPU Memory Usage |
|================================================================================================|
|    0      763  /opt/bin/axcl/axcl_run_model                                            160 KiB |
+------------------------------------------------------------------------------------------------+

字段说明

字段 说明 字段 说明
Card 设备索引编号,注意不是PCIe的设备号 Bus-Id 设备Bus ID
Name 设备名称 CPU CPU平均利用率
Fan 风扇转速比(未支持) NPU NPU平均利用率
Temp 设备芯片结温Tj Memory-Usage 系统内存: 使用/总量
Firmware 设备固件版本号 CMM-Usage 媒体内存: 使用/总量
Pwr: Usage/Cap 功耗(未支持)
PID 主控进程PID
Process Name 主控进程名称
NPU Memory Usage 设备NPU已使用的CMM内存

备注

参阅FAQ DDR带宽NPU利用率 章节了解获取详细的DDR和NPU利用率。

帮助 (-h) 和版本 (-v)

axcl-smi -h 查询帮助信息

$ axcl-smi -h
usage: axcl-smi [<command> [<args>]] [--device] [--version] [--help]

axcl-smi System Management Interface V2.18.1

Commands
    info                                    Show device information
        --temp                                  Show SoC temperature
        --mem                                   Show memory usage
        --cmm                                   Show CMM usage
        --cpu                                   Show CPU usage
        --npu                                   Show NPU usage
    proc                                    cat device proc
        --vdec                                  cat /proc/ax_proc/vdec
        --venc                                  cat /proc/ax_proc/venc
        --jenc                                  cat /proc/ax_proc/jenc
        --ivps                                  cat /proc/ax_proc/ivps
        --rgn                                   cat /proc/ax_proc/rgn
        --ive                                   cat /proc/ax_proc/ive
        --pool                                  cat /proc/ax_proc/pool
        --link                                  cat /proc/ax_proc/link_table
        --cmm                                   cat /proc/ax_proc/mem_cmm_info
    set                                     Set
        -f[MHz], --freq=[MHz]                   Set CPU frequency in MHz. One of: 1200000, 1400000, 1700000
    log                                     Dump logs from device
        -t[mask], --type=[mask]                 Specifies which logs to dump by a combination (bitwise OR) value of blow:
                                                  -1: all (default) 0x01: daemon 0x02: worker 0x10: syslog 0x20: kernel
        -o[path], --output=[path]               Specifies the path to save dump logs (default: ./)
    sh                                      Execute a shell command
        cmd                                     Shell command
        args...                                 Shell command arguments
-d, --device                            Card index [0, connected cards number - 1]
-v, --version                           Show axcl-smi version
-h, --help                              Show this help menu

axcl-smi -v 查询AXCL-SMI工具的版本

$ axcl-smi -v
AXCL-SMI V2.26.1 BUILD: Feb 13 2025 11:08:47

选项

设备号 (-d, --device)

-d, --device                             Card index [0, connected cards number - 1]

[-d, --device] 指定设备号索引,范围:[0, 连接设备数量 - 1], 默认为0号设备

重要

  • SDK V2.25.0(含)以前的版本设备ID指的是PCIe bus number。

  • SDK V2.26.0(含)以后的版本设备ID指的是设备索引号。

信息查询(info)

axcl-smi info用于显示设备的详细信息,支持子命令如下:

子命令 说明
--temp 显示设备芯片结温,单位是摄氏度x1000。
--mem 显示设备系统详细内存使用情况。
--cmm 显示设备媒体内存使用情况。如果需要更详细的媒体内存,执行axcl-smi sh cat /proc/ax_proc/mem_cmm_info -d xx (xx是PCIe设备号)。
--cpu 显示设备CPU利用率。
--npu 显示设备NPU利用率。

示例:查询索引号为0号的设备的媒体内存使用情况:

$ axcl-smi info --cmm -d 0
Device ID           : 129 (0x81)
CMM Total           :  3145728 KiB
CMM Used            :    18876 KiB
CMM Remain          :  3126852 kiB

PROC查询(proc)

axcl-smi proc用于查询设备模块的proc信息,支持子命令如下:

子命令 说明
--vdec 查询VDEC模块proc (cat /proc/ax_proc/vdec)
--venc 查询VENC模块proc (cat /proc/ax_proc/venc)
--jenc 查询JENC模块proc (cat /proc/ax_proc/jenc)
--ivps 查询IVPS模块proc (cat /proc/ax_proc/ivps)
--rgn 查询RGN模块proc (cat /proc/ax_proc/rgn)
--ive 查询IVE模块proc (cat /proc/ax_proc/ive)
--pool 查询POOL模块proc (cat /proc/ax_proc/pool)
--link 查询LINK模块proc (cat /proc/ax_proc/link_table)
--cmm 查询CMM模块proc (cat /proc/ax_proc/mem_cmm_info)

示例:查询0号设备的VDEC proc信息

$ axcl-smi proc --vdec -d 0

参数设置(set)

axcl-smi set 用户配置设备信息,支持的子命令如下:

子命令 说明
-f[MHz], --freq=[MHz] 设置设备的CPU频率,只支持 1200000, 1400000, 1700000 三种频率

示例:设置索引号为0号的设备CPU主频为1200MHz

$ axcl-smi set -f 1200000 -d 0
set cpu frequency 1200000 to device 129 succeed.

下载日志(log)

axcl-smi log 用于下载设备的日志文件到主控侧,支持的参数如下:

参数 说明
-t[mask], --type=[mask] 指定下载的日志类别。设备侧日志类别如下:
-1: 全部日志
0x01:守护进程
0x02: 业务进程
0x10:syslog
0x20:内核日志
推荐-1下载全部日志
-o[path], --output=[path] 指定日志保存路径,支持绝对和相对路径,默认是当前目录。注意目录需要有写权限。

示例:下载索引为0号的设备的全部日志,并保存到当前目录

$ axcl-smi log -d 0
[2025-02-13 21:07:40.302][1265][C][log][dump][73]: log dump finished: ./dev129_log_20250213210740.tar.gz

shell命令(sh)

axcl-smi sh 支持shell命令查询设备信息,通常用于查询设备侧模块的运行proc信息,示例:查询索引号为0号的设备CMM信息

$ axcl-smi sh cat /proc/ax_proc/mem_cmm_info -d 0
--------------------SDK VERSION-------------------
[Axera version]: ax_cmm V2.26.0_20250211193319 Feb 11 2025 19:52:13 JK
+---PARTITION: Phys(0x180000000, 0x23FFFFFFF), Size=3145728KB(3072MB),    NAME="anonymous"
 nBlock(Max=0, Cur=23, New=0, Free=0)  nbytes(Max=0B(0KB,0MB), Cur=19329024B(18876KB,18MB), New=0B(0KB,0MB), Free=0B(0KB,0MB))  Block(Max=0B(0KB,0MB), Min=0B(0KB,0MB), Avg=0B(0KB,0MB))
   |-Block: phys(0x180000000, 0x180013FFF), cache =non-cacheable, length=80KB(0MB),    name="TDP_DEV"
   |-Block: phys(0x180014000, 0x180014FFF), cache =non-cacheable, length=4KB(0MB),    name="TDP_CMODE3"
   |-Block: phys(0x180015000, 0x180015FFF), cache =non-cacheable, length=4KB(0MB),    name="TDP_CMODE3_CPU"
   |-Block: phys(0x180016000, 0x180029FFF), cache =non-cacheable, length=80KB(0MB),    name="TDP_DEV"
   |-Block: phys(0x18002A000, 0x18002AFFF), cache =non-cacheable, length=4KB(0MB),    name="TDP_CMODE3"
   |-Block: phys(0x18002B000, 0x18002BFFF), cache =non-cacheable, length=4KB(0MB),    name="TDP_CMODE3_CPU"
   |-Block: phys(0x18002C000, 0x180047FFF), cache =non-cacheable, length=112KB(0MB),    name="VGP_DEV"
   |-Block: phys(0x180048000, 0x180048FFF), cache =non-cacheable, length=4KB(0MB),    name="VGP_CMODE3"
   |-Block: phys(0x180049000, 0x180049FFF), cache =non-cacheable, length=4KB(0MB),    name="VGP_CMODE3_CPU"
   |-Block: phys(0x18004A000, 0x1801C9FFF), cache =non-cacheable, length=1536KB(1MB),    name="h26x_ko"
   |-Block: phys(0x1801CA000, 0x180349FFF), cache =non-cacheable, length=1536KB(1MB),    name="h26x_ko"
   |-Block: phys(0x18034A000, 0x18034AFFF), cache =non-cacheable, length=4KB(0MB),    name="h26x_ko"
   |-Block: phys(0x18034B000, 0x18094AFFF), cache =non-cacheable, length=6144KB(6MB),    name="vdec_ko"
   |-Block: phys(0x18094B000, 0x180ACAFFF), cache =non-cacheable, length=1536KB(1MB),    name="jenc_ko"
   |-Block: phys(0x180ACB000, 0x180C4AFFF), cache =non-cacheable, length=1536KB(1MB),    name="jenc_ko"
   |-Block: phys(0x180C4B000, 0x180C4BFFF), cache =non-cacheable, length=4KB(0MB),    name="jenc_ko"
   |-Block: phys(0x180C4C000, 0x180C67FFF), cache =non-cacheable, length=112KB(0MB),    name="VPP_DEV"
   |-Block: phys(0x180C68000, 0x180C68FFF), cache =non-cacheable, length=4KB(0MB),    name="VPP_CMODE3"
   |-Block: phys(0x180C69000, 0x180C69FFF), cache =non-cacheable, length=4KB(0MB),    name="VPP_CMODE3_CPU"
   |-Block: phys(0x180C6A000, 0x181269FFF), cache =non-cacheable, length=6144KB(6MB),    name="vdec_ko"
   |-Block: phys(0x18126A000, 0x18126AFFF), cache =non-cacheable, length=4KB(0MB),    name="GDC_CMDA3"
   |-Block: phys(0x18126B000, 0x18126BFFF), cache =non-cacheable, length=4KB(0MB),    name="GDC_CMDA3_CPU"
   |-Block: phys(0x18126C000, 0x18126EFFF), cache =non-cacheable, length=12KB(0MB),    name="GDC_CMD"

---CMM_USE_INFO:
 total size=3145728KB(3072MB),used=18876KB(18MB + 444KB),remain=3126852KB(3053MB + 580KB),partition_number=1,block_number=23

重要

  • shell命令参数如果包含-,--,>等字段,可以用双引号"-l"将命令和参数包含在一个字符串中,比如axcl-smi sh "ls -l" -d 0

  • 谨慎使用shell命令对设备进行配置

重启(reboot)

axcl-smi reboot 命令首先复位指定设备,随后将自动加载固件,示例如下:

$ axcl-smi reboot -d 0
Do you want to reboot device 0 ? (y/n): y