Man Linux: Main Page and Category List

NAME

       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 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
       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  <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.

   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
       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.

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)