Analyzing the Automated Status Output - 2023.2 English

Vitis Tutorials: AI Engine (XD100)

Document ID
XD100
Release Date
2024-03-05
Version
2023.2 English

Open the run summary file with the following command:

	vitis_analyzer xrt.run_summary

In Vitis Analyzer, click Set Compile Directory in Summary view.

In the prompted dialog box, click the button, and select the AI Engine compile summary (such as ./Work/graph.aiecompile_summary) to set the AI Engine compile summary.

The graph view is as shown in the following figure.

graph view

1: Kernel k[0] is trying to write to k[1], but has stalled at the output stream port. See the red circle on the kernel instance.

2: Kernel k[1] is trying to read from buffers buf1 and buf1d, but has stalled. See the red circle on the kernel instance.

The DMA Status window also shows the information about the status of DMA channels.

graph view

1: The data input from the PL is trying to write to the buffer buf0 (BD0), but it cannot.

The Buffers view shows the buffer status of the graph. Click the Buffers window to select it, and then select the buffer in the graph to be analyzed.

graph view

The PING-PONG buffers are highlighted in the Buffers window. The Lock Status column shows the buffer lock status. The different statuses are as follows:

  • Acquired for read: The buffer has been acquired for read by the consumer kernel.

  • Released for read: The buffer has been released for read by the producer kernel.

  • Acquired for write: The buffer has been acquired for write by the producer kernel.

  • Released for write: The buffer has been released for write by the consumer kernel.

In this example, it shows that buf1 is “Acquired for write” and buf1d is “Released for write”. It indicates that buf1 has already been acquired for write by k[0]. The buf1d buffer is released for write, but not released for read. Consequently, the buffers buf1 and buf1d are not able to be acquired for read by k[1], and k[1] is stalled.