@@ -23,7 +23,6 @@ def testFetch(self):
23
23
for t in types_ext :
24
24
with self .subTest (type = t ):
25
25
src = shmem .array (mype , dtype = t )
26
- shmem .barrier_all ()
27
26
val = shmem .atomic_fetch (src , nxpe )
28
27
self .assertEqual (val , nxpe )
29
28
shmem .free (src )
@@ -47,7 +46,6 @@ def testSwap(self):
47
46
for t in types_ext :
48
47
with self .subTest (type = t ):
49
48
tgt = shmem .array (- 1 , dtype = t )
50
- shmem .barrier_all ()
51
49
val = shmem .atomic_swap (tgt , nxpe , nxpe )
52
50
shmem .barrier_all ()
53
51
self .assertEqual (tgt , mype )
@@ -62,23 +60,26 @@ def testCompareSwap(self):
62
60
for t in types_std :
63
61
with self .subTest (type = t ):
64
62
tgt = shmem .array (0 , dtype = t )
65
- shmem .barrier_all ()
66
63
#
64
+ shmem .sync_all ()
67
65
val = shmem .atomic_compare_swap (tgt , 1 , nxpe , nxpe )
68
66
shmem .barrier_all ()
69
67
self .assertEqual (tgt , 0 )
70
68
self .assertEqual (val , 0 )
71
69
#
70
+ shmem .sync_all ()
72
71
val = shmem .atomic_compare_swap (tgt , 0 , nxpe , nxpe )
73
72
shmem .barrier_all ()
74
73
self .assertEqual (tgt , mype )
75
74
self .assertEqual (val , 0 )
76
75
#
76
+ shmem .sync_all ()
77
77
val = shmem .atomic_compare_swap (tgt , nxpe , 0 , nxpe )
78
78
shmem .barrier_all ()
79
79
self .assertEqual (tgt , 0 )
80
80
self .assertEqual (val , nxpe )
81
81
#
82
+ shmem .sync_all ()
82
83
val = shmem .atomic_compare_swap (tgt , npes , 0 , nxpe )
83
84
shmem .barrier_all ()
84
85
self .assertEqual (tgt , 0 )
@@ -93,16 +94,15 @@ def testFetchOp(self):
93
94
for t in types_std :
94
95
with self .subTest (type = t ):
95
96
tgt = shmem .array (0 , dtype = t )
96
- shmem .barrier_all ()
97
97
for i in range (3 ):
98
+ shmem .sync_all ()
98
99
op = shmem .AMO_INC
99
100
val = shmem .atomic_fetch_op (tgt , None , op , nxpe )
100
- shmem .barrier_all ()
101
101
self .assertEqual (val , i )
102
102
for i in range (3 ):
103
+ shmem .sync_all ()
103
104
op = shmem .AMO_ADD
104
105
val = shmem .atomic_fetch_op (tgt , 1 , op , nxpe )
105
- shmem .barrier_all ()
106
106
self .assertEqual (val , 3 + i )
107
107
shmem .free (tgt )
108
108
for t in types_ext :
@@ -122,13 +122,12 @@ def testOp(self):
122
122
with self .subTest (type = t ):
123
123
tgt = shmem .array (0 , dtype = t )
124
124
for i in range (3 ):
125
- shmem .barrier_all ()
125
+ shmem .sync_all ()
126
126
op = shmem .AMO_INC
127
127
val = shmem .atomic_fetch (tgt , nxpe )
128
128
shmem .atomic_op (tgt , None , op , nxpe )
129
129
self .assertEqual (val , i )
130
130
for i in range (3 ):
131
- shmem .barrier_all ()
132
131
op = shmem .AMO_ADD
133
132
val = shmem .atomic_fetch (tgt , nxpe )
134
133
shmem .atomic_op (tgt , 1 , op , nxpe )
@@ -151,14 +150,11 @@ def testFetchIncAdd(self):
151
150
for t in types_std :
152
151
with self .subTest (type = t ):
153
152
tgt = shmem .array (0 , dtype = t )
154
- shmem .barrier_all ()
155
153
for i in range (3 ):
156
154
val = shmem .atomic_fetch_inc (tgt , nxpe )
157
- shmem .barrier_all ()
158
155
self .assertEqual (val , i )
159
156
for i in range (3 ):
160
157
val = shmem .atomic_fetch_add (tgt , 1 , nxpe )
161
- shmem .barrier_all ()
162
158
self .assertEqual (val , 3 + i )
163
159
shmem .free (tgt )
164
160
@@ -170,12 +166,12 @@ def testIncAdd(self):
170
166
with self .subTest (type = t ):
171
167
tgt = shmem .array (0 , dtype = t )
172
168
for i in range (3 ):
173
- shmem .barrier_all ()
169
+ shmem .sync_all ()
174
170
val = shmem .atomic_fetch (tgt , nxpe )
175
171
shmem .atomic_inc (tgt , nxpe )
176
172
self .assertEqual (val , i )
177
173
for i in range (3 ):
178
- shmem .barrier_all ()
174
+ shmem .sync_all ()
179
175
val = shmem .atomic_fetch (tgt , nxpe )
180
176
shmem .atomic_add (tgt , 1 , nxpe )
181
177
self .assertEqual (val , 3 + i )
@@ -188,20 +184,16 @@ def testFetchBitwise(self):
188
184
for t in types_bit :
189
185
with self .subTest (type = t ):
190
186
tgt = shmem .array (0 , dtype = t )
191
- shmem .barrier_all ()
192
187
for i in range (5 ):
193
188
val = shmem .atomic_fetch_or (tgt , 1 << i , nxpe )
194
- shmem .barrier_all ()
195
189
self .assertEqual (val , 2 ** i - 1 )
196
190
for i in reversed (range (5 )):
197
191
val = shmem .atomic_fetch_xor (tgt , 1 << i , nxpe )
198
- shmem .barrier_all ()
199
192
self .assertEqual (val , 2 ** (i + 1 )- 1 )
200
193
shmem .atomic_set (tgt , 2 ** 5 - 1 , nxpe )
201
194
shmem .barrier_all ()
202
195
for i in reversed (range (5 )):
203
196
val = shmem .atomic_fetch_and (tgt , 2 ** i - 1 , nxpe )
204
- shmem .barrier_all ()
205
197
self .assertEqual (val , 2 ** (i + 1 )- 1 )
206
198
shmem .free (tgt )
207
199
@@ -218,14 +210,12 @@ def testBitwise(self):
218
210
shmem .atomic_or (tgt , 1 << i , nxpe )
219
211
self .assertEqual (val , 2 ** i - 1 )
220
212
for i in reversed (range (5 )):
221
- shmem .barrier_all ()
222
213
val = shmem .atomic_fetch (tgt , nxpe )
223
214
shmem .atomic_xor (tgt , 1 << i , nxpe )
224
215
self .assertEqual (val , 2 ** (i + 1 )- 1 )
225
216
shmem .barrier_all ()
226
217
shmem .atomic_set (tgt , 2 ** 5 - 1 , nxpe )
227
218
for i in reversed (range (5 )):
228
- shmem .barrier_all ()
229
219
val = shmem .atomic_fetch (tgt , nxpe )
230
220
shmem .atomic_and (tgt , 2 ** i - 1 , nxpe )
231
221
self .assertEqual (val , 2 ** (i + 1 )- 1 )
@@ -254,8 +244,8 @@ def testFetch(self):
254
244
with self .subTest (type = t ):
255
245
val = np .array (0 , dtype = t )
256
246
src = shmem .array (mype , dtype = t )
257
- shmem .barrier_all ()
258
247
#
248
+ shmem .sync_all ()
259
249
shmem .atomic_fetch_nbi (val , src , nxpe )
260
250
shmem .quiet ()
261
251
self .assertEqual (val , nxpe )
@@ -278,14 +268,15 @@ def testSwap(self):
278
268
with self .subTest (type = t ):
279
269
val = np .array (0 , dtype = t )
280
270
tgt = shmem .array (- 1 , dtype = t )
281
- shmem .barrier_all ()
282
271
#
272
+ shmem .sync_all ()
283
273
shmem .atomic_swap_nbi (val , tgt , nxpe , nxpe )
284
274
shmem .quiet ()
285
275
self .assertEqual (val , np .array (- 1 , dtype = t ))
286
276
shmem .sync_all ()
287
277
self .assertEqual (tgt , mype )
288
278
#
279
+ shmem .sync_all ()
289
280
shmem .atomic_swap_nbi (val , tgt , mype , nxpe )
290
281
shmem .quiet ()
291
282
self .assertEqual (val , np .array (nxpe , dtype = t ))
@@ -303,26 +294,29 @@ def testCompareSwap(self):
303
294
with self .subTest (type = t ):
304
295
val = np .array (0 , dtype = t )
305
296
tgt = shmem .array (0 , dtype = t )
306
- shmem .barrier_all ()
307
297
#
298
+ shmem .sync_all ()
308
299
shmem .atomic_compare_swap_nbi (val , tgt , 1 , nxpe , nxpe )
309
300
shmem .quiet ()
310
301
self .assertEqual (val , 0 )
311
302
shmem .sync_all ()
312
303
self .assertEqual (tgt , 0 )
313
304
#
305
+ shmem .sync_all ()
314
306
shmem .atomic_compare_swap_nbi (val , tgt , 0 , nxpe , nxpe )
315
307
shmem .quiet ()
316
308
self .assertEqual (val , 0 )
317
309
shmem .sync_all ()
318
310
self .assertEqual (tgt , mype )
319
311
#
312
+ shmem .sync_all ()
320
313
shmem .atomic_compare_swap_nbi (val , tgt , nxpe , 0 , nxpe )
321
314
shmem .quiet ()
322
315
self .assertEqual (val , nxpe )
323
316
shmem .sync_all ()
324
317
self .assertEqual (tgt , 0 )
325
318
#
319
+ shmem .sync_all ()
326
320
shmem .atomic_compare_swap_nbi (val , tgt , npes , 0 , nxpe )
327
321
shmem .quiet ()
328
322
self .assertEqual (val , 0 )
@@ -339,7 +333,6 @@ def testFetchOp(self):
339
333
with self .subTest (type = t ):
340
334
val = np .array (0 , dtype = t )
341
335
tgt = shmem .array (0 , dtype = t )
342
- shmem .barrier_all ()
343
336
for i in range (3 ):
344
337
op = shmem .AMO_INC
345
338
shmem .atomic_fetch_op_nbi (val , tgt , None , op , nxpe )
@@ -370,7 +363,6 @@ def testFetchIncAdd(self):
370
363
with self .subTest (type = t ):
371
364
val = np .array (0 , dtype = t )
372
365
tgt = shmem .array (0 , dtype = t )
373
- shmem .barrier_all ()
374
366
for i in range (3 ):
375
367
shmem .atomic_fetch_inc_nbi (val , tgt , nxpe )
376
368
shmem .quiet ()
@@ -389,7 +381,6 @@ def testFetchBitwise(self):
389
381
with self .subTest (type = t ):
390
382
val = np .array (0 , dtype = t )
391
383
tgt = shmem .array (0 , dtype = t )
392
- shmem .barrier_all ()
393
384
for i in range (5 ):
394
385
shmem .atomic_fetch_or_nbi (val , tgt , 1 << i , nxpe )
395
386
shmem .quiet ()
@@ -399,7 +390,7 @@ def testFetchBitwise(self):
399
390
shmem .quiet ()
400
391
self .assertEqual (val , 2 ** (i + 1 )- 1 )
401
392
shmem .atomic_set (tgt , 2 ** 5 - 1 , nxpe )
402
- shmem .barrier_all ()
393
+ shmem .quiet ()
403
394
for i in reversed (range (5 )):
404
395
shmem .atomic_fetch_and_nbi (val , tgt , 2 ** i - 1 , nxpe )
405
396
shmem .quiet ()
0 commit comments