There are two version of probe (MPI_Probe and MPI_IProbe) but I can't tell you off hand their details. I know when looking at them in the past the basic understanding that I took away was the MPI_Probe is like MPI_Test but it doesn't actually receive or deallocate the message.

From
http://www.mcs.anl.gov/research/projects/mpi/mpi-standard/mpi-report-1.1/node50.htm

/The MPI_PROBE and MPI_IPROBE operations allow incoming messages to be checked for, without actually receiving them. The user can then decide how to receive them, based on the information returned by the probe (basically, the information returned by status). In particular, the user may allocate memory for the receive buffer, according to the length of the probed message./

Shaun Jackman wrote:
If an MPI_Irecv has already been posted, and a single message is sent to the receiver, then will an MPI_Probe return that there is no message waiting to be received? The message has already been received by the MPI_Irecv. It's the MPI_Request object of the MPI_Irecv call that needs to be probed, but MPI_Test has the side effect of also deallocating the MPI_Request object.

Cheers,
Shaun

Justin wrote:
Have you tried MPI_Probe?

Justin

Shaun Jackman wrote:
Is there a function similar to MPI_Test that doesn't deallocate the MPI_Request object? I would like to test if a message has been received (MPI_Irecv), check its tag, and dispatch the MPI_Request to another function based on that tag.

Cheers,
Shaun
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to