MPIMSG(1) LAM COMMANDS MPIMSG(1)NAMEmpimsg - Monitor MPI message buffers under LAM.
SYNOPSISmpimsg [-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 nn Limit printing the contents of a message to # elements.
-m seq Print the contents of message seq. See "Message Con‐
tents".
-B nn 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 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.
% 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 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 nn‐
odeid,#seqnum, where nodeid is the physical location of
the buffered message and seqnum is a sequence number as‐
signed to the message by LAM. These values are used to
get further information 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) regarding processes. Unlike mpitask(1), these
options in mpimsg require a message identifier to isolate a single mes‐
sage. 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 or‐
der to display further information. In this case nothing is printed.
Message Contents
If the -m option is given then the contents of the specified message
are displayed.
First the destination process identification and the message identifi‐
cation 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 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 limited with the
-e option. The limit is specified in terms of a maximum number of ele‐
ments of a basic datatype that are to be printed. For example if a
message consists of 100 structures with each structure containing three
integers, then a limit of 20 would result in the display of the first
20 integers 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 representation 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 dis‐
play.
EXAMPLESmpimsg
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 ALSObfctl(1), bfstate(1), libmpi(3), mpitask(1), sweep(1)LAM 7.1.5b2 June, 2008 MPIMSG(1)