The Multi-Processing Environment (MPE) attempts to provide programmers with a complete suite of performance analysis tools for their MPI programs based on post processing approach. These tools include a set of profiling libraries, a set of utility programs, and a set of graphical tools.
The first set of tools to be used with user MPI programs is profiling libraries which provide a collection of routines that create log files. These log files can be created manually by inserting MPE calls in the MPI program, or automatically by linking with the appropriate MPE libraries, or by combining the above two methods[see section.Customized Logging ]. Currently, the MPE offers the following 3 profiling libraries.
Tracing Library - This library traces all MPI calls. Each MPI call is preceded by a line that contains the rank in MPI_COMM_WORLD of the calling process, and followed by another line indicating that the call has completed. Most send and receive routines also indicate the values of count, tag, and partner (destination for sends, source for receives). Output is to standard output.
Animation Libraries - A simple form of real-time program animation that requires X window routines.
Logging Libraries - The most useful and widely used profiling libraries in MPE. They form the basis to generate log files from user MPI programs. There are currently 3 different log file formats allowed in MPE. The default log file format is CLOG. It is basically a collection of events with single timestamps. And there is ALOG which is provided for backward compatibility reason and it is not being developed. And the most powerful one is SLOG, stands for Scalable LOGfile format, which can be converted from CLOG file after CLOG file has been generated (preferred approach), or can be generated directly when MPI program is executed (through setting the environmental variable MPE_LOG_FORMAT to SLOG).
Currently, MPE's graphical tools includes 3 display programs, upshot for ALOG, Jumpshot-2 for CLOG and Jumpshot-3 for SLOG. The logviewer script eliminates the need for user to remember the relationship between logfile formats and display programs.