A Collection of Drop-In (and free) Performance Tools

Here's a quick reference to several of the performance-related tools and packages that are in use on the NCSA IA-32 and IA-64 GNU/Linux clusters and SGI Altix, and pointers to where you can find them (and more information about using them) out on the 'Net.

Software is listed in alphabetical order within each section, and should not be considered an endorsement or recommendation of any software listed on this page.

Each package has a pointer to its main web page and (where available) NCSA-specific information about the package as well as information about the software's license terms.

Performance Toolkits (multi-purpose)

TAU - Tuning and Analysis Utilities
http://tau.uoregon.edu

Hardware Performance Counters

PAPI - Performance API
http://icl.cs.utk.edu/papi/
http://www.ncsa.uiuc.edu/UserInfo/Resources/Software/Tools/PAPI/
License information
Perfctr Kernel Patch and "perfex" for Linux/x86, x86-64, and ppc32
http://user.it.uu.se/~mikpe/linux/perfctr/
http://sourceforge.net/projects/perfctr/
License information (as of release 2.6.6)
Perfmon and "pfmon" for Linux/IA-64
http://www.hpl.hp.com/research/linux/perfmon/
http://www.sourceforge.net/projects/perfmon2/
ftp://ftp.hpl.hp.com/pub/linux-ia64/
http://www.ncsa.uiuc.edu/UserInfo/Resources/Software/Tools/pfmon/
License information (libpfm)

Profiling

VProf - The Visual Profiler
http://aros.ca.sandia.gov/~cljanss/perf/vprof/
http://sourceforge.net/projects/vprof/
http://www.ncsa.uiuc.edu/UserInfo/Resources/Software/Tools/VProf/
License information

At NCSA, VProf has been modified to accept the environment variable VMON_FREQ to set the threshold (default 100000) for sampling when PAPI is used. Additionally, modifications have been made to allow the use of all PAPI standard events (the VProf 0.12 distribution doesn't declare them all) and to support processor native events if using PAPI 3. A patch (unsupported) to apply these modifications is available here. This patch has been updated for use with either PAPI version 2 or 3.

To apply this patch, unpack the standard VProf 0.12 distribution, change into the directory containing the source code (vprof-0.12), and execute the command:

patch -p1 < PATCHFILE

where PATCHFILE corresponds to the location of the file containing the patch. Then follow the instructions in the README.NCSA file and the README file.

Message-Passing

MPICH MPE / Jumpshot / Upshot
http://www-unix.mcs.anl.gov/mpi/mpich/download.html
License information

(part of the MPE software included with the MPICH distribution)
See also Performance Visualization for Parallel Programs


mpiP - Lightweight, Scalable MPI Profiling
http://www.llnl.gov/CASC/mpip/
http://www.ncsa.uiuc.edu/UserInfo/Resources/Software/Tools/mpiP/
License information

Don't Forget: Tools You May Already Have

gcov, gprof, ltrace, sprof, strace, time
The /proc filesystem

Postscript

Before you acquire and install any tool, you might want to consider some interesting viewpoints expressed in "Some Observations On Tools", by Christian Lemburg.


Last modified: Monday, 02-Jun-2008 13:46:23 CDT

PerfSuite
National Center for Supercomputing Applications
University of Illinois at Urbana-Champaign