MPIMSG(1) LAM COMMANDS MPIMSG(1)
mpimsg - Monitor MPI message buffers under LAM.
mpimsg [-gps] [-h] [-O] [-c <seq>] [-d <seq>] [-m <seq>] [-e <#>] [-B <#>] [<nodes>]
-gps Print process information in GPS format.
-h Print useful information on this command.
-O Multicomputer is homogeneous. Do no data conversion. See mpirun(1).
-c <seq> Print a description of the communicator used in message <seq>. See mpi-
-d <seq> Print a description of the datatype used in message <seq>. See mpitask(1).
-e <#> Limit printing the contents of a message to <#> elements.
-m <seq> Print the contents of message <seq>. See "Message Contents".
-B <#> Change the limit on the number of messages reported.
The -c, -d and -m options are mutually exclusive.
The mpimsg command displays information on buffered messages which were sent using the MPI
library and are currently buffered on the specified nodes and destined to the specified
processes. mpimsg typically only works when the "daemon" mode of communication is used;
it cannot be used to monitor "client to client" (C2C) communications.
With no processes or nodes explicitly specified on the command line, all MPI messages on
all nodes are reported.
SRC (G/L) DEST (G/L) TAG COMM COUNT DATATYPE MSG
0/0 1/1 123 WORLD 64 INT n1,#0
For each message mpimsg outputs the following information:
SRC an identification of the source process - A `/' followed by the process's
rank within the message's communicator is also displayed. See mpitask(1)
for a discussion of process identification.
DEST an identification of the destination process
TAG the tag from the message envelope
COMM the communicator identifier
COUNT the number of data elements in the message
DATATYPE the element datatype
MSG the message identifier - It is expressed in the form n<nodeid>,#<seqnum>,
where <nodeid> is the physical location of the buffered message and <se-
qnum> is a sequence number assigned to the message by LAM. These values
are used to get further information on the communicator, datatype or mes-
More detailed information on the message's communicator or datatype can be obtained with
the -c or -d options. The information is the same as obtained by mpitask(1) regarding
processes. Unlike mpitask(1), these options in mpimsg require a message identifier to
isolate a single message. Keep in mind that mpimsg invocations are snapshots of system
status. It is possible that a buffered message shown in a call of mpimsg may be received
prior to a subsequent call to mpimsg made in order to display further information. In
this case nothing is printed.
If the -m option is given then the contents of the specified message are displayed.
First the destination process identification and the message identification is printed and
then the message contents are printed in a format somewhat similar to that produced by the
UNIX utility od(1). On the left hand side of each line the offset from the beginning of
the data buffer is printed in hexadecimal. After that individual elements are printed ac-
cording to their type as deduced from the type signature. Holes in the datatype and
changes in basic type force newlines in the output so in effect all elements on the same
line of output are actually contiguous in the buffer and of the same basic type.
The amount of a message that is to be printed can be limited with the -e option. The lim-
it is specified in terms of a maximum number of elements of a basic datatype that are to
be printed. For example if a message consists of 100 structures with each structure con-
taining three integers, then a limit of 20 would result in the display of the first 20 in-
tegers in the message, as opposed to the first 20 structures (or 60 integers).
Buffered message data is by default stored in LAM representation and will be converted to
local representation for display. In the case of a homogeneous LAM and MPI processes run
with the -O switch to mpirun(1) message data will be stored in the common local represen-
tation of the machines in the LAM. In this case when using the -m option the -O switch
can be given in order to prevent the data conversion for display.
Report all MPI messages.
mpimsg n1 -m 8 -e 20
Print the first 20 elements of message #8 on node 1.
If no buffered messages are found, only the title line is displayed. If the message spec-
ified by -c, -d or -m is no longer buffered, nothing is printed.
bfctl(1), bfstate(1), libmpi(3), mpitask(1), sweep(1)
LAM 6.5.8 November, 2002 MPIMSG(1)