Introduction
ParaProf is a portable, scalable performance analysis tool included with the TAU distribution.
ParaProf requires Oracle / Sun’s Java 1.5 Runtime Environment for basic functionality. Java JOGL (included) is required for 3d visualization and image export. Additionally, OpenGL is required for 3d visualization. |
Most windows in ParaProf can export bitmap (png/jpg) and vector (svg/eps) images to disk (png/jpg) or print directly to a printer. This are available through the File menu. |
Using ParaProf from the command line
ParaProf is a java program that is run from the supplied paraprof
script ( paraprof.bat
for windows binary release).
% paraprof --help Usage: paraprof [options] <files/directory> Options: -f, --filetype <filetype> Specify type of performance data, options are: profiles (default), pprof, dynaprof, mpip, gprof, psrun, hpm, packed, cube, hpc, ompp snap, perixml, gptl, ipm, google --range a-b:c Load only profiles from the given range(s) of processes Seperate individual ids or dash-defined ranges with colons -h, --help Display this help message The following options will run only from the console (no GUI will launch): --merge <file.gz> Merges snapshot profiles --pack <file> Pack the data into packed (.ppk) format --dump Dump profile data to TAU profile format --dumprank <rank> Dump profile data for <rank> to TAU profile format -v, --dumpsummary Dump derived statistical data to TAU profile format --overwrite Allow overwriting of profiles -o, --oss Print profile data in OSS style text output -q, --dumpmpisummary Print high level time and communication summary -d, --metadump Print profile metadata (works with --dumpmpisummary) -x, --suppressmetrics Exclude child calls and exclusive time from --dumpmpisummary -s, --summary Print only summary statistics (only applies to OSS output) Notes: For the TAU profiles type, you can specify either a specific set of profile files on the commandline, or you can specify a directory (by default the current directory). The specified directory will be searched for profile.*.*.* files, or, in the case of multiple counters, directories named MULTI_* containing profile data.
Supported Formats
ParaProf can load profile date from many sources. The types currently supported are:
TAU Profiles (profiles) - Output from the TAU measurement library, these files generally take the form of profile.X.X.X
, one for each node/context/thread combination. When multiple counters are used, each metric is located in a directory prefixed with "MULTI". To launch ParaProf with all the metrics, simply launch it from the root of the MULTI directories.
ParaProf Packed Format (ppk) - Export format supported by PerfDMF/ParaProf. Typically .ppk.
TAU Merged Profiles (snap) - Merged and snapshot profile format supported by TAU. Typically tauprofile.xml.
TAU pprof (pprof) - Dump Output from TAU’s pprof -d
. Provided for backward compatibility only.
DynaProf (dynaprof) - Output From DynaProf’s wallclock and papi probes.
mpiP (mpip) - Output from mpiP.
gprof (gprof) - Output from gprof, see also the --fixnames option.
PerfSuite (psrun) - Output from PerfSuite psrun files.
HPM Toolkit (hpm) - Output from IBM’s HPM Toolkit.
Cube (cube) - Output from Kojak Expert tool for use with Cube.
Cube3 (cube3) - Output from Kojak Expert tool for use with Cube3 and Cube4.
HPCToolkit (hpc) - XML data from hpcquick. Typically, the user runs hpcrun, then hpcquick on the resulting binary file.
OpenMP Profiler (ompp) - CSV format from the ompP OpenMP Profiler (http://www.ompp-tool.com). The user must use OMPP_OUTFORMAT=CVS.
PERI XML (perixml) - Output from the PERI data exchange format.
General Purpose Timing Library (gptl) - Output from the General Purpose Timing Library.
Paraver (paraver) - 2D output from the Paraver trace analysis tool from BSC.
IPM (ipm) - Integrated Performance Monitoring format, from NERSC.
Google (google) - Google Profiles.
Command line options
In addition to specifying the profile format, the user can also specify the following options
-
--fixnames - Use the fixnames option for gprof. When C and Fortran code are mixed, the C routines have to be mapped to either .function or function_. Strip the leading period or trailing underscore, if it is there.
-
--pack <file> - Rather than load the data and launch the GUI, pack the data into the specified file.
-
--dump - Rather than load the data and launch the GUI, dump the data to TAU Profiles. This can be used to convert supported formats to TAU Profiles.
-
--oss - Outputs profile data in OSS Style. Example:
------------------------------------------------------------------------------- Thread: n,c,t 0,0,0 ------------------------------------------------------------------------------- excl.secs excl.% cum.% PAPI_TOT_CYC PAPI_FP_OPS calls function 0.005 56.0% 56.0% 13475345 4194518 1 foo 0.003 40.1% 96.1% 9682185 4205367 1 bar 0 3.6% 99.7% 223173 17445 1 baz 2.2E-05 0.3% 100.0% 14663 206 1 main
-
--summary - Output only summary information for OSS style output.