Provided by: lam-runtime_7.1.4-3.1_amd64 bug

NAME

       mpimsg - Monitor MPI message buffers under LAM.

SYNOPSIS

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

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

   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)