@@ -47,8 +47,8 @@ These operations are performed in one atomic transaction.
47
47
The function returns `old`.
48
48
49
49
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
50
- Additionally, on GPU hardware with compute capability 7.0+, values of type UInt1
51
- 6 are supported .
50
+ Additionally, on GPU hardware with compute capability 7.0+, values of type UInt16 are supported.
51
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above .
52
52
"""
53
53
function atomic_cas! (ptr:: Ptr{T} , old:: T , new:: T ) where T
54
54
Core. Intrinsics. atomic_pointerreplace (ptr, old, new, :acquire_release , :monotonic )
@@ -62,6 +62,7 @@ It reads the value `old` located at address `ptr` and stores `val` at the same a
62
62
These operations are performed in one atomic transaction. The function returns `old`.
63
63
64
64
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
65
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
65
66
"""
66
67
function atomic_xchg! (ptr:: Ptr{T} , b:: T ) where T
67
68
Core. Intrinsics. atomic_pointerswap (ptr:: Ptr{T} , b:: T , :monotonic )
@@ -75,6 +76,7 @@ It reads the value `old` located at address `ptr` and uses `val` in the operatio
75
76
These operations are performed in one atomic transaction. The function returns `old`.
76
77
77
78
This function is somewhat experimental.
79
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
78
80
"""
79
81
function atomic_op! (ptr:: Ptr{T} , op, b:: T ) where T
80
82
Core. Intrinsics. atomic_pointermodify (ptr:: Ptr{T} , op, b:: T , :monotonic )
@@ -92,6 +94,7 @@ The function returns `old`.
92
94
93
95
This operation is supported for values of type Int32, Int64, UInt32, UInt64, and Float32.
94
96
Additionally, on GPU hardware with compute capability 6.0+, values of type Float64 are supported.
97
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
95
98
"""
96
99
atomic_add!
97
100
@@ -104,6 +107,7 @@ These operations are performed in one atomic transaction.
104
107
The function returns `old`.
105
108
106
109
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
110
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
107
111
"""
108
112
atomic_sub!
109
113
@@ -116,6 +120,7 @@ These operations are performed in one atomic transaction.
116
120
The function returns `old`.
117
121
118
122
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
123
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
119
124
"""
120
125
atomic_and!
121
126
@@ -128,6 +133,7 @@ These operations are performed in one atomic transaction.
128
133
The function returns `old`.
129
134
130
135
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
136
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
131
137
"""
132
138
atomic_or!
133
139
@@ -140,6 +146,7 @@ These operations are performed in one atomic transaction.
140
146
The function returns `old`.
141
147
142
148
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
149
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
143
150
"""
144
151
atomic_xor!
145
152
@@ -152,6 +159,7 @@ These operations are performed in one atomic transaction.
152
159
The function returns `old`.
153
160
154
161
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
162
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
155
163
"""
156
164
atomic_min!
157
165
@@ -164,6 +172,7 @@ These operations are performed in one atomic transaction.
164
172
The function returns `old`.
165
173
166
174
This operation is supported for values of type Int32, Int64, UInt32 and UInt64.
175
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
167
176
"""
168
177
atomic_max!
169
178
@@ -176,6 +185,7 @@ These three operations are performed in one atomic transaction.
176
185
The function returns `old`.
177
186
178
187
This operation is only supported for values of type Int32.
188
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
179
189
"""
180
190
atomic_inc!
181
191
@@ -188,5 +198,6 @@ These three operations are performed in one atomic transaction.
188
198
The function returns `old`.
189
199
190
200
This operation is only supported for values of type Int32.
201
+ Also: atomic operations for the CPU requires a Julia version of 1.7.0 or above.
191
202
"""
192
203
atomic_dec!
0 commit comments