启用无开销剖析 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文
如果在 xrt.ini 中随 opencl_trace 同时启用剖析,则会增加运算开销,并且时间线中的事件之间可能出现更长的延迟。但 XRT 提供了无开销选项用于转储时间线上的 OpenCL 事件。这种简单方法可以在时间线上显示事件而不产生任何开销。
提示: 您不得指定任何主机侧剖析,否则会覆盖无开销方法。但您可将此方法与 device_trace 搭配使用,这样即可剖析器件但不增加主机应用开销。

因为目标是在绝对零开销的情况下提供事件可视性,所以可记录的事件数量存在限制。此外,该视图中不显示任何命令队列信息,因此该视图并不能取代更详细的Timeline Trace

您可以使用“无开销”视图来确认 OpenCL 命令的依赖关系以及观察来自主机应用的命令执行的实际事件开销。

xrt.ini 中添加以下开关以启用 OpenCL 事件。可如下所示控制事件捕获的开始和结束:
[Debug]
xocl_debug=true
#xocl_event_begin= 0 (default)
#xocl_event_end=1000 (default)

默认情况下,只能可视化 1000 个事件。

运行后,如未生成任何 xrt.run_summary,则可使用以下步骤来生成 .wdb 文件以供在 Vitis 分析器内查看:
vp_analyze xocl -i xocl.log // generates debug_log.csv
vp_analyze trace -i debug_log.csv // generates debug_log.wdb
vitis_analyzer debug_log.wdb // loads the wdb file in Vitis analyzer
图 1. 无开销时间线
表 1. OpenCL 剖析选项
捕获的追踪信息 剖析开销 用例 xrt.ini 开关
完整 用于调试目的,例如在应用开发的早期阶段。 opencl_trace = true
部分 当剖析开销为“高”且遇到意外的延迟时。 lop_trace = true
最小值 仅用于确认导致事件间延迟的原因。 xocl_debug = true