Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks (nonblocking)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| integer | :: | fromRank | ||||
| integer, | intent(out) | :: | req_out |
SUBROUTINE par_IBcast_array1D(arr,fromRank,req_out) ! MODULES USE MODgvec_Globals, ONLY : wp IMPLICIT NONE !-------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES REAL(wp), INTENT(INOUT) :: arr(:) INTEGER :: fromRank MPI_request_TYPE, INTENT(OUT) :: req_out !-------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES # if MPI INTEGER :: ierr INTEGER :: sz !================================================================================================================================ ! BODY sz=SIZE(arr) CALL MPI_IBcast(arr, sz, dType, fromRank, worldComm, req_out, ierr) # else req_out = 0 # endif END SUBROUTINE par_IBcast_array1D