<< Message Passing Blocking | Table of Contents | Data Types >>
(:begfnct mpi_irecv:)
Begins a non-blocking receive operation. This function returns before the data has actually been received. The contents of buf
must not be used until you are certain the data has arrived. The request
argument is used with MPI_Wait()
or MPI_Test()
to determine when the entire message has been received.
(:endfnct:)
(:begfnct mpi_isend:)
Starts a non-blocking send. The request
parameter is used by MPI_Wait()
or MPI_Test()
to determine when the send operation has completed.
(:endfnct:)
(:begfnct mpi_iprobe:)
int MPI_Iprobe( int source, int tag, MPI_Comm comm, int *flag,
Non-blocking message probe which tests to see if a message with the given data tag
has arrived from the given source
process. This function does not actually receive the message it simply determines if a message has arrived.
srcPid
- the id of the process from which you are waiting for a message.
tag
- the tag associated with the type of message for which you are waiting.
comm
- the communications group being probed.
flag
- address of an
int
variable into which a logical value is stored. If a message with the given properties is waiting, flag
is set to a non-zero value (true), otherwise, it is set to zero (false).
status
- address of a struct into which information related to the message can be stored.
(:endfnct:)
(:begfnct mpi_wait:)
Blocks and waits for an MPI non-blocking send or receive to complete.
request
- the address of the
MPI_Request
variable passed earlier to the non-blocking send or receive function.
status
- the same as the status parameter of
MPI_Irecv()
.
(:endfnct:)
(:begfnct mpi_test:)
A non-blocking routine which tests for the completion of a non-blocking send or receive operation.
request
- the address of the
MPI_Request
variable passed earlier to the non-blocking send or receive function.
flag
- the boolean completion status. If the given operation has completed,
flag
will be non-zero (true). Otherwise, flag
will be zero (false).
status
- the same as the status parameter of
MPI_Irecv()
.
(:endfnct:)
<< Message Passing Blocking | Table of Contents | Data Types >>