communication_planes_m Module

Communication among planes Non-blocking communication allowing overlap of communication and computation



Contents


Subroutines

public subroutine start_comm_planes(comm, ndim, ndim_halo, u, shift, uhalo, request)

Starts communication among two planes

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: comm

MPI communicator

integer, intent(in) :: ndim

Dimension of data to be sent

integer, intent(in) :: ndim_halo

Dimension of data to be received

real(kind=GP), intent(in), dimension(ndim) :: u

Data to be sent

integer, intent(in) :: shift

Shift to current rank, where data is received from (rank+shift, assumung periodicity)

real(kind=GP), intent(out), dimension(ndim_halo) :: uhalo

Halo values (Available after call to finalize_planes_comm)

integer, intent(out), dimension(2) :: request

Communicator request

public subroutine finalize_comm_planes(request)

Finalises communication

Arguments

Type IntentOptional Attributes Name
integer, intent(in), dimension(2) :: request

Communicator request