Interactive Presentation of Program Traces
The HPCToolkit Performance Tools
The Java-based hpctraceviewer
interactively presents dynamic behavior of a program.
Table of Contents
and open the Experiment database [hpctoolkit-database].
The Java-based hpctraceviewer
interactively presents program traces in a top-down fashion.
Since Experiment databases are self-contained, they may be relocated from a cluster for visulization on a laptop or workstation.
- An HPCToolkit Experiment database, which is the result of executing hpcprof,
Send log entries to a console in addition to a log file.
Log additional information about plug-in dependency problems.
comprises of three different parts.
- Trace view (left, top):
This is hpctraceviewer's primary view.
This view, which is similar to a conventional process/time (or space/time) view, shows time on the horizontal axis and process (or thread) rank on the vertical axis; time moves from left to right.
Compared to typical process/time views, there is one key difference.
To show call path hierarchy, the view is actually a user-controllable slice of the process/time/call-path space.
Given a call path depth, the view shows the color of the currently active procedure at a given time and process rank.
(If the requested depth is deeper than a particular call path, then hpctraceviewer simply displays the deepest procedure frame and, space permitting, overlays an annotation indicating the fact that this frame represents a shallower depth.)
hpctraceviewer assigns colors to procedures based on (static) source code procedures.
Although the color assignment is currently random, it is consistent across the different views.
Thus, the same color within the Trace and Depth Views refers to the same procedure.
The Trace View has a white crosshair that represents a selected point in time and process space.
For this selected point, the Call Path View shows the corresponding call path.
The Depth View shows the selected process.
- Depth view (left, bottom):
This is a call-path/time view for the process rank selected by the Trace view's crosshair.
Given a process rank, the view shows for each virtual time along the horizontal axis a stylized call path along the vertical axis, where `main' is at the top and leaves (samples) are at the bottom.
In other words, this view shows for the whole time range, in qualitative fashion, what the Call Path View shows for a selected point.
The horizontal time axis is exactly aligned with the Trace View's time axis; and the colors are consistent across both views.
This view has its own crosshair that corresponds to the currently selected time and call path depth.
- Summary view (same location as depth view on the left-bottom part):
The view shows for the whole time range dislayed, the proportion of each subroutine in a certain time.
Similar to Depth view, the time range in Summary reflects to the time range in the Trace view.
- Call view (right, top):
This view shows two things: (1) the current call path depth that defines the hierarchical slice shown in the Trace View; and (2) the actual call path for the point selected by the Trace View's crosshair.
(To easily coordinate the call path depth value with the call path, the Call Path View currently suppresses details such as loop structure and call sites; we may use indentation or other techniques to display this in the future.)
- Mini map view (right, bottom):
The Mini Map shows, relative to the process/time dimensions, the portion of the execution shown by the Trace View.
The Mini Map enables one to zoom and to move from one close-up to another quickly.
Trace view is divided into two parts: the top part which contains action pane
and the information pane,
and the main view which displays the traces.
The buttons in the action pane are the following:
- Home : Resetting the view configuration into the original view, i.e., viewing traces for all times and processes.
- Horiontal zoom in / out : Zooming in/out the time dimension of the traces.
- Vertical zoom in / out : Zooming in/out the process dimension of the traces.
- Navigation buttons : Navigating the trace view to the left, right, up and bottom, respectively. It is also possible to navigate with the arrow keys in the keyboard. Since Trace view does not support scrool bars, the only way to navigate is through navigation buttons (or arrow keys).
- Undo : Canceling the action of zoom or navigation and returning back to the previous view configuration.
- Redo : Redoing of previously undo change of view configuration.
- save / a view configuration : Saving/loading a saved view configuration.
A view configuration file contains the information of the current dimension of time and process, the depth and the position of the crosshair.
It is recommended to store the view configuration file in the same directory as the database to ensure that the view configuration file matches well with the database since the file does not store which database it is associated with.
Although it is possible to open a view configuration file which is associated from different database, it is highly not recommended since each database has different time/process dimensions and depth.
The information pane contains some information concerning the range status of the current displayed data.
- Time Range. The information of current time-range (horizontal) dimension.
- Process Range. The information of current process-range (vertical) dimension.
- Cross Hair. The information of current crosshair position in time and process dimensions.
- © 2002-2018, Rice University.
- See README.License.
Rice University's HPCToolkit Research Group
Email: hpctoolkit-forum =at= rice.edu