Log and tracefile tools


Up: Programming Tips Next: Logging C applications Previous: Attaching a debugger to a running program

The Windows distribution of mpich comes with the MPE library for profiling applications and the Jumpshot java tool for visualizing the generated log files.



Up: Programming Tips Next: Logging C applications Previous: Attaching a debugger to a running program


Logging C applications


Up: Log and tracefile tools Next: Logging Fortran applications Previous: Log and tracefile tools

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:

    1. Build cpi from the examples nt directory selecting the PDebug target. This project has mped.lib mpichd.lib in the link command.
    2. mpirun -np 4 cpi.exe
    3. clog2slog cpi.exe.clog
    4. java -jar jumpshot3.jar
    5. File=>Select Logfile, choose cpi.exe.slog



Up: Log and tracefile tools Next: Logging Fortran applications Previous: Log and tracefile tools


Logging Fortran applications


Up: Log and tracefile tools Next: Jumpshot Previous: Logging C applications

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.



Up: Log and tracefile tools Next: Jumpshot Previous: Logging C applications


Jumpshot


Up: Log and tracefile tools Next: Performance measurements Previous: Logging Fortran applications

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



Up: Log and tracefile tools Next: Performance measurements Previous: Logging Fortran applications