Skip to content

Overly restrictive statement about thread levels #987

Open
@wgropp

Description

@wgropp

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

No one assigned

    Labels

    mpi-6For inclusion in the MPI 5.1 or 6.0 standard

    Type

    No type

    Projects

    Status

    To Do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions