mpimsg



MPIMSG(1)                        LAM COMMANDS                        MPIMSG(1)




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 <#> ele-
                      ments.

       -m <seq>       Print the contents of message <seq>.  See "Message  Con-
                      tents".

       -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
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  lo-
                      cation  of  the  buffered  message and <seqnum> is a se-
                      quence number assigned to the  message  by  LAM.   These
                      values are used to get further information on the commu-
                      nicator, 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.


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)



LAM 7.1.1                       September, 2004                      MPIMSG(1)

Man(1) output converted with man2html