Skip to content

Commit cee7f53

Browse files
committed
Reframe the atomicity guarantees for p-w-s
Changing the text to confirm the atomicity guarantees of the put with signal operation. The signal update is atomic only with respect to itself, and other put-with-signal of the same operator, and any point-to-point synchronization routines
1 parent 3d300e9 commit cee7f53

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

content/shmem_put_signal.tex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
\apisummary{
33
The put-with-signal routines provide a method for copying data from a
44
contiguous local data object to a data object on a specified \ac{PE}
5-
and subsequently update a remote flag to signal completion.
5+
and subsequently updating a remote flag to signal completion.
66
}
77

88
\begin{apidefinition}
@@ -34,24 +34,24 @@
3434
\apiargument{IN}{ctx}{A context handle specifying the context on which to
3535
perform the operation. When this argument is not provided, the operation is
3636
performed on the default context.}
37-
\apiargument{OUT}{dest}{Data object to be updated on the remote \ac{PE}. This
38-
data object must be remotely accessible.}
37+
\apiargument{OUT}{dest}{Data object to be updated on the remote \ac{PE}.
38+
This data object must be remotely accessible.}
3939
\apiargument{IN}{source}{Data object containing the data to be copied.}
4040
\apiargument{IN}{nelems}{Number of elements in the \dest{} and \source{}
4141
arrays. \VAR{nelems} must be of type \VAR{size\_t} for \Cstd.}
4242
\apiargument{OUT}{sig\_addr}{Data object to be updated on the remote
4343
\ac{PE} as the signal. This signal data object must be remotely accessible.}
44-
\apiargument{IN}{signal}{Unsigned 64-bit value that is used to update the
44+
\apiargument{IN}{signal}{Unsigned 64-bit value that is used for updating the
4545
remote \VAR{sig\_addr} signal data object.}
4646
\apiargument{IN}{sig\_op}{Signal operator that represents the type of update
47-
to be performed to the remote \VAR{sig\_addr} signal data object.}
47+
to be performed on the remote \VAR{sig\_addr} signal data object.}
4848
\apiargument{IN}{pe}{\ac{PE} number of the remote \ac{PE}.}
4949
\end{apiarguments}
5050

5151
\apidescription{
5252
The put-with-signal routines provide a method for copying data from a
5353
contiguous local data object to a data object on a specified \ac{PE}
54-
and subsequently update a remote flag to signal completion. The routines
54+
and subsequently updating a remote flag to signal completion. The routines
5555
return after the data has been copied out of the \source{} array on the
5656
local \ac{PE}.
5757

@@ -61,11 +61,11 @@
6161
\VAR{signal} flag on the remote \ac{PE} indicates the delivery of its
6262
corresponding \dest{} data words into the data object on the remote \ac{PE}.
6363

64-
The signal update by the put-with-signal routine is compatible with all
65-
point-to-point synchronization interfaces. The delivery of \VAR{signal} flag
66-
based on the remote \ac{PE} must not cause partial updates. Only concurrent
67-
accesses on \VAR{sig\_addr} by different put-with-signal operations using
68-
the same signal update operator is guaranteed to be exclusive.
64+
An update to the \VAR{sig\_addr} signal data object through a put-with-signal
65+
routine completes as if performed atomically with respect to any other
66+
put-with-signal routine that updates the \VAR{sig\_addr} signal data object
67+
using the same \VAR{sig\_op} signal update operator and any point-to-point
68+
synchronization routine that accesses the \VAR{sig\_addr} signal data object.
6969
}
7070

7171
\apireturnvalues{
@@ -78,7 +78,7 @@
7878
for example, one could be a global/static \Cstd variable and the other could
7979
be allocated on the symmetric heap.
8080

81-
The \VAR{sig\_addr} and \dest{} may not be overlapping in memory.
81+
\VAR{sig\_addr} and \dest{} may not be overlapping in memory.
8282

8383
The completion of signal update using the \VAR{signal} flag on the remote
8484
\ac{PE} indicates only the delivery of its corresponding \dest{} data words

0 commit comments

Comments
 (0)