I am not sure what should be done about it at this point but I observe
that the discussion of Generalized requests involves muddy use of the
word "complete". At the last meeting we tried to clean up the subject a
bit by talking about "complete" refering to different things in
different contexts. We made the point that a "request" is complete when
an MPI_Wait or MPI_Test succeeds and nullifies the handle. This means
the MPI_GREQUEST_COMPLETE is at least mis-named. What it is doing, is
marking the request "completable". That is, adding something to the
request which will cause MPI_Wait or MPI_Test to succeed and "complete"
the request. The discussions of MPI_Get_status and MPI_Request_cancel
also relate to whether the request is "completable", not whether it is
"complete". When a request is "complete" its handle has been changed to
MPI_REQUEST_NULL and cannot be a meaningful operand of any MPI
operation.
Also ---- there is discussion of allowing MPI_Request_free on a GR which
indicates that if I create a GR "my_gr" then call
MPI_Request_free(&my_gr) something will occur when I later call
MPI_Grequest_complete. What is it that I call MPI_Grequest_complete
with? After the MPI_Request_free my_gr==MPI_REQUEST_NULL. I think that
the fate of a GR which has been the victim of MPI_Request_free must be
considered undefined.
Dick
-- Dick Treumann IBM RS/6000 Division (Internet) treumann@pok.ibm.com Poughkeepsie, NY (VNET) TREUMANN at KGNVMC Tel: (914) 433-7846 (internal) treumann@windsurf.pok.ibm.com Fax: (914) 433-8363