NCSA Home
Contact Us Intranet

PerfSuite

User Information Home
Data
Security
Allocations
Consulting
Training

NCSA's Help Desk is available 24 hours a day, seven days a week, 365 days a year:
help.ncsa.illinois.edu
217-244-0710
help@ncsa.illinois.edu


Overview

PerfSuite is an easy-to-use collection of tools, utilities, and libraries to support application software performance analysis on Linux-based systems (x86, x86-64, ia64, ppc64 and ppc32). It includes components to assist with a wide variety of performance-related tasks, ranging from assistance with compiler optimization reports to hardware performance counting, profiling, and MPI usage summarization.

PerfSuite is Open Source software, approved for licensing under the University of Illinois/NCSA Open Source License (OSI-approved).

You can find out more about PerfSuite at the project web sites, located at:

http://sourceforge.net/projects/perfsuite/

The project web sites contain pointers to online documentation for PerfSuite and its individual components. Links to download pages for the current PerfSuite source distribution are also available at the project web sites.


NCSA-specific information

PerfSuite software is available for use on NCSA's Forge and Ember systems, in the directory:

/usr/apps/tools/perfsuite

The following UNIX man pages are available: psconfig, psenv, psinv, psprocess, psrun.


Using module for PerfSuite on Forge and Ember

On Forge and Ember, PerfSuite is available through the "module" package. To set up your environment for PerfSuite with "module", use one of the following commands:

module load perfsuite
module load perfsuite/<version> (for a specific PerfSuite version)

If you are using the PerfSuite API directly from a Fortran program and you are compiling with the Intel compiler, you should link with Intel-compatible versions of PerfSuite libraries that are in the directory /usr/apps/tools/perfsuite/<version>/lib/intel, such as /usr/apps/tools/perfsuite/1.1.1-forge/lib/intel.

Please refer to NCSA's general user documentation for more information about using "module".


Using psrun with mpirun

In most cases, you can use psrun with the MPI launch command mpirun on NCSA HPC platforms without modification. If you experience problems, you may find that using the full pathname to psrun will help. That is, try changing the command:

% mpirun -machinefile $MACHINEFILE -np 2 psrun mpiprogram

to:

% mpirun -machinefile $MACHINEFILE -np 2 /usr/apps/tools/perfsuite/<version>/bin/psrun mpiprogram

If you are using the MPICH "ch_p4" device, you will not be able to use psrun with mpirun. This is because command-line arguments are changed by this variant of MPI. If you have questions, please refer to the contact information elsewhere on this page.


Using psrun with parallel programs

To use PerfSuite's psrun command with parallel programs, you should follow these steps:

For shared-memory (OpenMP/POSIX threads) programs:

psrun -p ompprogram

For message-passing (MPI) programs:

mpirun -np P psrun -f mpiprogram

For hybrid (MPI + OpenMP) programs:

mpirun -np P psrun -f -p hybridprogram


psrun and the Intel compiler option -fast

Important note: the psrun command is only effective for executables that have been linked dynamically (the default linking mode). Statically-linked executables are produced when you add the option -static to your link line. The Intel compiler's -fast option, which selects a set of options likely to produce good performance, includes the -static option when your program is linked. Therefore, applications linked using this option will not produce performance data when run with psrun.

You can determine the option set implied by -fast by examining the "help" output of the compiler (-help): this will allow you to compile and link your application using the same optimization options as -fast (typically -O3 and -ipo) while omitting the option -static in order to produce a dynamically-linked executable that can be used with psrun.


For more information

If you have questions about or need assistance with PerfSuite at NCSA, please send email to:

consult (at) ncsa.illinois.edu