Exploring Kernel Optimizations Using Vitis HLS - 2022.1 English

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

Document ID
Release Date
2022.1 English

All kernel optimizations using OpenCL or C/C++ can be performed from within the Vitis core development kit. The primary performance optimizations, such as those discussed in this section (pipelining function and loops, applying dataflow to enable greater concurrency between functions and loops, unrolling loops, etc.), are performed by the Vitis HLS tool.

The Vitis core development kit automatically calls the HLS tool. However, to use the GUI analysis capabilities, you must launch the HLS tool directly from within the Vitis technology. Using the HLS tool in standalone mode, as discussed in Compiling Kernels with Vitis HLS, enables the following enhancements to the optimization methodology:

  • The ability to focus solely on the kernel optimization because there is no requirement to execute emulation.
  • The skill to create multiple solutions, compare their results, and explore the solution space to find the most optimum design.
  • The competence to use the interactive Analysis Perspective to analyze the design performance.
Important: Only the kernel source code is incorporated back into the Vitis core development kit. After exploring the optimization space, ensure that all optimizations are applied to the kernel source code as OpenCL attributes or C/C++ pragmas.

To open the HLS tool in standalone mode, from the Assistant window, right-click the hardware function object, and select Open HLS Project, as shown in the following figure.

Figure 1. Open HLS Project