mpimsg - Monitor MPI message buffers under LAM.
SYNTAX
mpimsg [-gps] [-h] [-O] [-c <seq>] [-d <seq>] [-m <seq>]
[-e <#>] [-B <#>] [<nodes>] [<processes>]
OPTIONS
-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 mpitask(1).
-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.
DESCRIPTION
The mpimsg command displays information on buffered mes
sages which were sent using the MPI library and are cur
rently 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.
% mpimsg
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 dis
played. See mpitask(1) for a discussion of
process identification.
cess
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 <seqnum> is a sequence
number assigned to the message by LAM.
These values are used to get further infor
mation on the communicator, datatype or
message contents.
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) regard
ing 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 sys
tem 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 informa
tion. In this case nothing is printed.
Message Contents
If the -m option is given then the contents of the speci
fied message are displayed.
First the destination process identification and the mes
sage identification is printed and then the message con
tents 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 according 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 actual
ly contiguous in the buffer and of the same basic type.
The amount of a message that is to be printed can be lim
ited with the -e option. The limit 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 containing three inte
gers, then a limit of 20 would result in the display of
the first 20 integers in the message, as opposed to the
Buffered message data is by default stored in LAM repre
sentation 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 representation of the
machines in the LAM. In this case when using the -m op
tion the -O switch can be given in order to prevent the
data conversion for display.
EXAMPLES
mpimsg
Report all MPI messages.
mpimsg n1 -m 8 -e 20
Print the first 20 elements of message #8 on node 1.
DIAGNOSTICS
If no buffered messages are found, only the title line is
displayed. If the message specified by -c, -d or -m is no
longer buffered, nothing is printed.
SEE ALSO
bfctl(1), bfstate(1), libmpi(3), mpitask(1), sweep(1)
Man(1) output converted with
man2html