GRs and request completion

Dick Treumann (treumann@kgn.ibm.com)
Mon, 05 May 1997 14:37:26 -0400

Steve,

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