MPI_Win_test − Attempts to complete an RMA exposure epoch; a nonblocking version of MPI_Win_wait
#include
<mpi.h>
int MPI_Win_test(MPI_Win win, int *flag)
INCLUDE
’mpif.h’
MPI_WIN_TEST( WIN, FLAG, IERROR)
INTEGER WIN, IERROR |
#include
<mpi.h>
bool MPI::Win::Test() const
win |
Window object (handle) |
IERROR |
Fortran only: Error status (integer). |
||
flag |
The returning state of the test for epoch closure. |
MPI_Win_test is a one-sided MPI communication synchronization call, a nonblocking version of MPI_Win_wait. It returns ag = true if MPI_Win_wait would return, ag = false otherwise. The effect of return of MPI_Win_test with flag = true is the same as the effect of a return of MPI_Win_wait. If ag = false is returned, then the call has no visible effect.
Invoke MPI_Win_test only where MPI_Win_wait can be invoked. Once the call has returned ag = true, it must not be invoked anew, until the window is posted anew.
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, 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 MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN 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.