https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90596

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Thomas Schwinge <tschwi...@gcc.gnu.org>:

https://gcc.gnu.org/g:f8332e52a498df480f72303de32ad0751ad899fe

commit r13-6590-gf8332e52a498df480f72303de32ad0751ad899fe
Author: Thomas Schwinge <tho...@codesourcery.com>
Date:   Mon Feb 27 15:56:18 2023 +0100

    Use 'GOMP_MAP_VARS_TARGET' for OpenACC compute constructs [PR90596]

    Thereby considerably simplify the device plugins'
'GOMP_OFFLOAD_openacc_exec',
    'GOMP_OFFLOAD_openacc_async_exec' functions: in terms of lines of code, but
in
    particular conceptually: no more device memory allocation, host to device
data
    copying, device memory deallocation -- 'GOMP_MAP_VARS_TARGET' does all that
for
    us.

    This depends on commit 2b2340e236c0bba8aaca358ea25a5accd8249fbd
    "Allow libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral' data",
    where I said that "a use will emerge later", which is this one here.

            PR libgomp/90596
            libgomp/
            * target.c (gomp_map_vars_internal): Allow for
            'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
            * oacc-parallel.c (GOACC_parallel_keyed): Pass
            'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
            * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
            (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
            Adjust, simplify.
            (gomp_offload_free): Remove.
            * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
            (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
            (cuda_free_argmem): Remove.
            * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
            Adjust.
  • [Bug libgomp/90596] 'GOACC_para... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to