Description
Problem
Section 6.12 says:
Upon returning from a completion call in which a nonblocking collective operation
completes, the values of theMPI_SOURCE
andMPI_TAG
fields in the associated status object,
if any, are undefined. The value ofMPI_ERROR
may be defined, if appropriate, according
to the specification in Section 3.2.5. It is valid to mix different request types (i.e., any
combination of collective requests, I/O requests, generalized requests, or point-to-point
requests) in functions that enable multiple completions (e.g.,MPI_WAITALL
). It is erroneous
to callMPI_REQUEST_FREE
orMPI_CANCEL
for a request associated with a nonblocking
collective operation.
Does that mean that that MPI_TEST_CANCELLED
always returns false or that the return value is undefined?
In contrast, the RMA chapter explicitly says in 12.3.5:
Upon returning from a completion call in which an RMA operation completes, all fields
of the status object, if any, and the results of status query functions (e.g.,
MPI_GET_COUNT
) are undefined with the exception ofMPI_ERROR
if appropriate (see
Section 3.2.5).
Proposal
Clarify the whether a call to MPI_TEST_CANCELLED
on a nonblocking collective request is well-defined and what it is supposed to return.
Changes to the Text
TBD
Impact on Implementations
TBD
Impact on Users
Minor (clarity on what to expect from status objects)
References and Pull Requests
#814 sparked this inquiry
Metadata
Metadata
Assignees
Labels
Type
Projects
Status