Skip to content
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

Clarifications missing whether multiple threads can make init/finalize calls simultaneously #541

Open
wrrobin opened this issue Sep 6, 2024 · 0 comments
Assignees

Comments

@wrrobin
Copy link
Collaborator

wrrobin commented Sep 6, 2024

Problem Statement

With #512 , OpenSHMEM enables support for multiple init and finalize. However, it does not clarify whether these calls can be made from multiple threads simultaneously. In addition to the clarifications added for shmem_init and shmem_finalize, the following in Section 9.2 also needs to be adjusted properly.

SHMEM_THREAD_MULTIPLE
The OpenSHMEM program may be multithreaded and any thread may invoke the OpenSHMEM interfaces.

In the SHMEM_THREAD_FUNNELED, SHMEM_THREAD_SERIALIZED, and
SHMEM_THREAD_MULTIPLE thread levels, the shmem_init_thread and shmem_finalize calls must be
invoked by the same thread.

In the SHMEM_THREAD_MULTIPLE thread level, all OpenSHMEM calls are thread-safe. That is, any two
concurrently running threads may make OpenSHMEM calls.

Proposed Changes

Impact on Implementations

Impact on Users

References and Pull Requests

@wrrobin wrrobin self-assigned this Sep 6, 2024
@wrrobin wrrobin moved this to Setup, Thrds, Mem (9.1-9.3) in OpenSHMEM 1.6 Section Committees Sep 6, 2024
@wrrobin wrrobin changed the title Clarifications missing whether multiple threads can call init/finalize operations simultaneously Clarifications missing whether multiple threads can make init/finalize calls simultaneously Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Setup, Thrds, Mem (9.1-9.3)
Development

No branches or pull requests

1 participant