MPITASK(1)

NAME
mpitask - Monitor MPI processes under LAM.

SYNOPSIS

mpitask [-cdh] [-gps] [nodes] [processes]

OPTIONS

-c  Print communicator descriptions. See "Communicators".

-d  Print datatype descriptions. See "Datatypes".

-gps
    Print process information in GPS format.

-h  Print useful information on this command.

The -c and -d options are mutually exclusive.

DESCRIPTION
The mpitask command displays information on processes which are using MPI. One line is printed for each reported MPI process. With no processes or nodes explicitly specified on the command line, all MPI processes on all nodes are reported.

% mpitask
TASK (G/L) | FUNCTION | PEER|ROOT | TAG | COMM | COUNT | DATATYPE
0/0 trivial | Ssend | 1/1 | 123 | WORLD | 64 | INT
1/1 trivial | Recv | 0/0 | 456 | WORLD | 64 | INT

For each process mpitask normally prints the following information:

TASK
    an identification of the process - If the process is currently communicating, a `/' followed by the process's rank within the current communicator is also displayed. The executable name, if available, is also displayed. See "MPI Process Identification".

FUNCTION
    an abbreviated form of the function name if the process is blocked inside an MPI function - Otherwise one of the following execution states is printed:

    running
        free to run on the underlying OS

    paused
        blocked on lam_kpause(2)

    stopped
        stopped by the LAM signal, LAM_SIGARREST - See doom(1).

    blocked
        blocked in a LAM function - In general this should be a transitory state. Further information on a LAM process's state can be obtained with state(1).

PEER|ROOT
    the source or destination of a point-to-point communication or the root process of certain collective communications, followed by a '/' and the process's rank within the current communicator -

TAG the message tag, if any, which was specified as a parameter to the current MPI function

COMM
    the communicator ID, if any, which was specified as a parameter to the current MPI function - Communicators used in collective calls are displayed with a * suffix. Further information on the communicator may be obtained with the -c option.

COUNT
    the element count, if any, which was specified as a parameter to the current MPI function

DATATYPE
    the element datatype, if any, which was specified as a parameter to the current MPI function - For intrinsic datatypes, a shortened version of the datatype name is displayed. For derived datatypes, a datatype label is displayed. Further information on the datatype may be obtained with the -d option.

  MPI Process Identification
By default, MPI processes are identified by their rank in MPI_COMM_WORLD. We refer to this rank more concisely as the "global" rank (G). The rank within the currently employed communicator is referred to as the "local" rank (L).

Since processes may be dynamically spawned (see MPIL_Spawn(2)) and since multiple concurrent MPI applications are allowed, it is possible for multiple MPI_COMM_WORLD communicators to coexist. In these situations, the global rank is no longer globally unique and the identification is ambiguous. Thus, LAM provides an alternate way of identifying MPI processes, the GPS (Global Positioning System). A process's GPS consists of the nodeid the process is running on and the process's LAM index on that node. It is displayed in mpitask as the pair nnode,iindex. If the -gps option is given then the GPS is substituted for the global rank (G).

  Communicators
If the -c option is given then information is no longer displayed in the horizontal format described above. Instead for each selected process currently using a communicator, the information from the TASK column, described above, is given followed by an expanded description of the communicator. This description includes the size of the communicator group(s) and the global identifiers of all members of the group(s).

  Datatypes
If the -d option is given then information is no longer displayed in the horizontal format described above. Instead for each selected process currently using a communicator, the information from the TASK column, described above, is given followed by the datatype's type map.

EXAMPLES

mpitask
    Display the status of all MPI processes on all nodes.

mpitask -c n0 i9
    Display the communicator (if any) of process index 9 on node 0.

DIAGNOSTICS
If no MPI processes are found, only the title line is displayed.

BUGS
Sometimes processes may be shown as blocked inside a non-blocking MPI function. This occurs when the process is blocked inside the MPI function on some internal LAM event. Such states are highly transitory.

SEE ALSO
doom(1), libmpi(3), mpirun(1), mpimsg(1), state(1), MPIL_Comm_id(2), MPIL_Type_id(2)