oshmpi
oshmpi copied to clipboard
Context: Adapt RMA and AMO with team/context
Description: Once a team is created, the user can create a context with the team via SHMEM_TEAM_CREATE_CTX. The context means a set of local communication resource, similar to an MPI VCI. The context will then be used with any RMA or atomics (AMO) operation. When a team-context is used, the dest PE of each RMA or AMO operation needs to be read as team-relative PE, similar to the win-relative target_rank in MPI RMA.
Suggested implementation
# updates the comm based implementation as posted in #36
# For each team, creates `num_contexts` (>=0) number of wins at team creation time.
# It is safe to call win_create here as team creation is also collective.
SHMEM_TEAM_SPLIT_STRIDED
SHMEM_TEAM_SPLIT_2D
SHMEM_TEAM_CREATE_CTX -> return previously created win (local op)
SHMEM_CTX_GET_TEAM-> return associated team object (local op)
TODO
- [ ] Implement
SHMEM_TEAM_CREATE_CTX. Can skip optimization withSHMEM_CTX_SERIALIZED | SHMEM_CTX_PRIVATE | SHMEM_CTX_NOSTOREfor now. - [ ] Update remote PE in all RMA and AMO operations by using team-relative PE.