Enabling Low Overhead Profiling - 2023.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 English

The Vitis software platform supports low overhead profiling that provides minimal information with little effect on execution time. Using this option during runtime, the timeline trace is still available but with a reduced amount of information. Low overhead profiling captures minimal information on OpenCL events and dumps a CSV file called lop_trace.csv at the end of execution. Low overhead profiling can be run in all three flows (hardware, hardware emulation, and software emulation).

To enable low overhead profiling, there is a new flag in the "Debug" section of the xrt.ini File called lop_trace. By default, lop_trace is FALSE and must be enabled by setting the ini parameter to TRUE.

xrt.ini file
[Debug]
lop_trace=true
Tip: The lop_trace parameter can be enabled alongside other profiling parameters, but doing so eliminates any benefit of low overhead profiling by capturing all profiling data as well.

When lop_trace=true is enabled, the runtime will generate lop_trace.csv which can be viewed in the Run Summary within Vitis analyzer.

vitis_analyzer xrt.run_summary

To obtain the lowest possible overhead, information collected in normal OpenCL profiling is omitted. Specifically, the following information is expected to not be available in the low overhead profiling trace:

  • Device events, such as compute unit executions or kernel memory transfers
  • Information about memory reads or writes, such as destination address or size
  • Information about kernel enqueues, such as kernel name or NDRange sizes
  • Dependencies between buffer transfers and kernel enqueue