Analysis and Attribution of Call Path Performance Measurements

The HPCToolkit Performance Tools


Version 2017.11

hpcprof-mpi scalably analyzes call path profile performance measurements (in parallel) and attributes them to static source code structure. See hpctoolkit(1) for an overview of HPCToolkit.

Table of Contents


hpcprof-mpi [options] measurement-group...


hpcprof-mpi analyzes call path profile performance measurements, attributes them to static source code structure, and generates an Experiment database for use with hpcviewer(1) . hpcprof-mpi is especially designed for analyzing and attributing measurements from large-scale executions.

hpcprof-mpi expects a list of measurement-groups, where a group is a call path profile directory or an individual profile file. For best results, two other options should be used: -I to provide search directories for source code and -S to provide source code structure from hpcstruct(1) . (Note that without any search-directory argument, hpcprof will only find source files that either (1) have absolute paths (and that still exist on the file system) or (2) are relative to the current working directory.)


A list of measurement-groups, where a group is a call path profile directory or an individual profile file.

Default values for an option's optional arguments are shown in {}.

Options: Informational

-v [n], --verbose [n]
Verbose: generate progress messages to stderr at verbosity level n. {1}
-V, --version
Print version information.

-h, --help
Print help.

--debug [n]
Debug: use debug level n. {1}

Options: Source Code and Static Structure

--name name, --title name
Set the database's name (title) to name.

-I dir, --include dir
Use dir as a search directory to find source files. For a recursive search, append a '+' after the last slash, e.g., /mypath/+. May pass -I multiple times.

Note: With multiple search-directory arguments, it may be the case that file f exists within more than one search directory. In this case, the ambiguity is resolved in favor of the search directory that appears first on the command line.

-S file, --structure file
Use hpcstruct(1) structure file file for correlation. May pass multiple times (e.g., for shared libraries).

-R 'old-path=new-path', --replace-path 'old-path=new-path'
Substitute instances of old-path with new-path; apply to all paths (e.g., a profile's load map and source code) for which old-path is a prefix. Use '\' to escape instances of '=' within a path. May pass multiple times.

Use this option when a profile or binary contains references to files that have been relocated, such as might occur with a file system change.

Options: Metrics

-M metric, --metric metric
Specify the set of metrics to compute, where metric is one of the following: Default is 'sum'. May pass multiple times. (hpcprof-mpi(1) does not compute 'thread'.)

Options: Output

-o db-path, --db db-path, --output db-path
Specify Experiment database name db-path. {./hpctoolkit-<application>-database}

--metric-db yes|no
Control whether to generate a thread-level metric value database for hpcviewer(1) scatter plots. {yes}


See Also

hpctoolkit(1) .
hpcprof(1) .
hpcproftt(1) .
hpcsummary(1) .


Version: 2017.11 of 2012/04/18.

License and Copyright

© 2002-2018, Rice University.
See README.License.


Nathan Tallent
John Mellor-Crummey
Rice HPCToolkit Research Group
Email: hpctoolkit-forum =at= rice.edu
WWW: http://hpctoolkit.org.