Routine to initialise a persistent recv operation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(inout), | dimension(:) | :: | z | ||
integer, | intent(in) | :: | dest | |||
integer, | intent(in) | :: | tag | |||
integer, | intent(out) | :: | handle |
subroutine recv_init_real_array(z,dest,tag,handle)
implicit none
real, dimension(:), intent(inout) :: z
integer, intent(in) :: dest, tag
integer, intent(out) :: handle
# ifdef MPI
integer :: ierror
!$OMP MASTER
call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
call mpi_recv_init(z,size(z),mpireal,dest,tag,mp_comm,handle,ierror)
!$OMP MASTER
call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
# else
UNUSED_DUMMY(z); UNUSED_DUMMY(dest); UNUSED_DUMMY(tag)
handle = 0
#endif
end subroutine recv_init_real_array