[Contents] [Chapter 3] [Chapter 5] [Index]
This chapter provides a description of profiling and how to produce a log of calls to MPI routines and then view the log. It also provides a description of tracing and how to trace MPI calls. The chapter consists of the following sections:
Compaq MPI includes modified versions of the profiling library and Upshot viewer that come with the MPICH kit. You can use the profiling library to produce a log of calls to Compaq MPI routines. This records the start and end time of each call and other message information. You can then use Upshot to view, search, and scroll the log.
The Compaq MPI profiling library differs from the MPICH profiling library in the following ways:
The Compaq MPI version of Upshot differs from the MPICH version in the following ways:
To use the profiling libraries to log calls, follow these steps:
Link to the profiling libraries instead of the normal MPI library.
To use the Compaq MPI version of Upshot, follow these steps:
To start Upshot, enter the following command:
A window appears with an entry field, and Select Logfile, Setup, Options and Quit buttons.
A small window appears while the file is loading. When the file is loaded, the timeline window is displayed.
The features of this window and the actions you can perform are described here:
There are a number of buttons at the top of the timeline window:
The timeline window shows one line per process (numbered vertically), with events and states on each line.
The routines used by the program are placed beneath the buttons at the top of the window and above the processes. Clicking on a routine causes a window to appear that displays a histogram of state durations for the routine.
The black arrow indicates a message sent from the process at the tail of the arrow to the process at the head of the arrow. You can press MB1 when the cursor is over the arrow to display details about that message, for example, message size, source, destination ranks.
The yellow arrows indicate the duration of non-blocking requests. Non-blocking MPI communications use `requests' that are typically initiated by a non-blocking send or receive, such as MPI_Isend or MPI_Irecv, and are usually terminated by a wait or test call.
Messages sent or received this way are logged as though they are sent or received by the terminating wait or test call. Yellow arrows on a timeline indicate the start and end of a request and go from the send or receive call that initiated the request to the test, wait, or cancel call that ends the request.
You can use the tracing library to output to the standard output, information describing each of the MPI calls executed in the program.
Most send and receive routines indicate the value of count, tag, and partner (destination for send, source for receives).
To use the tracing library to print trace lines for MPI calls, follow these steps:
[Contents] [Chapter 3] [Chapter 5] [Index]
Copyright © 1999, Digital Equipment Corporation. All rights reserved. Unpublished rights reserved under the copyright laws of the United States.