Non-Blocking Communication Operations

MPI_Test tests whether or not the non-blocking send or receive operation identified by its request has finished.
True It returns flag = true (non-zero value in C) if it is completed.
  • The request object pointed to by request is deallocated and request is set to MPI_REQUEST_NULL.
  • Also the status object is set to contain information about the operation.
False It returns flag = false (a zero value in C) if it is not completed.
  • The request is not modified and the value of the status object is undefined.
  • The MPI_Wait function blocks until the non-blocking operation identified by request completes.
A non-blocking communication operation can be matched with a corresponding blocking operation. For example, a process can send a message using a non-blocking send operation and this message can be received by the other process using a blocking receive operation.