Routine for nonblocking recv of z (size=count) to dest. Use tag to label message and return handle for later checking.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(out), | dimension(:) | :: | z | ||
integer, | intent(in) | :: | count | |||
integer, | intent(in) | :: | dest | |||
integer, | intent(in) | :: | tag | |||
integer, | intent(out) | :: | handle |
subroutine nbrecv_complex_array_count(z,count,dest,tag,handle)
implicit none
complex, dimension(:), intent(out) :: z
integer, intent(in) :: count
integer, intent(in) :: dest
integer, intent(in) :: 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_irecv(z,count,mpicmplx,dest,tag,mp_comm,handle,ierror)
!$OMP MASTER
call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
# else
call mp_abort("receive")
UNUSED_DUMMY(dest); UNUSED_DUMMY(tag); UNUSED_DUMMY(count)
handle = 0 ; z = 0
# endif
end subroutine nbrecv_complex_array_count