Skip to content

Overly restrictive statement about thread levels #987

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

Open
wgropp opened this issue Mar 29, 2025 · 0 comments
Open

Overly restrictive statement about thread levels #987

wgropp opened this issue Mar 29, 2025 · 0 comments
Labels
mpi-6 For inclusion in the MPI 5.1 or 6.0 standard

Comments

@wgropp
Copy link

wgropp commented Mar 29, 2025

Problem

p 488, lines 10-16 says that an MPI implementation that can't return MPI_THREAD_MULTIPLE must return MPI_THREAD_SINGLE. That doesn't allow an implementation to support MPI_THREAD_FUNNELED or MPI_THREAD_SERIALIZED but not MPI_THREAD_MULTIPLE. This was not the intent. The problem is that an implementation is described as either being thread compliant or not, and one that is can return MPI_THREAD_MULTIPLE (or any of the lower levels) but one that is not can only return MPI_THREAD_SINGLE. E.g., an implementation that can't return MPI_THREAD_MULTIPLE is prohibited from returning MPI_THREAD_FUNNELED, even if it can provide everything that is required of MPI_THREAD_FUNNELED. I don't think this is correct.

Proposal

Reword the text to allow an implementation that is not fully thread compliant to return something other than MPI_THREAD_SINGLE.

Changes to the Text

To be discussed.

Impact on Implementations

None.

Impact on Users

Removes a source of confusion in the text.

References and Pull Requests

@wgropp wgropp added the mpi-6 For inclusion in the MPI 5.1 or 6.0 standard label Mar 29, 2025
@github-project-automation github-project-automation bot moved this to To Do in MPI Next Mar 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mpi-6 For inclusion in the MPI 5.1 or 6.0 standard
Projects
Status: To Do
Development

No branches or pull requests

1 participant