https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90596
Bug ID: 90596 Summary: 'GOACC_parallel_keyed' should use 'GOMP_MAP_VARS_TARGET' Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: openacc Severity: enhancement 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: --- 'GOACC_parallel_keyed' currently calls 'gomp_map_vars' with 'GOMP_MAP_VARS_OPENACC' instead of 'GOMP_MAP_VARS_TARGET', and does its own 'devaddrs' management, split between there and the device plugin. When switching to 'GOMP_MAP_VARS_TARGET', it would benefit from 'gomp_coalesce_buf' handling, and thus avoid each one device memory allocation, copy from host to device, device memory deallocation call per kernel launch.