comm_typed_isend_irecv_long Subroutine

private subroutine comm_typed_isend_irecv_long(send, recv, state, message_flag, send_state, comm)

exchange the communication mes with a non-blocking mpi communication using preposted irecv and isend with a waitall

values for send me must have been copied from the actual state array start receive communications

start the sending communications wait for above communications to complete

Arguments

TypeIntentOptionalAttributesName
type(tem_communication_type), intent(inout) :: send
type(tem_communication_type), intent(inout) :: recv
integer(kind=long_k), intent(inout) :: state(*)
integer, intent(in) :: message_flag
integer(kind=long_k), intent(in), optional :: send_state(*)
integer, intent(in) :: comm

mpi communicator


Calls

proc~~comm_typed_isend_irecv_long~~CallsGraph proc~comm_typed_isend_irecv_long comm_typed_isend_irecv_long mpi_isend mpi_isend proc~comm_typed_isend_irecv_long->mpi_isend mpi_irecv mpi_irecv proc~comm_typed_isend_irecv_long->mpi_irecv mpi_waitall mpi_waitall proc~comm_typed_isend_irecv_long->mpi_waitall

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: status(mpi_status_size,max(recv%nprocs,send%nprocs))
integer, private :: ierr
integer, private :: iproc