waits for completion of any of the given requests
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout), | DIMENSION(:), CONTIGUOUS | :: | requests | ||
integer, | intent(out) | :: | completed |
SUBROUTINE mp_waitany(requests, completed)
!! waits for completion of any of the given requests
INTEGER, DIMENSION(:), CONTIGUOUS, INTENT(inout) :: requests
INTEGER, INTENT(out) :: completed
CHARACTER(LEN=*), PARAMETER :: routineN = 'mp_waitany'
INTEGER :: handle, ierr
#if defined(__parallel)
INTEGER :: count
#endif
ierr = 0
CALL timeset(routineN, handle)
#if defined(__parallel)
count = SIZE(requests)
CALL mpi_waitany(count, requests, completed, MPI_STATUS_IGNORE, ierr)
IF (ierr /= 0) CALL mp_stop(ierr, "mpi_waitany @ "//routineN)
#else
MARK_USED(requests)
completed = 1
#endif
CALL timestop(handle)
END SUBROUTINE mp_waitany