-
Notifications
You must be signed in to change notification settings - Fork 897
mpi_f08: MPI_Wait modifies MPI_ERROR field of status #13205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Under the hood, we use an uninitialized Per @devreal comment
My understanding is the spirit of the standard is the To me, that looks like a bozzo case (please correct me if I'm wrong) not worth fixing (since the intent was not to update/set |
I would tend to agree: the intent of the MPI standard to not modify MPI_ERROR was originally for performance optimization reasons. But "fixing" that here would actually invoke a performance cost (i.e., there's a few ways to solve this, but they all involve more work/CPU cycles). @gcorbin Is there a problem you're running into in an application code that is causing an issue from this behavior? |
I noticed this in test code, that does quite extensive validation, not a 'real' application. Going by the letter of the standard only, I assumed this was a bug. But since it is intentional, let's close this issue. I anything, it is something to be cleared up in the MPI standard. |
FWIW: it's not intentional, but it's not unintentional, either. 😄 I.e., we'd be open to fixing it, but it would probably take a whole bunch of effort, and the end result may not be worth it (i.e., a small corner case that has not seemed to matter for years). Thanks for reporting, @gcorbin! We're always willing to have the conversation. |
Background information
What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)
v5.0.5
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
From Easybuild
Please describe the system on which you are running
Observed on multiple systems, e.g.
uname -r
: 5.14.0-503.26.1.el9_5.x86_64Details of the problem
MPI_Wait
called viause mpi_f08
modifiesstatus%MPI_ERROR
.In this example,
status_received%MPI_ERROR
is initialized toMPI_SUCCESS
, and it should not be modified byMPI_Wait
.But after the
MPI_Wait
, it is some random value:However, the program reports
(or some other random value)
I am aware of the related issue #12049, but this is different: The error field is initialized and should not be modified.
The text was updated successfully, but these errors were encountered: