Blocking probe for incoming messages. Returns once a message
matching (source, tag) is queued at the receiver — caller
reads status%MPI_SOURCE and status%MPI_TAG to decide who’s
talking and what kind of message it is, then issues the
matching recv. Use MPI_ANY_SOURCE / MPI_ANY_TAG to
dispatch on whichever rank speaks first.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer(kind=int32),
private
::
ierr
Source Code
subroutine comm_probe(comm,source,tag,status)!! Blocking probe for incoming messages. Returns once a message!! matching `(source, tag)` is queued at the receiver — caller!! reads `status%MPI_SOURCE` and `status%MPI_TAG` to decide who's!! talking and what kind of message it is, then issues the!! matching `recv`. Use `MPI_ANY_SOURCE` / `MPI_ANY_TAG` to!! dispatch on whichever rank speaks first.type(comm_t),intent(in)::comminteger(int32),intent(in)::sourceinteger(int32),intent(in)::tagtype(MPI_Status),intent(out)::statusinteger(int32)::ierrcall MPI_Probe(source,tag,comm%m_comm,status,ierr)end subroutine comm_probe