1MPI_Waitall(3)                      LAM/MPI                     MPI_Waitall(3)
2
3
4

NAME

6       MPI_Waitall -  Waits for all given communications to complete
7

SYNOPSIS

9       #include <mpi.h>
10       int MPI_Waitall(int count, MPI_Request *reqs,
11                      MPI_Status *stats)
12

INPUT PARAMETERS

14       count  - lists length (integer)
15       reqs   - array of requests (array of handles)
16
17

OUTPUT PARAMETER

19       stats  -  array  of  status objects (array of Status), which may be the
20              MPI constant MPI_STATUSES_IGNORE
21
22
23

NOTE ON STATUS FOR SEND OPERATIONS

25       For send operations, the only use of status is  for  MPI_Test_cancelled
26       in  the  case that there is an error, in which case the MPI_ERROR field
27       of status will be set.
28
29

NOTES FOR FORTRAN

31       All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK )  have
32       an  additional  argument ierr at the end of the argument list.  ierr is
33       an integer and has the same meaning as the return value of the  routine
34       in  C.   In Fortran, MPI routines are subroutines, and are invoked with
35       the call statement.
36
37       All MPI objects (e.g., MPI_Datatype , MPI_Comm ) are of type INTEGER in
38       Fortran.
39
40

ERRORS

42       If an error occurs in an MPI function, the current MPI error handler is
43       called to handle it.  By default, this error  handler  aborts  the  MPI
44       job.   The  error  handler may be changed with MPI_Errhandler_set ; the
45       predefined error handler MPI_ERRORS_RETURN may be used to  cause  error
46       values  to  be  returned  (in C and Fortran; this error handler is less
47       useful in with the C++ MPI  bindings.   The  predefined  error  handler
48       MPI::ERRORS_THROW_EXCEPTIONS  should  be used in C++ if the error value
49       needs to be recovered).  Note that MPI does not guarantee that  an  MPI
50       program can continue past an error.
51
52       All  MPI  routines  (except  MPI_Wtime  and MPI_Wtick ) return an error
53       value; C routines as the value of the function and Fortran routines  in
54       the  last  argument.  The C++ bindings for MPI do not return error val‐
55       ues; instead, error values are communicated by throwing  exceptions  of
56       type  MPI::Exception  (but not by default).  Exceptions are only thrown
57       if the error value is not MPI::SUCCESS .
58
59
60       Note that if the MPI::ERRORS_RETURN handler is set in  C++,  while  MPI
61       functions  will  return  upon an error, there will be no way to recover
62       what the actual error value was.
63       MPI_SUCCESS
64              - No error; MPI routine completed successfully.
65       MPI_ERR_REQUEST
66              - Invalid MPI_Request ; either null or,  MPI_REQUEST_NULL  ,  in
67              the  case  of  a  MPI_Start  or  MPI_Startall , not a persistent
68              request.
69       MPI_ERR_ARG
70              - Invalid argument.  Some argument is invalid and is not identi‐
71              fied  by  a  specific  error  class.   This  is typically a NULL
72              pointer or other such error.
73       MPI_ERR_COUNT
74              - Invalid count argument.  Count arguments must be non-negative;
75              a count of zero is often valid.
76
77       MPI_ERR_IN_STATUS
78              -  The  actual  error value is in the MPI_Status argument.  Note
79              that if this error  occurs  and  MPI_STATUS_IGNORE  or  MPI_STA‐
80              TUSES_IGNORE  was  used as the status argument, the actual error
81              will be lost. This error class is returned only from the  multi‐
82              ple-completion  routines ( MPI_Testall , MPI_Testany , MPI_Test‐
83              some , MPI_Waitall , MPI_Waitany  ,  and  MPI_Waitsome  ).   The
84              field  MPI_ERROR in the status argument contains the error value
85              or MPI_SUCCESS (no error and  complete)  or  MPI_ERR_PENDING  to
86              indicate  that  the request has not completed.  The MPI Standard
87              does not specify what the result of the multiple completion rou‐
88              tines is when an error occurs.  For example, in an MPI_WAITALL ,
89              does the routine wait for all requests to either  fail  or  com‐
90              plete, or does it return immediately (with the MPI definition of
91              immediately, which means independent of  actions  of  other  MPI
92              processes)?   LAM/MPI  has  chosen  to make the return immediate
93              (alternately, local in MPI terms), and to use  the  error  class
94              MPI_ERR_PENDING  (introduced  in  MPI  1.1)  to  indicate  which
95              requests have not completed.  In most cases,  only  one  request
96              with  an  error  will be detected in each call to an MPI routine
97              that tests multiple requests.  The requests that have  not  been
98              processed (because an error occured in one of the requests) will
99              have their MPI_ERROR field marked with MPI_ERR_PENDING .
100
101       MPI_ERR_PENDING
102              - Pending request (not an error).  See MPI_ERR_IN_STATUS .  This
103              value  indicates  that  the  request  is  not complete nor has a
104              encountered a detected error.
105
106

MORE INFORMATION

108       For more information, please see the official MPI Forum web site, which
109       contains  the  text of both the MPI-1 and MPI-2 standards.  These docu‐
110       ments contain detailed information about each  MPI  function  (most  of
111       which is not duplicated in these man pages).
112
113       http://www.mpi-forum.org/
114
115
116

ACKNOWLEDGEMENTS

118       The  LAM Team would like the thank the MPICH Team for the handy program
119       to generate man pages  ("doctext"  from  ftp://ftp.mcs.anl.gov/pub/sow‐
120       ing/sowing.tar.gz  ), the initial formatting, and some initial text for
121       most of the MPI-1 man pages.
122

LOCATION

124       waitall.c
125
126
127
128LAM/MPI 7.1.2                      2/23/2006                    MPI_Waitall(3)
Impressum