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.
• 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.
Figure 114 – Message Queue Window
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.