oshmpi icon indicating copy to clipboard operation
oshmpi copied to clipboard

Context: Adapt RMA and AMO with team/context

Open minsii opened this issue 4 years ago • 0 comments

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 with SHMEM_CTX_SERIALIZED | SHMEM_CTX_PRIVATE | SHMEM_CTX_NOSTORE for now.
  • [ ] Update remote PE in all RMA and AMO operations by using team-relative PE.

minsii avatar Feb 26 '21 04:02 minsii