Manual Pages for UNIX Darwin command on man MPI_Startall
MyWebUniversity

Manual Pages for UNIX Darwin command on man MPI_Startall

MPIStartall(3OpenMPI) MPIStartall(3OpenMPI)

NAME

MMPPIISSttaarrttaallll - Starts a collection of requests.

SSYYNNTTAAXX CC SSyynnttaaxx

#include

int MPIStartall(int count, MPIRequest *arrayofrequests) FFoorrttrraann SSyynnttaaxx INCLUDE 'mpif.h'

MPISTARTALL(COUNT, ARRAYOFREQUESTS, IERROR)

INTEGER COUNT, ARRAYOFREQUESTS(*), IERROR

CC++++ SSyynnttaaxx

#include

static void Prequest::Startall(int count, Prequest arrayofrequests[]) IINNPPUUTT PPAARRAAMMEETTEERR count List length (integer). IINNPPUUTT//OOUUTTPPUUTT PPAARRAAMMEETTEERR arrayofrequests Array of requests (array of handle). OOUUTTPPUUTT PPAARRAAMMEETTEERR

IERROR Fortran only: Error status (integer).

DESCRIPTION

Starts all communications associated with requests in arrayofrequests. A call to MPIStartall(count, arrayofrequests)

has the same effect as calls to MPIStart (&arrayofrequests[i]), exe-

cuted for i=0 ,..., count-1, in some arbitrary order.

A communication started with a call to MPIStart or MPIStartall is

completed by a call to MPIWait, MPITest, or one of the derived func-

tions MPIWaitany, MPITestany, MPIWaitall, MPITestall, MPIWaitsome,

MPITestsome (these are described in Section 3.7.5 of the MPI-1 Stan-

dard, "Multiple Completions"). The request becomes inactive after suc-

cessful completion by such a call. The request is not deallocated, and it can be activated anew by another MPIStart or MPIStartall call. A persistent request is deallocated by a call to MPIRequestfree (see

Section 3.7.3 of the MPI-1 Standard, "Communication Completion").

The call to MPIRequestfree can occur at any point in the program after the persistent request was created. However, the request will be deallocated only after it becomes inactive. Active receive requests should not be freed. Otherwise, it will not be possible to check that the receive has completed. It is preferable, in general, to free requests when they are inactive. If this rule is followed, then the persistent communication request functions will be invoked in a sequence of the form, Create (Start Complete)* Free where * indicates zero or more repetitions. If the same communication

object is used in several concurrent threads, it is the user's respon-

sibility to coordinate calls so that the correct sequence is obeyed. A send operation initiated with MPIStart can be matched with any receive operation and, likewise, a receive operation initiated with MPIStart can receive messages generated by any send operation. EERRRROORRSS Almost all MPI routines return an error value; C routines as the value

of the function and Fortran routines in the last argument. C++ func-

tions do not return errors. If the default error handler is set to

MPI::ERRORSTHROWEXCEPTIONS, then on error the C++ exception mechanism

will be used to throw an MPI:Exception object. Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with

MPICommseterrhandler; the predefined error handler MPIERRORSRETURN

may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

SEE ALSO

MPIBsendinit MPIRsendinit MPISendinit MPISsendinit MPIRecvinit MPIStart MPIRequestfree Open MPI 1.2 September 2006 MPIStartall(3OpenMPI)




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™