comm_isend_real_dp_array_2d_n Subroutine

public subroutine comm_isend_real_dp_array_2d_n(comm, data, count, dest, tag, request)

Non-blocking send of a contiguous 2D double-precision array with explicit count — no dim-prefix protocol. Pairs with comm_recv_real_dp_array_2d_n on the receive side. The caller must keep data valid until wait/waitall on the returned request completes.

Arguments

Type IntentOptional Attributes Name
type(comm_t), intent(in) :: comm
real(kind=dp), intent(in) :: data(:,:)
integer(kind=int32), intent(in) :: count
integer(kind=int32), intent(in) :: dest
integer(kind=int32), intent(in) :: tag
type(request_t), intent(out) :: request

Calls

proc~~comm_isend_real_dp_array_2d_n~~CallsGraph proc~comm_isend_real_dp_array_2d_n comm_isend_real_dp_array_2d_n mpi_isend mpi_isend proc~comm_isend_real_dp_array_2d_n->mpi_isend

Called by

proc~~comm_isend_real_dp_array_2d_n~~CalledByGraph proc~comm_isend_real_dp_array_2d_n comm_isend_real_dp_array_2d_n interface~isend isend interface~isend->proc~comm_isend_real_dp_array_2d_n

Variables

Type Visibility Attributes Name Initial
integer(kind=int32), private :: ierr

Source Code

   subroutine comm_isend_real_dp_array_2d_n(comm, data, count, dest, tag, request)
      !! Non-blocking send of a contiguous 2D double-precision array
      !! with explicit count — no dim-prefix protocol.  Pairs with
      !! `comm_recv_real_dp_array_2d_n` on the receive side.  The
      !! caller must keep `data` valid until `wait`/`waitall` on the
      !! returned request completes.
      type(comm_t), intent(in)  :: comm
      real(dp), intent(in)  :: data(:, :)
      integer(int32), intent(in)  :: count
      integer(int32), intent(in)  :: dest
      integer(int32), intent(in)  :: tag
      type(request_t), intent(out) :: request
      integer(int32) :: ierr

      call MPI_Isend(data, count, MPI_DOUBLE_PRECISION, dest, tag, &
                     comm%m_comm, request%m_request, ierr)
      request%is_valid = .true.
   end subroutine comm_isend_real_dp_array_2d_n