nonblocking_receive_complex_array Subroutine

private subroutine nonblocking_receive_complex_array(z, src, tag, request)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension (:) :: z
integer, intent(in) :: src
integer, intent(in), optional :: tag
integer, intent(out) :: request

Contents


Source Code

  subroutine nonblocking_receive_complex_array (z, src, tag, request)
    implicit none
    complex, dimension (:), intent (inout) :: z
    integer, intent (in) :: src
    integer, intent (in), optional :: tag
    integer, intent (out) :: request
# ifdef MPI
    integer :: ierror
    integer :: tagp
    tagp = 0
    if (present(tag)) tagp = tag
!$OMP MASTER
    call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
    call mpi_irecv (z, size(z), mpicmplx, src, tagp, mp_comm, &
         request, ierror)
!$OMP MASTER
    call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
# else
    call mp_abort ("receive")
    UNUSED_DUMMY(z); UNUSED_DUMMY(src); UNUSED_DUMMY(tag)
    request = 0
# endif
  end subroutine nonblocking_receive_complex_array