The Windows distribution of mpich comes with the MPE library for profiling applications and the Jumpshot java tool for visualizing the generated log files.
The MPE library is used for logging information about the execution of each MPI call to a log file for later analysis. This library may be accessed when linking the program. For example, to create a log file of a program such as cpi, all that needs to be done is to insert the mpe library in the link statement before the mpich library: mpe.lib mpich.lib
The log file will be written to a file with the name cpi.exe.clog or cpi.exe.slog, depending on the value of the environment variable MPE_LOG_FORMAT (clog is the default). A clog file can be converted to the slog format using the clog2slog.exe tool found in the MPICH SDK profiling directory. Only small slog files can be created directly. If the log file is going to be large, you must create a clog file and then convert it to an slog file. SLOG files can be graphically displayed using the Jumpshot program, described in Section Jumpshot .
Here is an example:
The Fortran interface in the mpich dlls cannot be profiled. In order to profile a Fortran application, the application must be re-linked with the static mpich libraries. The static libraries can be built from the source distribution mpich.nt.1.2.5.src.exe using the mpich.static.dsw workspace in the mpich root directory, or downloaded from ftp.mcs.anl.gov in directory pub/mpi/nt/binaries. The debug static libraries are: mpichsd.lib, pmpichsd.lib and mpichfsd.lib. The release static libraries are: mpichs.lib, pmpichs.lib and mpichfs.lib. You also need the mpdutil.lib and crypt.lib libraries from the mpd workspace that can be built or downloaded.
For debug targets, add mpichfsd.lib mped.lib mpichsd.lib pmpichsd.lib mpdutil.lib crypt.lib to the link command.
For release targets, add mpichfs.lib mpe.lib mpichs.lib pmpichs.lib mpdutil.lib crypt.lib to the link command.
After building with the static libraries, run the application and view the log file using the steps described in the previous section.
Jumpshot is a program for displaying logfiles produced using the MPE logging library. Jumpshot is described in more detail in the MPE Installation and User's manual [2]. Jumpshot is a Java program and requires a functioning Java environment. You can view an slog logfile such as cpi.exe.slog in the example above by using jumpshot3.jar found in the MPICH Jumpshot directory. Shortcuts to the Jumpshot manual and jumpshot3.jar are found at: start->programs->MPICH->Jumpshot