Profiling the Application - 2024.1 English

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

Document ID
UG1393
Release Date
2024-05-30
Version
2024.1 English

The AMD Vitis™ core development kit generates various system and kernel resource performance reports during compilation. These reports help you establish a baseline of performance for your application, identify bottlenecks, and help to identify target functions that can be accelerated in hardware kernels as discussed in Methodology for Architecting a Device Accelerated Application. The Xilinx Runtime (XRT) collects profiling data during application execution in both emulation and hardware builds. Examples of profiling and event data that can be reported includes:

  • Host and device timeline events
  • OpenCL™ or XRT native API call sequences
  • Kernel execution sequence
  • Kernel start and stop signals
  • FPGA trace data including AXI transactions
  • Power profile data for the accelerator card
  • AI Engine profiling and event trace
  • User event and range profiling

Profiling reports and data can be used to isolate performance bottlenecks in the application, identify problems in the system, and optimize the design to improve performance. Optimizing an application requires optimizing both the application host code and any hardware accelerated kernels. The host code must be optimized to facilitate data transfers and kernel execution, while the kernel should be optimized for performance and resource usage.

There are four distinct areas to be considered when performing algorithm optimization in the Vitis environment: System resource usage and performance, kernel optimization, host optimization, and data transfer optimization. The following Vitis reports and graphical tools support your efforts to profile and optimize these areas:

When enabled as described in Enabling Profiling in Your Application, these reports are automatically generated while running the active build, either from the command line as described in Building and Running the System, or when Using the Vitis Unified IDE. Separate reports are generated for the different build targets and can be found in the respective report directories. Reports can be viewed in in the Analysis view in the IDE as described in Working with the Analysis View (Vitis Analyzer).