Josh,

Your patch (r24551) looks fine. I think you should make a CMR for the 1.4 and 
1.5.

  Thanks,
    george.


On Mar 22, 2011, at 09:04 , Joshua Hursey wrote:

> 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
> 
> 
> _______________________________________________
> 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


Reply via email to