Description
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
Metadata
Metadata
Assignees
Type
Projects
Status