4.7.8. hrut_bpuprofile

hrut_bpuprofile 用于配置和查询 BPU(硬件加速单元)相关参数,包括电源、时钟、频率、使用率等。

4.7.8.1. 语法说明

以下是执行 hrut_bpuprofile -h 输出的 Usage

BPU PROFILE HELP INFORMATION
>>> -b/--bpu         [BPU CORE,0--bpu0] (required)
>>> -p/--power       [POWER OFF/ON,0--OFF,1--ON]
>>> -c/--clock       [CLOCK OFF/ON,0--OFF,1--ON]
>>> -t/--time        [GET FC TIME,NO ARGUMENT]
>>> -f/--frq         [SET BPU FREQUENCY,ARGUMENT:N]
>>> -r/--ratio       [BPU RATIO,N--N TIMES,0--FOREVER]

4.7.8.2. 参数选项说明

以下是 hrut_bpuprofile 支持的选项及其说明:

  • -b 或 –bpu:指定 BPU 核心编号( 0 表示 BPU0 )。

  • -p 或 –power:设置 BPU 的电源状态( 0 表示关闭, 1 表示开启)。

  • -c 或 –clock:设置 BPU 的时钟状态( 0 表示关闭, 1 表示开启)。

  • -t 或 –time:获取 BPU 的 FC 时间(无参数)。

  • -f 或 –frq:设置 BPU 的工作频率(参数为频率值)。

  • -r 或 –ratio:设置 BPU 的使用率(参数为 N 表示 N 次, 0 表示永久)。

  • -h 或 –help:显示帮助信息,解释命令的使用方法。

4.7.8.3. 各项命令选项及其功能说明

设置 BPU 电源

开启命令:

root@buildroot:~# hrut_bpuprofile -b 0 -p 1

功能: 设置 BPU 核心 0 的电源状态为开启,

关闭命令:

root@buildroot:~# hrut_bpuprofile -b 0 -p 0

功能:

设置 BPU 核心 0 的电源状态为关闭。

打印输出:

set bpu[0] power

设置 BPU 时钟

开启命令:

root@buildroot:~# hrut_bpuprofile -b 0 -c 1

打印输出:

bpu[0] clock is enable

功能: 设置 BPU 核心 0 的时钟状态为开启。

关闭命令:

root@buildroot:~# hrut_bpuprofile -b 0 -c 0

功能: 设置 BPU 核心 0 的时钟状态为关闭。

打印输出:

bpu[0] clock is disable

获取 BPU FC 时间

命令:

hrut_bpuprofile -b 0 -t

功能:

该命令会获取 BPU 核心 0 的 FC 时间( Flow Control Time,流控时间),这通常是指 BPU 在处理任务时的详细时间信息,包括任务的开始时间、结束时间和运行时间等。

打印输出:

root@buildroot:/userdata# hrut_bpuprofile -b 0 -t
index   id:hwid         group   prio    s_time  e_time  r_time
916     1:458   16:4447 0       6016162 6016193 30977us
918     1:459   16:4447 0       6016194 6016224 30692us
920     1:460   16:4447 0       6016225 6016256 30760us
922     1:461   16:4447 0       6016257 6016288 31173us
924     1:462   16:4447 0       6016289 6016320 31009us
926     1:463   16:4447 0       6016321 6016352 31564us
928     1:464   16:4447 0       6016353 6016384 30351us
930     1:465   16:4447 0       6016385 6016415 30401us
932     1:466   16:4447 0       6016416 6016445 29305us

结果解析:

  • index:表示任务的索引编号,用于标识不同的任务。

  • id:hwid:表示任务的 ID 和硬件 ID。

  • group:表示任务所属的组。

  • prio:表示任务的优先级。

  • s_time:表示任务的开始时间( Start Time),单位是系统的时间单位( us)。

  • e_time:表示任务的结束时间( End Time),单位是系统的时间单位( us)。

  • r_time:表示任务的运行时间( Run Time),单位是系统的时间单位( us)。

设置 BPU 频率

命令:

 hrut_bpuprofile -b 0 -f 500000000

功能:

设置 BPU 核心 0 的工作频率为 500 MHz。

打印输出:

current bpu[0] frequency:500000000

验证方法:

/app/platform_samples/chip_base_test/01_cpu_bpu_ddr/ 路径下运行 cpu_bpu_ddr 压测脚本,使用方式跳转至 CPU_BPU_DDR_STRESS,使用该命令设置 BPU 频率后,运行压测脚本输出如下:

root@buildroot:/userdata/01_cpu_bpu_ddr/scripts# ./stress_test.sh
Running stress test with the following configuration:
  Stress Time: 48h hours (172800 seconds)
  Memory Size: 100 MB
  I/O Threads: 4
  BPU Core: 0
  BPU Portion: 100%
  Output directory: /userdata/log
Starting CPU stress test...
nohup: redirecting stderr to stdout
Starting BPU stress test...
=====================1=====================
temperature-->
        DDR      : 61.7 (C)
75759
cat: /sys/class/hwmon/hwmon0/temp2_input: Connection timed out
        BPU      : 0.0 (C)
        CPU      : 62.6 (C)
cpu frequency-->
              min(M)    cur(M)  max(M)
        cpu0: 300       1500    1500
        cpu1: 300       1500    1500
        cpu2: 300       1500    1500
        cpu3: 300       1500    1500
        cpu4: 300       1500    1500
        cpu5: 300       1500    1500
        cpu6: 300       1500    1500
        cpu7: 300       1500    1500
bpu status information---->
              min(M)    cur(M)  max(M)  ratio
        bpu0: 500       500     1000    99
ddr frequency information---->
              min(M)    cur(M)  max(M)
        ddr:  266       4266    4266
GPU gc8000 frequency information---->
              min(M)    cur(M)  max(M)
        gc8000:  200    1000    1000

可以看到 BPU 当前的默认频率由 1000 MHz 变为了 500 MHz,同理,查看 BPU 使用率该方式也同样适用。

命令:

hrut_bpuprofile -b 0 -f 1000000000

功能:

设置 BPU 核心 0 的工作频率为 1000 MHz。

打印输出:

current bpu[0] frequency:996000000

注意:

由于分频系数限制,无法精确生成 1000MHZ。

设置 BPU 使用率显示

命令:

hrut_bpuprofile -b 0 -r 5

功能:

设置 BPU0 的使用率输出为 5 次。

打印输出:

root@buildroot:/userdata# hrut_bpuprofile -b 0 -r 5
BPU   RATIO    FREE QUEUE
0    100%       1023

结果解析:

  • BPU:表示当前操作的 BPU 核心编号,这里是 0 ,即 bpu0 。

  • RATIO:表示当前 BPU 核心的使用率。

  • FREE QUEUE:表示当前 BPU 核心的空闲队列数量,空闲队列数量通常反映了 BPU 的当前负载情况。

显示帮助信息

命令:

hrut_bpuprofile -h

功能:

显示帮助信息,解释命令的使用方法。

打印输出:

BPU PROFILE HELP INFORMATION
>>> -b/--bpu         [BPU CORE,0--bpu0] (required)
>>> -p/--power       [POWER OFF/ON,0--OFF,1--ON]
>>> -c/--clock       [CLOCK OFF/ON,0--OFF,1--ON]
>>> -t/--time        [GET FC TIME,NO ARGUMENT]
>>> -f/--frq         [SET BPU FREQUENCY,ARGUMENT:N]
>>> -r/--ratio       [BPU RATIO,N--N TIMES,0--FOREVER]