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 four 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 ActiveCores, ActiveDMA, and 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 Core(0,0).pc
bar. The color
coding is shown in the legend that opens with a click on the legend icon (, 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.