George,

I agree that it is difficult to come up with a good scenario, outside of 
resilience, in which MPI_Probe would return an error (other than a bad argument 
type of error - which does currently work). I agree with your assessment of the 
value of the return code, and that it should trigger the error handler. I just 
wanted to confirm that there was not something I was missing.

I will commit a patch to fix this (it is just a couple lines in pml/ob1) for 
the trunk. I don't know if we need to push it to the release branches just yet.

Thanks,
Josh

On Mar 21, 2011, at 10:17 PM, George Bosilca wrote:

> Josh,
> 
> If we don't take in account resilience I would not expect MPI_Probe to have 
> that many opportunities to return errors. However, in order to keep the 
> implementation consistent (with the other MPI functions) I would abide to the 
> following.
> 
> MPI_ERROR_IN_STATUS is only for calls taking multiple requests as input, so I 
> don't think this should be applied to the MPI_Probe. I would expect the 
> return to be equal to status.MPI_ERROR (similar to only other function 
> working on a single request, such as MPI_Test).
> 
> It better trigger the error-handler attached to the communicator, as 
> explicitly requested by the MPI standard (section 8.3).
>> A user can associate error handlers to three types of objects: 
>> communicators, windows, and files. The specified error handling routine will 
>> be used for any MPI exception that occurs during a call to MPI for the 
>> respective object.
> 
>  george.
> 
> On Mar 21, 2011, at 16:50 , Joshua Hursey wrote:
> 
>> If MPI_Probe() encounters an error causing it to exit with the 
>> 'status.MPI_ERROR' set, say:
>> ret = MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
>> 
>> Should it return an error? So should it return:
>> - ret = status.MPI_ERROR
>> - ret = MPI_ERROR_IN_STATUS
>> - ret = MPI_SUCCESS
>> Additionally, should it trigger the error handler on the communicator?
>> 
>> In Open MPI, it will always return MPI_SUCCESS (pml_ob1_iprobe.c:74), but it 
>> feels like this is wrong. I looked to the MPI standard for some insight, but 
>> could not find where it addresses the return code of MPI_Probe.
>> 
>> Can anyone shed some light on this topic for me?
>> 
>> Thanks,
>> Josh
>> 
>> 
>> ------------------------------------
>> Joshua Hursey
>> Postdoctoral Research Associate
>> Oak Ridge National Laboratory
>> http://users.nccs.gov/~jjhursey
>> 
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> "To preserve the freedom of the human mind then and freedom of the press, 
> every spirit should be ready to devote itself to martyrdom; for as long as we 
> may think as we will, and speak as we think, the condition of man will 
> proceed in improvement."
>  -- Thomas Jefferson, 1799
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 

------------------------------------
Joshua Hursey
Postdoctoral Research Associate
Oak Ridge National Laboratory
http://users.nccs.gov/~jjhursey


Reply via email to