|
2 | 2 | \apisummary{ |
3 | 3 | The put-with-signal routines provide a method for copying data from a |
4 | 4 | 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. |
6 | 6 | } |
7 | 7 |
|
8 | 8 | \begin{apidefinition} |
|
34 | 34 | \apiargument{IN}{ctx}{A context handle specifying the context on which to |
35 | 35 | perform the operation. When this argument is not provided, the operation is |
36 | 36 | 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.} |
39 | 39 | \apiargument{IN}{source}{Data object containing the data to be copied.} |
40 | 40 | \apiargument{IN}{nelems}{Number of elements in the \dest{} and \source{} |
41 | 41 | arrays. \VAR{nelems} must be of type \VAR{size\_t} for \Cstd.} |
42 | 42 | \apiargument{OUT}{sig\_addr}{Data object to be updated on the remote |
43 | 43 | \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 |
45 | 45 | remote \VAR{sig\_addr} signal data object.} |
46 | 46 | \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.} |
48 | 48 | \apiargument{IN}{pe}{\ac{PE} number of the remote \ac{PE}.} |
49 | 49 | \end{apiarguments} |
50 | 50 |
|
51 | 51 | \apidescription{ |
52 | 52 | The put-with-signal routines provide a method for copying data from a |
53 | 53 | 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 |
55 | 55 | return after the data has been copied out of the \source{} array on the |
56 | 56 | local \ac{PE}. |
57 | 57 |
|
|
61 | 61 | \VAR{signal} flag on the remote \ac{PE} indicates the delivery of its |
62 | 62 | corresponding \dest{} data words into the data object on the remote \ac{PE}. |
63 | 63 |
|
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. |
69 | 69 | } |
70 | 70 |
|
71 | 71 | \apireturnvalues{ |
|
78 | 78 | for example, one could be a global/static \Cstd variable and the other could |
79 | 79 | be allocated on the symmetric heap. |
80 | 80 |
|
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. |
82 | 82 |
|
83 | 83 | The completion of signal update using the \VAR{signal} flag on the remote |
84 | 84 | \ac{PE} indicates only the delivery of its corresponding \dest{} data words |
|
0 commit comments