George and I talked about this on the phone at length.  More below.


On Feb 19, 2009, at 1:18 PM, Jeff Squyres wrote:

I don't see how you reach this conclusion. Based on my reading of the standard, MPI_ERRHANDLER_NULL is a valid error handler defined as "no" errorhandler. Kind of similar with MPI_REQUEST_NULL ...

It is not valid; MPI specifically defines both of these as invalid handles.
[snip]

I finally got George to agree with me on this issue.  :-)

Moreover, I don't agree with some of the other changes, more specifically with the one related to the MPI_Request_get_status. Here is a paragraph from the MPI 2.1 standard about MPI_Waitall page 59 line 24: "The list may contain null or inactive handles. The call sets to empty the status of each such entry." This basically tells me that the status of the MPI_REQUEST_NULL should be the empty status (defined in the MPI standard) and not any kind of errors (i.e MPI_ERR_ARG).


George and I split the vote on this one.  :-)

There is explicit language in MPI-2.1 that allows calling the MPI_TEST* and MPI_WAIT* variants with MPI_REQUEST_NULL or an inactive request. There is *no* explicit language in MPI-2.1 allowing the same behavior for MPI_REQUEST_GET_STATUS.

So while George and I agree that MPI_REQUEST_GET_STATUS should be symmetric with MPI_TEST* and MPI_WAIT*, it currently isn't. I therefore filed the following proposal ticket to make this behavior legal for MPI-2.2:

    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/137

--
Jeff Squyres
Cisco Systems

Reply via email to