On 17.05.21 17:49, Tom de Vries wrote:
[ Tobias, can you test this on volta ? ]
Unfortunately, it does not seem to help. On a non-Volta system, it still works (run time 0.3s) but on a Volta system it fails after 1.5s (abort). Looking (with an editor) at nvptx-none/lib/mgomp/libgomp.a, I still see @ %r25 atom.global.exch.b32 %r22,[atomic_lock],1; with no prior membar in GOMP_atomic_start. Likewise with nvptx-none/lib/libgomp.a which has atom.global.exch.b32 %r22,[atomic_lock],1; I thought a barrier would show up there?
The atomic ops in nvptx.md have memmodel arguments, which are currently ignored. Handle these, fixing test-case fails libgomp.c-c++-common/reduction-{5,6}.c on volta.
Is there a reason that PR target/96932 isn't listed in the ChangeLog? Or is it supposed that the barrier does not show up at GOMP_atomic_start (as it doesn't) and it should show up elsewhere and still help with those two testcases? Sorry for not having better news. (Unless I messed up and it is an issue on my side - but it doesn't look like.) Tobias ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf