The trace reports support several views:
- The top window shows a textual list of events in chronological order with various event types and other relevant information. The top row in each column allows you to filter events based on textual patterns. In the bottom window, there are multiple tabs providing different views relating to the execution.
- The Statistics tab shows the aggregate event statistics based on the selected set of events or a time slice.
- The System View tab represents the state of system resources such as AI Engines, locks, and DMAs.
- The Function View tab represents the state of various kernels executing on an AI Engine (core).
- The Data View tab represents the state of data flowing through the stream switch network.
The following are screen shots of the function view, system view, and data view. The top bar of a view has several options: A legend explaining the colors, zoom in and zoom out, going to beginning and end of state, and correlating it to a textual event that causes the state change. Each view consists of a series of aligned timelines depicting the state of a certain resource or program object. Various events are represented in each timeline. You can hover over the timeline to see the information collected. Clicking on the timeline in one view creates a time bar that allows you to see the corresponding events at that time in other views.
As shown in the system view, there are three sections: ActiveCores, ActiveDMA, and Locks. If there are PL blocks used in the
application, the system view will also show the ActivePLPorts. By using lock IDs in the
Locks sections you can
identify how the AI Engines and DMAs interact
with one another by acquiring and releasing locks. The currently executing function
name is shown when hovering over the
bar. The color coding is shown in the legend that opens with a click on the legend
left of the home icon, which resets the timescale to default). Clicking the left or
right arrows takes you to the beginning and end of a state, respectively. A text
window shows you the event that caused the state change. In this example, all locks
are properly acquired and released. If a lock is not released, you will see a red
bar that extends through the end of simulation time.
The function view is most useful when analyzing the application from the program standpoint. There is a separate timeline for each kernel mapped to an AI Engine (core), and the view shows when the kernel is executing (blue) or stalled. A detailed popup window with details such as the types of stall and duration comes up when you hover over the stalls in the function view.