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

Misc: develop non-blocking AMO #93

Open
minsii opened this issue Mar 3, 2021 · 0 comments
Open

Misc: develop non-blocking AMO #93

minsii opened this issue Mar 3, 2021 · 0 comments
Labels
Milestone

Comments

@minsii
Copy link
Collaborator

minsii commented Mar 3, 2021

Description: existing atomic operations (AMO) are blocking (i.e., return when it is locally completed). They are implemented by using corresponding MPI accumulate operation + MPI_Win_flush_local . The new nonblocking version can be directly translated to MPI accumulate operation.

SHMEM_ATOMIC_FETCH_NBI
SHMEM_ATOMIC_COMPARE_SWAP_NBI
SHMEM_ATOMIC_SWAP_NBI
SHMEM_ATOMIC_FETCH_INC_NBI
SHMEM_ATOMIC_FETCH_ADD_NBI
SHMEM_ATOMIC_FETCH_AND_NBI
SHMEM_ATOMIC_FETCH_OR_NBI
SHMEM_ATOMIC_FETCH_XOR_NBI

Starting point

  • Section 9.7.2 Nonblocking Atomic Memory Operations in OpenSHMEM v1.5 spec
  • src/internal/amo_impl.h in OSHMPI

TODO

  • Implement functions
  • Add 1 test in tests/
@minsii minsii added this to the FY21-Q3Q4 milestone Mar 3, 2021
@minsii minsii removed the optional label Mar 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant