nbrecv_complex_2d_array_count Subroutine

private subroutine nbrecv_complex_2d_array_count(z, count, dest, tag, handle)

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

Arguments

Type IntentOptional Attributes Name
complex, intent(out), dimension(:,:) :: z
integer, intent(in) :: count
integer, intent(in) :: dest
integer, intent(in) :: tag
integer, intent(out) :: handle

Contents


Source Code

  subroutine nbrecv_complex_2d_array_count(z,count,dest,tag,handle)
    implicit none
    complex, dimension(:,:), intent(out) :: z
    integer, intent(in) :: dest
    integer, intent(in) :: tag
    integer, intent(out) :: handle
    integer, intent(in) :: count
# 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_2d_array_count