openshmem-org / specification

OpenSHMEM Application Programming Interface
http://www.openshmem.org
50 stars 38 forks source link

Update full/partial completion to signal_wait_until #358

Closed naveen-rn closed 4 years ago

naveen-rn commented 4 years ago

We were addressing the partial update completions in the apinotes for the shmem_wait_until_signal op. To be consistent with other sync operations - moving to the description section.

Addresses issue #357

naveen-rn commented 4 years ago

@nspark and @BryantLam - this change is in sync with other sync routines description

naveen-rn commented 4 years ago

If I get approval from @BryantLam - we can merge this one.

jdinan commented 4 years ago

@naveen-rn I am reverting these changes from openshmem-org:master. Please re-open a PR to incorporate them into the relevant section committee branch. This is needed so that we can they can be tracked and processed according to our procedures. It will be a revert commit, you can cherry-pick the commits again from master.

jdinan commented 4 years ago

A comment on the technical bits of this change -- maybe I am missing something since I'm only looking at part of the test, but IIUC signaling operations should have atomic semantics, otherwise signal add doesn't work. Please consider defining these operations as atomic with respect to signal updates and wait/test according to the atomicity semantics in front matter.

naveen-rn commented 4 years ago

@jdinan My mistake - I didn't notice the merge branch. WIll fix.

Regarding the technical bit - we have the following statement in the put-with-signal intro:

All signaling operations on the signal data object completes as if performed
atomically with respect to the following:
\begin{itemize}
    \item other blocking or nonblocking variant of the put-with-signal routine
    that updates the signal data object using the same signal update operator;
    \item signal-fetch routine that fetches the signal data object; and
    \item any point-to-point synchronization routine that accesses the signal
    data object.
\end{itemize}

Is it sufficient?

jdinan commented 4 years ago

Thanks - I think it's fine. It matches what we also have in the wait/test APIs. Please ignore my earlier comment.

naveen-rn commented 4 years ago

@jdinan are these changes reverted from openshmem-org:master?

jdinan commented 4 years ago

Yes, reverted by #367