Open dalcinl opened 1 year ago
I think this should be a chapter committee change and made it into 4.1 because these functions are defined to be equivalent to load/store operations and therefore obviously satisfy the requirement.
If this were to go into 4.1 at this point, it would need to have a PR today and pass a no-no vote at the next meeting. This is more likely a 4.2 change.
you have the PR today
if we don't get this into 4.1, i will fire up the time machine and make it a 4.1 erratum, because it's absurd not to do this.
Being a 4.1 erratum is just fine, but we can move forward for 4.1 since it has a PR.
Problem
The new
MPI_Status_{get,set}_{source,tag,error
routines added to MPI 4.1 are are really trivial and intended as a replacement for direct attribute access for the convenience of those using MPI from foreign languages. As Status attribute access, either in C or in Fortran, is something that can be done to initialise a status object beforeMPI_Init[_thread]
and afterMPI_Finalize
, it would be reasonable to allowMPI_Status_{get,set}_{source,tag,error}
to be called outside the init/finalize bracket.Proposal
Explicitly allow
MPI_Status_{get,set}_{source,tag,error}
to be called beforeMPI_Init[_thread]
and afterMPI_Finalize
.Changes to the Text
Impact on Implementations
None. These routines are simple attribute getters/setters and do not depend on other internal MPI implementation machineries with the exception of error handling for argument. Note that handling of MPI errors on bad argument values (e.g. NULL pointers) outside init/finalize is something that MPI-40 implementations already have to support.
Impact on Users
Authors or MPI bindings for other programming languages will be able to initialize Status objects at any point, outside of the init/finalize bracket.
References and Pull Requests
mpi-forum/mpi-issues#645