hpcviewer:
Interactive Presentation of Performance
The HPCToolkit Performance Tools
2012/09/21
Version 2017.10
The Java-based hpcviewer
interactively presents program performance in a top-down fashion.
Table of Contents
Command-line usage:
hpcviewer
[options]
[hpctoolkit-database]
GUI usage:
Launch hpcviewer
and open the Experiment database [hpctoolkit-database].
The Java-based hpcviewer
interactively presents program-performance Experiment databases in a top-down fashion.
Since Experiment databases are self-contained, they may be relocated from a cluster for visualization on a laptop or workstation.
- hpctoolkit-database
- An HPCToolkit Experiment database, which is the result of executing hpcprof,
hpcprof-mpi
or hpcprof-flat.
- -n
-
Do not display the Callers View. (Saves memory and time.)
- -consolelog
-
Send log entries to a console in addition to a log file.
- -debug
-
Log additional information about plug-in dependency problems.
hpcviewer
supports three principal views of an application's performance data. Both inclusive (costs of a procedure including all its callees) and exclusive costs (costs excluding callees) are reported.
- Calling context view.
A top-down view that represents the dynamic calling contexts (call paths) in which costs were incurred.
Using this view, one can explore performance measurements of an application in a top-down fashion to understand the costs incurred by calls to a procedure in a particular calling context.
- Callers view.
This bottom-up view enables one to look upward along call paths.
The view apportions a procedure's costs to its caller and, more generally, its calling contexts.
This view is particularly useful for understanding the performance of software components or procedures that are used in more than one context.
- Flat view.
This view organizes performance measurement data according to the static structure of an application.
All costs incurred in any
calling context by a procedure are aggregated together in the flat view.
The browser window is divided into three panes:
- Source pane. The source code associated with the current entity selected in the navigation pane.
Selecting any entity in the navigation pane will cause the source pane to load the corresponding file, scroll to and highlight the line corresponding to the selection.
- Navigation pane.
The navigation pane presents a hierarchical tree-based structure that is used to organize the presentation of an application's performance data.
Entities that occur in the navigation pane's tree include load modules, files, procedures, procedure activations, inlined code, loops, and source lines.
Entities can be selected; and children can be revealed or concealed.
The nature of the entities in the navigation pane's tree structure depends upon whether one is exploring the calling context view, the callers view, or the flat view of the performance data.
- In the calling context view, entities in the navigation tree represent procedure activations, inlined code, loops, and source lines.
While most entities link to a single location in source code, procedure activations link to two: the call site from which a procedure was called and the procedure itself.
- In the callers view, entities in the navigation tree are procedure activations. Unlike procedure activations in the calling context tree view in which call sites are paired with the called procedure, in the caller's view, call sites are paired with the calling procedure to facilitate attribution of costs for a called procedure to multiple different call sites and callers.
- In the flat view, entities in the navigation tree correspond to source files, procedure call sites (which are rendered the same way as procedure activations), loops, and source lines.
The header above the navigation pane contains flatten and zoom control.
- Up arrow. Zooms to show only information for the selected line and its descendants.
- Down arrow. Zooms out (reversing a prior zoom operation).
- Hot path. The button activates "hot path analysis", which automatically expands the scopes along the hot path for the selected metric in the subtree rooted at the selected scope. It is a convenient way to find a performance bottleneck of a given metric.
- Derived metric. Creation of a new metric based on spreadsheet-like mathematical formulae.
- Filter metrics. Show or hide metrics.
- CSV export. Export information from the current view to a comma separated values (CSV) file.
- Bigger font. Change the current font with a bigger size font.
- Smaller font. Change the current font with a smaller size font.
- Flatten. (flat view only) Flattening (the icon that shows a tree node with a slash through it) replaces each top-level scope shown with its children. If a scope has no children (i.e., it is a leaf), the node will remain in the view. This flattening operation is useful for relaxing the strict hierarchical view so that peers at the same level in the tree can be viewed and ranked together. For instance, this can be used to hide procedures in the flat view so that outermost loops can be ranked and compared to one another.
- Unflatten. (flat view only) The inverse of the flatten operation, making an elided node visible again.
- Metric pane.
The metric pane displays one or more performance metrics associated with entities to the left in the navigation pane.
Entities in the tree view of the navigation pane are sorted at each level of the hierarchy by the metric in the selected column.
hpcviewer
can display plot graphs of thread-level metric
values. This is useful for quickly assessing load imbalance across
processes and threads.
To create a graph, use the calling context view and select a scope by
left-clicking a line in the navigation pane.
Then, right-click the selected scope to show the context menu. (This
menu begins with `Zoom-in' and `Zoom-out.')
At the bottom of the context menu is a list of metrics that
hpcviewer
can graph.
Each metric contains a sub-menu that lists the three different types
of graphs that hpcviewer
can plot.
The Plot
graph sorts the processes by process and thread
number.
The Sorted plot
graph sorts the processes by metric value.
And the Histogram
graph shows a bar graph of the
frequency of metric values.
Note: currently, these plot graphs are available only with databases
created by hpcprof-mpi
and not by hpcprof.
See the section on ``Plotting Graphs of Thread-level Metric Values''
in the User's Manual for more description and a view of a plot graph.
hpctoolkit(1)
.
Version: 2017.10 of 2012/09/21.
- Copyright
- © 2002-2017, Rice University.
- License
- See README.License.
Laksono Adhianto
John Mellor-Crummey
Nathan Tallent
Rice HPCToolkit Research Group
Email: hpctoolkit-forum =at= rice.edu
WWW: http://hpctoolkit.org.