mpimsg - Monitor MPI message buffers under LAM.
mpimsg [-gps]
[-h] [-O] [-c seq] [-d seq] [-m seq] [-e #] [-B #] [nodes] [processes]
- -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
Contents".
- -B nn
- 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.
% 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
nnodeid,#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 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 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 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 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 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 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 display.
- mpimsg
- 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 specified by -c, -d or -m is no longer buffered, nothing is printed.
bfctl(1),
bfstate(1),
libmpi(3),
mpitask(1),
sweep(1)