Chapter 7 Message Queue Window
Message Queue Window Overview
The Tools > Message Queue command tells TotalView that it should display information about the current process’s message queues.
Message queues are displayed for the following versions of MPI:
• MPICH version 1.1.0 or later.
• Compaq Alpha MPI (DMPI) version 1.7.
• HP HP-UX version 1.6.
• IBM MPI Parallel Environment (PE) version 2.3 or 2.4; but only for programs using the threaded IBM MPI libraries. TotalView cannot show message queues for earlier releases or with the non-thread-safe version of the IBM MPI library. Therefore, to use the message queue display with IBM MPI applications, you must compile and link your code using the mpcc_r, mpxlf_r, or mpxlf90_r compilers.
• On SGI MPI, you must obtain the Message Passing Toolkit (MPT) release 1.3 or later to display message queues. Check with SGI for availability.
This dialog box displays the state of each of the MPI communicators that exist in the process. In some MPI implementations, such as MPICH, user-visible communicators are implemented as two internal communicator structures, one for point-to-point and the other for collective operations. TotalView displays both.
NOTE >> You cannot edit any of the fields in the Message Queue dialog box.
The contents of the Message Queue dialog box are only valid when a process is stopped.
For each communicator, TotalView displays the following fields:
Communicator Name
MPI lets you name predefined communicators such as MPI_COMM_WORLD(). In addition, MPICH 1.1 and Compaq MPI use the MPI-2 MPI_NAME_PUT() and MPI_NAME_GET() communicator naming functions that let you associate a name with a communicator. If you use MPI_NAME_PUT() to name a communicator, TotalView uses the name you gave it when it displays the communicator.
IBM MPI and SGI MPI do not implement the MPI-2 communicator naming functions, which means that only predefined communicators are named. For user-created communicators, TotalView displays the integer value that represents the communicator. This is the value that a variable of type MPI_Communicator has when it represents a communicator.
Comm_size
The number of processes in the communicator. This value is the same value as occurs when you apply MPI_Comm_size() to the communicator.
Comm_rank
The rank in the communicator of the process that owns the Message Queue Window. This information is the same information you would get if you had applied MPI_Comm_rank to the communicator in this process.
Pending receive operations
A list of pending receive operations.
Unexpected messages
A list of messages sent to this communicator but that have not yet been matched with a receive.
Pending send operations
A list of pending send operations.