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 both hardware and hardware 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
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