Sandia-OpenSHMEM / SOS

Sandia OpenSHMEM is an implementation of the OpenSHMEM specification over multiple Networking APIs, including Portals 4, the Open Fabric Interface (OFI), and UCX. Please click on the Wiki tab for help with building and using SOS.
Other
61 stars 53 forks source link

src: Bug fix in shmem_internal_copy_self #1132

Closed philipmarshall21 closed 3 months ago

philipmarshall21 commented 3 months ago

This PR makes it such that shmem_internal_copy_self will always wait until any pending put operations are complete before returning.

For example, when using OFI with bounce buffers enabled it is possible that shmem_internal_put_nb will not increment the completion value. If completion is zero, the call to shmem_internal_put_wait will not wait for completion of pending/ongoing put transactions before returning, even though the intent of shmem_internal_copy_self is to be blocking.