常用工具介绍
采集/设置系统信息的工具集
获取开发板SOM状态工具
[LINUX] hrut_boardid 是用来获取当前开发板boardid的工具。
用法:
获取芯片unique id的工具
[LINUX] hrut_ipfull 是用来设置开发板IP地址的工具,支持设置、获取、清空三个功能,重启后生效,在系统起来后会自动配置上。
#设置IP地址
hrut_ipfull s <eth0/eth1> IP<x.x.x.x> MASK<y.y.y.y> GATEWAY<z.z.z.z>
#获取IP地址
hrut_ipfull g <eth0/eth1>
#清空IP地址
hrut_ipfull c <eth0/eth1>
#设置IP地址,以eth0为例
root@hobot:
#获取IP地址,以eth0为例
root@hobot:
clear all ip related setting.
设置开发板MAC地址工具
[LINUX] hrut_mac 是用来设置开发板mac地址的工具,支持设置、获取、清空三个功能,重启后生效,在系统起来后会自动配置上。
#设置mac地址
hrut_mac s <eth0/eth1> xx:xx:xx:xx:xx:xx
#获取mac地址
hrut_mac g <eth0/eth1>
#清空mac地址
hrut_mac c <eth0/eth1>
举例:
BPU 使用率测试工具
工具位置以及所包含文件
从项目接口同学处获取功耗包power_consumption_benchmark_tool.7z。
root@hobot:/map/benchmark_tool/bpu# ls -al
total 64232
drwxr-xr-x 3 root root 4096 Sep 5 2024 .
drwx------ 10 root root 4096 Jan 27 2024 ..
-rwxr-xr-x 1 root root 1660560 Aug 9 2024 bpu_os_test
-rwxr-xr-x 1 root root 212992 Aug 9 2024 input_1.bin
-rwxr-xr-x 1 root root 106496 Aug 9 2024 input_2.bin
drwxr-xr-x 2 root root 4096 Aug 9 2024 lib
-rwxr-xr-x 1 root root 3022 Sep 5 2024 run.sh
-rwxr-xr-x 1 root root 63766544 Aug 9 2024 yolov3.hbm
用法:
举例:
root@hobot:/map/benchmark/bpu# sh run.sh -r 100
#启动新的ssh终端查看对应group的占用值
root@hobot:~# hrut_somstatus
===================1===================
temperature-->
pvt_cmn_pvtc1_t1 : 36.893 (C)
pvt_cmn_pvtc1_t2 : 36.342 (C)
pvt_mcu_pvtc1_t1 : 39.283 (C)
pvt_mcu_pvtc1_t2 : 39.099 (C)
pvt_bpu_pvtc1_t1 : 39.834 (C)
voltage-->
FAKE : 100.0 (mV)
VDDQ_DDR2 : 492.0 (mV)
VDD_MCU : 742.0 (mV)
......
MCU_PVTC1_V15 : 0.0 (mV)
MCU_PVTC1_V16 : 0.0 (mV)
cpu frequency-->
min cur max
policy0: 1500000000 2000000000 2000000000
policy4: 1500000000 2000000000 2000000000
bpu status information---->
ratio
bpu0: 99
.. _power_consumption_benchmark_tools:
功耗测试工具
工具概述
本工具可同时跑CPU、BPU、VDSP、Codec和GPU的负载加压用例,并实时记录各负载、芯片结温和DDR带宽等信息,用于功耗测试。
从项目接口同学处获取功耗包power_consumption_benchmark_tool.7z。
.
├── bpu
├── codec
├── cpu
├── gpu
├── mdma
├── monitor
├── run.sh
└── vdsp
1. 该软件包运行后,因实时记录各负载、芯片结温和DDR带宽等信息到文件中,需要较大空间,因此建议拷贝到有充足空间的目录下,如/map。
2. Release包中不包含GPU的功耗测试工具(glmark2),需通过“apt install glmark2-es2-drm”命令进行安装。
运行
user.name@compile-server:~/work/J6$ scp power_consumption_benchmark_tool.7z root@board_ip:/map
release版本上,需要提前安装7z工具,用以解压软件包,安装命令为:
sudo apt-get update
sudo apt install p7zip-full
板端解压至/map/benchmark_tool目录下:
执行如下命令,默认同时跑CPU、BPU、VDSP、Codec和GPU的负载加压用例:
BPU配置
运行说明
BPU负载可通过指定-r参数来调节,参数范围是[5, 100]。
并行跑多个用例时,默认负载是100%,可通过修改/map/benchmark_tool目录下的run.sh进行调节。
示例:设置BPU负载为80%。
单独跑BPU负载用例时,直接执行BPU目录下的run.sh,加上-r参数进行调节。
示例:设置BPU负载为100%。
负载查看
root@hobot:/map/benchmark_tool/monitor/output# cat bpu_load
Tue Jun 4 19:04:13 CST 2024: bpu load: 0
Tue Jun 4 19:04:14 CST 2024: bpu load: 0
Tue Jun 4 19:04:15 CST 2024: bpu load: 0
Tue Jun 4 19:04:16 CST 2024: bpu load: 69
Tue Jun 4 19:04:17 CST 2024: bpu load: 97
Tue Jun 4 19:04:18 CST 2024: bpu load: 99
Tue Jun 4 19:04:19 CST 2024: bpu load: 99
Tue Jun 4 19:04:20 CST 2024: bpu load: 98
CPU配置
""""""""""""""""""""
CPU加压程序默认启动后会一直跑,除非终止程序,运行命令如下:
并行跑多个用例时,默认跑满所有CPU核的100%负载。
可通过指定cpu的run.sh参数来调节CPU负载。
用法:
第一个参数core_num设置跑的cpu核数,范围是[1,6];
第二个参数load设置各个核的负载,范围是[50,100];
第三个参数设置运行时长,单位为秒,大于0。
示例:同时跑3个核,各个核的负载为50%,运行5秒。
负载查看
运行cpu加压程序后,可在/map/benchmark_tool/monitor/output/cpu_load文件中查看CPU的实时负载,每秒记录一次:
Codec配置
运行说明
root@hobot:/map/benchmark_tool/codec# bash run.sh 10000000 10000000
并行跑多个用例时,默认跑满jpu和vpu的100%负载,jpu跑10000000s,vpu跑10000000s。
可通过指定codec的run.sh参数来调节运行时长。
bash run.sh
第一个参数jpu_test_time设置jpu运行时间,单位为秒,要求大于0;
第二个参数vpu_test_time设置vpu运行时间,单位为秒,要求大于0;
示例:jpu跑1000s,vpu跑1000s。
负载查看
运行codec加压程序后,可在/map/benchmark_tool/monitor/output/jpu_load和vpu_load文件中查看jpu和vpu的实时负载,每秒记录一次:
VDSP配置
运行说明
VDSP加压程序的运行命令如下:
并行跑多个用例时,默认跑满VDSP的100%负载,运行8小时。
可通过指定vdsp的run.sh参数来调节运行时长和负载。
用法:
第一个参数test_time设置vdsp运行时间,单位为秒,要求大于0;
第二个参数loading设置vdsp负载,范围是[10,100];
示例:vdsp跑50%负载,运行1小时。
负载查看
root@hobot:/map/benchmark_tool/monitor/output# cat vdsp_load
Tue Jun 4 19:04:19 CST 2024: vdsp load: 93
Tue Jun 4 19:04:20 CST 2024: vdsp load: 96
Tue Jun 4 19:04:21 CST 2024: vdsp load: 97
Tue Jun 4 19:04:22 CST 2024: vdsp load: 98
Tue Jun 4 19:04:23 CST 2024: vdsp load: 98
Tue Jun 4 19:04:24 CST 2024: vdsp load: 98
Tue Jun 4 19:04:25 CST 2024: vdsp load: 98
Tue Jun 4 19:04:26 CST 2024: vdsp load: 98
Tue Jun 4 19:04:27 CST 2024: vdsp load: 98
Tue Jun 4 19:04:28 CST 2024: vdsp load: 98
Tue Jun 4 19:04:29 CST 2024: vdsp load: 99
Tue Jun 4 19:04:30 CST 2024: vdsp load: 99
Tue Jun 4 19:04:31 CST 2024: vdsp load: 99
Tue Jun 4 19:04:32 CST 2024: vdsp load: 99
Tue Jun 4 19:04:33 CST 2024: vdsp load: 99
Tue Jun 4 19:04:34 CST 2024: vdsp load: 99
GPU配置
运行说明
# /map/benchmark_tool/run.sh
cd ${SCRIPT_DIR}/gpu && bash run.sh
并行跑多个用例时,默认跑满GPU的100%负载。
关键信息监控
通过在后台运行监控程序,可实时监控各负载、芯片结温和DDR带宽等信息,运行命令如下:
.. attention::
关键信息查看
芯片结温
并行跑多个用例时,芯片结温会每秒输出到终端上,同时保存到/map/benchmark_tool/monitor/output/temp文件中。
DDR带宽
并行跑多个用例时,会通过hrut_ddr工具,每秒实时将DDR带宽信息保存到/map/benchmark_tool/monitor/output/ddr_bandwidth文件中。
运行期间log
为防止并行跑多用例时,各个负载用例运行时log同时输出到终端错乱,默认配置如下:
cpu、gpu、codec和vdsp的用例运行期间的log保存到各用例对应的output/data文件中;
bpu用例的log不多,只有运行之初有,所以直接输出到串口中;
终止运行
由于各负载用例都会在后台运行,所以终端执行Ctrl+C后,无法彻底终止用例,需额外执行如下命令:
终止所有benchmark负载用例和监控程序:
终止单个benchmark负载用例,以cpu为例:
终止所有监控程序:
终止单个监控程序,以vdsp为例:
