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 | Intent | Optional | 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 | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | private | :: | ierr |
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