https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87835
Bug ID: 87835
Summary: nvptx offloading:
libgomp.oacc-c-c++-common/asyncwait-1.c execution test
intermittently fails at -O2
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: openacc
Severity: normal
Priority: P3
Component: libgomp
Assignee: unassigned at gcc dot gnu.org
Reporter: tschwinge at gcc dot gnu.org
CC: cesar at gcc dot gnu.org, jakub at gcc dot gnu.org,
vries at gcc dot gnu.org
Target Milestone: ---
Target: nvptx-none
After r264397 "[nvptx] Remove use of CUDA unified memory in libgomp", I'm
seeing (intermittently only, and only on some systems):
PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 (test for excess errors)
PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 execution test
PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 (test for excess errors)
[-PASS:-]{+FAIL:+}
libgomp.oacc-c/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 execution test
And/or:
PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 (test for excess errors)
PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 execution test
PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 (test for excess errors)
[-PASS:-]{+FAIL:+}
libgomp.oacc-c++/../libgomp.oacc-c-c++-common/asyncwait-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 execution test
I have not yet analyzed what's causing this, but I have some ideas about
pending patches that might cure it.