comm_send_real_dp_array_2d_n Subroutine

public subroutine comm_send_real_dp_array_2d_n(comm, data, count, dest, tag)

Blocking send of a contiguous 2D double-precision array using an explicit count. Unlike comm_send_real_dp_array_2d, this variant does NOT prefix the message with the dimensions — caller and receiver agree on the shape via the protocol. The receiver uses comm_recv_real_dp_array_2d_n (or any of the _array_n overloads) with the same count.

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

Calls

proc~~comm_send_real_dp_array_2d_n~~CallsGraph proc~comm_send_real_dp_array_2d_n comm_send_real_dp_array_2d_n mpi_send mpi_send proc~comm_send_real_dp_array_2d_n->mpi_send

Called by

proc~~comm_send_real_dp_array_2d_n~~CalledByGraph proc~comm_send_real_dp_array_2d_n comm_send_real_dp_array_2d_n interface~send send interface~send->proc~comm_send_real_dp_array_2d_n

Variables

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

Source Code

   subroutine comm_send_real_dp_array_2d_n(comm, data, count, dest, tag)
      !! Blocking send of a contiguous 2D double-precision array using
      !! an explicit count.  Unlike `comm_send_real_dp_array_2d`, this
      !! variant does NOT prefix the message with the dimensions —
      !! caller and receiver agree on the shape via the protocol.  The
      !! receiver uses `comm_recv_real_dp_array_2d_n` (or any of the
      !! `_array_n` overloads) with the same `count`.
      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
      integer(int32) :: ierr

      call MPI_Send(data, count, MPI_DOUBLE_PRECISION, dest, tag, &
                    comm%m_comm, ierr)
   end subroutine comm_send_real_dp_array_2d_n