next previous contents
Next: Debugging MPI Programs Previous: MPE Logging Routines

Profile Visualization with Upshot

The logfile viewing program that is distributed with MPI is called upshot. It is a simple graphical display of parallel time lines and state durations. Upshot is a Tcl/Tk script, so it can be customized and extended. Once you have created a logfile by inserting the MPE logging routines into your program and compiling and executing the program, the logfile can be viewed by invoking upshot. Simply type

upshot filename.log
at the UNIX prompt. Try this on the sample logfile cpilog.alog provided in ~aca319/public_html/labs/mpi-examples

When the window titled Upshot appears, click on Setup. The file cpilog.alog will be automatically read, and upshot will display parallel time lines for each process, with states indicated by colored bars. Timestamp values, adjusted to start at 0 are shown along the bottom of the time lines. Upshot provides zooming capability for magnified views of the time lines.

Note that MPE can produce output in one of three different formats - CLOG, SLOG and ALOG. Upshot requires log files to be in ALOG format. To convert between formats use the program clog2alog which comes with MPI (and which should be in your path). For example:

clog2alog cpilog

will read in the file cpilog.clog and output the file cpilog.alog, which can then be used by upshot.

Upshot is not available on the Suns. Instead, a java application called Jumpshot can be used. Jumpshot requires that log files be in SLOG format, which should be the default on the Suns. You can convert a CLOG file to SLOG format with clog2slog. Jumpshot and Upshot offer you different ways to look at the logs for your program - have a play with both (use the log files in the examples directory) and see which you prefer.

The default output format on the Linux machines should be ALOG, and SLOG on the Suns. This is specified by me in the file ~aca319/bin/pathadd.csh and is set every time you log in. To change the format you must execute the command

setenv MPE_LOG_FORMAT CLOG

which changes the default to CLOG - alternatives are ALOG and SLOG. You could put this command in your .cshrc file if you want the change to be permanent (nbut make sure you put it after the command "source /usr/local/units/aca319/bin/pathadd.csh").