https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92028
Bug ID: 92028
Summary: OpenACC 'host_data' execution test regressions with
nvptx offloading
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: openacc, openmp
Severity: normal
Priority: P3
Component: libgomp
Assignee: unassigned at gcc dot gnu.org
Reporter: tschwinge at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
Target Milestone: ---
With r274206 "Support map + use_device_{addr,ptr} clauses for the same var on
the same construct", I'm seeing regressions for OpenACC 'host_data' test cases
with nvptx offloading: the execution test of
'libgomp.oacc-c-c++-common/host_data-1.c',
'libgomp.oacc-c-c++-common/host_data-2.c',
'libgomp.oacc-c-c++-common/host_data-4.c',
'libgomp.oacc-c-c++-common/host_data-5.c', and
'libgomp.oacc-fortran/host_data-1.f90', 'libgomp.oacc-fortran/host_data-2.f90',
'libgomp.oacc-fortran/host_data-3.f', 'libgomp.oacc-fortran/host_data-4.f90'
FAIL, for example:
libgomp: cuMemcpyDtoH_v2 error: an illegal memory access was encountered
libgomp: Copying of dev object [0x7048a0600..0x7048a0620) to host object
[0x7fff3a7faa10..0x7fff3a7faa30) failed
Specifically, the 'libgomp/target.c' changes are causing this. With these
reverted, these regressions disappear, but that then (not unexpectedly, of
course) causes the execution test of 'libgomp.c/target-37.c',
'libgomp.c++/target-22.C', and 'libgomp.fortran/use_device_ptr-optional-1.f90'
(after r276445 "Fix omp target issue with Fortran optional arguments") to FAIL.