Pittsburgh Supercomputing Center 

Advancing the state-of-the-art in high-performance computing, communications and informatics.

IPM

Integrated Performance Monitoring (IPM) is a performance profiling tool for parallel MPI applications. It does not require you to modify your source code, and runs with low overhead. IPM provides the following information about an application:

  • MPI communication time, statistics for each MPI call, communication topology, message size distributions, load balance
  • Computation percentage
  • PAPI event counts
  • Node memory usage
  • Wallclock, user, and system timings

IPM is installed on blacklight.

Usage

Compile your code

While logged in to blacklight, compile your code by following these steps.

  1. Load the IPM module
    % module load ipm  
  2. Link your code to the IPM library and compile
    % icc -o prog prog.c $IPM_LIB -lmpi
    Or, if you are using a makefile, add $IPM_LIB to the link line.

Run your code

To run your program, create a batch job to:

  1. Set up the module command.
  2. Load the IPM module
    module load ipm 
  3. Optionally, pick the level of reporting that you want
    setenv IPM_REPORT full
  4. Run the program
    mpirun -np  4  prog

View the IPM report

After your program runs, an summary IPM report is written to stdout. An XML file is also created, which can be used to create a webpage displaying graphics of the code performance.

The XML file will be named username.xxxxxxxxxx.xxxxxx.0 where each x is a digit.

To create the web page report do the following:

  1. While logged in to blacklight, type these commands:
    1. % module load ipm
    2. % ipm_parse -html  XML-file-name 
      This generates a directory with a long name which incorporates a log of information about the job: prog-name_#cpus_XML-file-name_ipm_job-id. This directory contains html files.
  2. Copy the directory to your local machine.
  3. View the index.html file from this directory in your favorite browser.

Stay Connected

Stay Connected with PSC!

facebook 32 twitter 32 google-Plus-icon