Interpret message queues

To see the messages in a group, you must choose an option in Select communicator. The ranks displayed in the diagram are the ranks within the communicator (not MPI_COMM_WORLD), if Show local ranks is selected.

Message Queue window

To see the ‘usual’ ranks, select Show global ranks. The messages displayed can be restricted to particular processes or groups of processes. To restrict the display in the grid to a single process, select Individual Processes in Display mode, then select the rank of the process. To display a group of processes, select Process Groups in Display mode then select the ring arc corresponding to the required group. Both of these display modes support multiple selections.

There are three different types of message queues about which there is information. Different colors are used to display messages from each type of queue.

Label

Description

Send Queue

Calls to MPI send functions that have not yet completed.

Receive Queue

Calls to MPI receive functions that have not yet completed.

Unexpected Message Queue

Represents messages received by the system but the corresponding receive function call has not yet been made.

Messages in the Send queue are represented by a red arrow, pointing from the sender to the recipient. The line is solid on the sender side, but dashed on the recipient side (to represent a message that has been sent but not yet received).

Messages in the Receive queue are represented by a green arrow, pointing from the sender to the recipient. The line is dashed on the sender side, but solid on the recipient side, to represent the recipient being ready to receive a message that has not yet been sent.

Messages in the Unexpected queue are represented by a dashed blue arrow, pointing from sender of the unexpected message to the recipient.

A message to self is indicated by a line with one end at the center of the diagram.

Note that the quality and availability of message queue data can vary considerably between MPI implementations. Sometimes the data can therefore be incomplete.