hrt_ucp_monitor 工具介绍

hrt_ucp_monitor 是一个监控硬件 IP 占用率和内存信息的工具,在使用UCP提交任务时,可以指定任务部署的后端(Backend),这些后端与本文档中的硬件IP相对应。

hrt_ucp_monitor 工具位于发布物的以下路径中:

  • Linux 系统:samples/ucp_tutorial/tools
  • QNX 系统:samples/ucp_tutorial/deps_qnx/ucp/bin

其目录结构如下:

└── monitor ├── hrt_ucp_monitor # monitor工具

您可以通过 DEB部署包 的方式将hrt_ucp_monitor部署到开发板上,也可以单独将 hrt_ucp_monitor 拷贝到开发板上使用。如果hrt_ucp_monitor不在 PATH 环境变量所指定的路径中,您需要手动指定工具的路径,比如在工具目录下执行 ./hrt_ucp_monitor,如果提示没有执行权限,可先执行 chmod +x ./hrt_ucp_monitor.

支持范围

支持的 IP 包括BPU,DSP,GDC,STITCH,PYM,ISP,VPU(Video Processing Unit) 和 JPU。

支持的内存信息包括DDR读写带宽,ION内存,进程内存。

使用方法

运行 hrt_ucp_monitor -h hrt_ucp_monitor --help 获取工具的使用详情如下所示:

Usage: hrt_ucp_monitor [Option...] [Parameter] [Option] [Instruction] --------------------------------------------------------------------------------------------------------------- -h --help Display this information -v --verbose Show additional information -V --version Output version information & exit [Option] [Parameter] --------------------------------------------------------------------------------------------------------------- -b --batch [null] : Run in non-interactive batch mode, default is interactive mode. -d --delay [int] : Delay between updates in milliseconds, default is 1000 ms. parameter range: [100, 10000]. -f --freq [int] : Sampling frequency, default is 500 samples/sec, only used for BPU and DSP. parameter range: [10, 1000]. -n --number [int] : Specifies the maximum number of iterations, default is forever. parameter range: [1, INT32_MAX]. -t --time [int] : Specifies the duration time in seconds, default is forever. parameter range: [1, INT32_MAX]. -e --enable [string]: Hardware IP to be monitored, valid values are "bpu, dsp, gdc, stitch, pym, isp, jpu, vpu", case insensitive. Multiple parameters are separated by comma.

hrt_ucp_monitor 的运行过程中,您可以按键盘的Q或执行CTRL+C提前退出。

参数说明

参数数据类型参数说明关联参数
-h, --help无。显示帮助信息。无。
-v, --version无。显示版本信息。无。
-v, --verbosestring用于显示 hrt_ucp_monitor 运行过程中更详细的日志信息,比如工具使用的参数。无。
-b, --batchnull指定以非交互的批处理模式运行, 默认为交互模式。无。
-d, --delayint指定占用率更新间隔,单位毫秒,默认为 1000 毫秒,有效范围为[100, 10000]。如果设置的时间不在有效范围内,将设置失败,并打印错误提示信息。无。
-f, --freqint指定采样频率,默认为每秒采样 500 次,仅适用于 BPU 和 DSP,用于控制硬件 IP 状态采样频率。
当前支持的范围是[10,1000],即最少每秒采样 10 次,最多每秒采样 1000 次。
由于占用率的统计方式不同,其他硬件 IP,比如 GDC,STITCH 不需要设置采样频率,当设置刷新时间时,会获取指定周期内的占用率数据。
无。
-n, --numberint指定占用率的刷新次数,有效范围为[1, INT32_MAX]。用于指定硬件 IP 占用率最大刷新次数,当刷新次数到达最大刷新次数后,hrt_ucp_monitor 工具会自动退出,同时您可以按 CTRL+C 提前退出。设置此参数,则不能设置 -t, --time 参数。 如果同时设置,将提示错误信息。
-t, --timeint指定工具运行时间,单位秒,有效范围为[1, INT32_MAX]。
hrt_ucp_monitor 中会根据刷新时间计算最大刷新次数,当刷新次数到达最大刷新次数后,hrt_ucp_monitor 会自动退出,同时您可以按 CTRL+C 提前退出。
设置此参数,则不能设置 -n, --number 参数。 如果同时设置,将提示错误信息。
-e, --enablestring指定需要监控的 IP,这样可以只监控关心的数据,降低工具的 CPU 占用率。
有效值为bpu, dsp, gdc, stitch, pym, isp, jpu, vpu,不区分大小写,多个参数通过逗号隔开。
无。

使用示例

不指定参数,使用默认参数运行

运行hrt_ucp_monitor时,如果不指定参数,则使用默认参数运行。默认开启所有硬件IP监控,以交互模式运行, BPU 和 DSP 每秒采样 500 次,硬件 IP 占用率每 1000ms 刷新一次。

hrt_ucp_monitor
ucp_monitor_default

使用batch参数进行批处理

批处理模式下,不支持接收按键操作,hrt_ucp_monitor 每次刷新数据都将换行重新输出,适用于将数据重定向到文件。

在终端输出结果

hrt_ucp_monitor -b
ucp_monitor_batch

重定向输出到文件

hrt_ucp_monitor -b > ucp_monitor.txt

使用delay参数设置刷新时间

刷新时间设置为 3 秒,表示每 3 秒刷新一次占用率数据。

hrt_ucp_monitor -d 3000

使用freq参数设置周期采样次数

设置 BPU 和 DSP 的 Busy 状态的采样周期为每秒采样 100 次。

hrt_ucp_monitor -f 100

使用number参数设置最大刷新次数

hrt_ucp_monitor -n 2 # 交互模式 hrt_ucp_monitor -b -n 2 # 批处理模式

使用time参数设置刷新时间

工具默认刷新时间为 1s,设置运行 10s 后退出。

hrt_ucp_monitor -t 10

使用enable参数输出 BPU 的占用率数据

工具将只输出 BPU 的占用率数据。

hrt_ucp_monitor -e bpu
ucp_monitor_bpu

使用verbose参数获取日志信息

用于显示 hrt_ucp_monitor 运行过程中更详细的日志信息,比如工具使用的参数。

hrt_ucp_monitor -v
ucp_monitor_verbose