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`").