Multi-Kernel Debug - 2024.2 English - UG1702

Vitis Reference Guide (UG1702)

Document ID
UG1702
Release Date
2025-01-15
Version
2024.2 English

The Vitis IDE supports multi-kernel debug and multi-domain (PS and AI Engine) debug. Depending on the application, there can be hundreds of kernels being debugged. Having granular control of each core, in addition to all cores within one domain is important.

Select a single core from the Vitis IDE and click the Continue command to resume debug execution for the selected core only. Select one level above all cores within the AI Engine domain, and click the Continue command to resume all AI Engine core executions. Resuming execution for all the kernels in the graph is dependent on a variety of conditions such as the availability of data to each of the kernels to avoid stalls, or the setup of individual kernel breakpoints. You must also ensure that the kernels that are not being debugged are free to run.

Figure 1. Disassembly View
Note: The main() function is created automatically by the AI Engine compiler for each core that wraps around the kernel implementation. The Debug view displays the complete source code including the inserted portion.
Note: The Vitis IDE facilitates hierarchical debugging for all AI Engine cores. Users can effortlessly select the top-level AI Engine array and execute operations such as stepping in, stepping out, continuing, and pausing with ease.