Manual Pages for UNIX Darwin command on man MPI_Testany
MyWebUniversity

Manual Pages for UNIX Darwin command on man MPI_Testany

MPITestany(3OpenMPI) MPITestany(3OpenMPI)

NAME

MMPPIITTeessttaannyy - Tests for completion of any one previously initiated com-

munication in a list. SSYYNNTTAAXX CC SSyynnttaaxx

#include

int MPITestany(int count, MPIRequest *arrayofrequests, int *index, int *flag, MPIStatus *status) FFoorrttrraann SSyynnttaaxx INCLUDE 'mpif.h'

MPITESTANY(COUNT, ARRAYOFREQUESTS, INDEX, FLAG, STATUS, IERROR)

LOGICAL FLAG INTEGER COUNT, ARRAYOFREQUESTS(*), INDEX

INTEGER STATUS(MPISTATUSSIZE), IERROR

CC++++ SSyynnttaaxx

#include

static bool Request::Testany(int count, Request arrayofrequests[], int& index, Status& status) static bool Request::Testany(int count, Request arrayofrequests[], int& index) IINNPPUUTT PPAARRAAMMEETTEERRSS count List length (integer). arrayofrequests Array of requests (array of handles). OOUUTTPPUUTT PPAARRAAMMEETTEERRSS index Index of operation that completed, or MPIUNDEFINED if none completed (integer). flag True if one of the operations is complete (logical). status Status object (status).

IERROR Fortran only: Error status (integer).

DESCRIPTION

MPITestany tests for completion of either one or none of the opera-

tions associated with active handles. In the former case, it returns flag = true, returns in index the index of this request in the array, and returns in status the status of that operation; if the request was

allocated by a nonblocking communication call then the request is deal-

located and the handle is set to MPIREQUESTNULL. (The array is indexed from 0 in C, and from 1 in Fortran.) In the latter case (no operation completed), it returns flag = false, returns a value of MPIUNDEFINED in index, and status is undefined. The array may contain null or inactive handles. If the array contains no active handles then the call returns immediately with flag = true, index = MPIUNDEFINED, and an empty status. If the array of requests contains active handles then the execution of MPITestany(count, arrayofrequests, index, status) has the same

effect as the execution of MPITest(&arrayofrequests[i], flag, sta-

tus), for i=0,1,...,count-1, in some arbitrary order, until one call

returns flag = true, or all fail. In the former case, index is set to

the last value of i, and in the latter case, it is set to MPIUNDE-

FINED. MPITestany with an array containing one active entry is equiva-

lent to MPITest. If your application does not need to examine the status field, you can save resources by using the predefined constant MPISTATUSIGNORE as a special value for the status argument. 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, MPIFileseterrhandler, or

MPIWinseterrhandler (depending on the type of MPI handle that gener-

ated the request); 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.

Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed to

MPITESTANY do not set the status.MPIERROR field in the returned sta-

tus. The error code is passed to the back-end error handler and may be

passed back to the caller through the return value of MPITESTANY if

the back-end error handler returns it. The pre-defined MPI error han-

dler MPIERRORSRETURN exhibits this behavior, for example.

SEE ALSO

MPICommseterrhandler MPIFileseterrhandler MPITest MPITestall MPITestsome MPIWait MPIWaitall MPIWaitany MPIWaitsome MPIWinseterrhandler Open MPI 1.2 September 2006 MPITestany(3OpenMPI)




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