Skip to content

Memory model umbrella ticket #229

@anshumang

Description

@anshumang

Summary : ordering (inside a PE) + reads from (between two PEs) = happens before (across all PEs)

Following are the items that have been discussed in RMA WG on 6/21, 7/5 and 7/19 and are still open (except one marked by ^). They are grouped below 1) under ordering, 2) reads from and 3) happens before.

  1. ordering
  • Fetch AMOs are ordered (related: fence is not required to order fetch AMOs)
  • Blocking get/g/iget are not ordered (related: fence orders blocking get/g/iget) (Blocking gets are unordered #233)
  • fence also orders non-blocking get/g/iget (all fence behavior changes Behavior of fence #232 )
  • Data-movement collective APIs using same psync are ordered in the order of their issue
  1. reads from
  • All communication APIs progress without requiring quiet or barrier
  • Using shmem_put/iput/p to trigger shmem_wait_until is platform/implementation defined (related: shmem_atomic_set should be used to trigger shmem_wait_until)
  • New APIs to trigger shmem_wait_until that need to be single-copy atomic but not read-modify-write atomic
  • Trigger shmem_wait_until using the same type^
  • wait_until on remote symmetric memory
  • wait_until on local non-symmetric memory (related : when non-blocking fetch AMOs trigger wait_until, does it require read-modify-write-fetch to be atomic?)
  1. happens before
    None yet

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions