| 2023-05-04 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-no-directive-unroll-full-1.c: |
| Use -Wall and add -Wno-unknown-pragmas to disable warnings about empty pragmas. |
| Use -O2. |
| * testsuite/libgomp.c++/loop-transforms/matrix-no-directive-unroll-full-1.C: |
| Copy of testsuite/libgomp.c-c++-common/matrix-no-directive-unroll-full-1.c, |
| but using -O0 which works only for C++. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-no-directive-1.c: Use -Wall |
| and use -Wno-unknown-pragmas to disable warnings about empty pragmas. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-distribute-parallel-for-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-for-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-for-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-masked-taskloop-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-masked-taskloop-simd-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-target-parallel-for-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-target-teams-distribute-parallel-for-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-taskloop-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-teams-distribute-parallel-for-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-simd-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/unroll-non-rect-1.c: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/unroll-1.c: |
| Likewise and fix broken function calls found by -Wall. |
| |
| 2023-04-25 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/loop-transforms/tile-2.f90: Add reduction clause. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-1.f90: Initialize var. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-simd-1.f90: Add reduction |
| and initialization. |
| |
| 2023-04-20 Andrew Stubbs <ams@codesourcery.com> |
| |
| * basic-allocator.c (basic_alloc_free): Use BASIC_ALLOC_YIELD. |
| (basic_alloc_realloc): Use BASIC_ALLOC_YIELD. |
| |
| 2023-04-03 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (gomp_map_vars_internal) |
| <non-contiguous array support>: Handle 'always_pinned_mode'. |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_page_locked_host_free): Add |
| 'struct goacc_asyncqueue *' formal parameter. |
| (GOMP_OFFLOAD_page_locked_host_register) |
| (GOMP_OFFLOAD_page_locked_host_unregister) |
| (GOMP_OFFLOAD_page_locked_host_p): Add. |
| * libgomp.h (always_pinned_mode) |
| (gomp_page_locked_host_register_dev) |
| (gomp_page_locked_host_unregister_dev): Add. |
| (struct splay_tree_key_s): Add 'page_locked_host_p'. |
| (struct gomp_device_descr): Add |
| 'GOMP_OFFLOAD_page_locked_host_register', |
| 'GOMP_OFFLOAD_page_locked_host_unregister', |
| 'GOMP_OFFLOAD_page_locked_host_p'. |
| * libgomp.texi (-foffload-memory=pinned): Document. |
| * plugin/cuda-lib.def (cuMemHostGetFlags, cuMemHostRegister_v2) |
| (cuMemHostRegister, cuMemHostUnregister): Add. |
| * plugin/plugin-nvptx.c (struct ptx_device): Add |
| 'read_only_host_register_supported'. |
| (nvptx_open_device): Initialize it. |
| (free_host_blocks, free_host_blocks_lock) |
| (nvptx_run_deferred_page_locked_host_free) |
| (nvptx_page_locked_host_free_callback, nvptx_page_locked_host_p) |
| (GOMP_OFFLOAD_page_locked_host_register) |
| (nvptx_page_locked_host_unregister_callback) |
| (GOMP_OFFLOAD_page_locked_host_unregister) |
| (GOMP_OFFLOAD_page_locked_host_p) |
| (nvptx_run_deferred_page_locked_host_unregister) |
| (nvptx_move_page_locked_host_unregister_blocks_aq1_aq2_callback): |
| Add. |
| (GOMP_OFFLOAD_fini_device, GOMP_OFFLOAD_page_locked_host_alloc) |
| (GOMP_OFFLOAD_run): Call |
| 'nvptx_run_deferred_page_locked_host_free'. |
| (struct goacc_asyncqueue): Add |
| 'page_locked_host_unregister_blocks_lock', |
| 'page_locked_host_unregister_blocks'. |
| (nvptx_goacc_asyncqueue_construct) |
| (nvptx_goacc_asyncqueue_destruct): Handle those. |
| (GOMP_OFFLOAD_page_locked_host_free): Handle |
| 'struct goacc_asyncqueue *' formal parameter. |
| (GOMP_OFFLOAD_openacc_async_test) |
| (nvptx_goacc_asyncqueue_synchronize): Call |
| 'nvptx_run_deferred_page_locked_host_unregister'. |
| (GOMP_OFFLOAD_openacc_async_serialize): Call |
| 'nvptx_move_page_locked_host_unregister_blocks_aq1_aq2_callback'. |
| * config/linux/allocator.c (linux_memspace_alloc) |
| (linux_memspace_calloc, linux_memspace_free) |
| (linux_memspace_realloc): Remove 'always_pinned_mode' handling. |
| (GOMP_enable_pinned_mode): Move... |
| * target.c: ... here. |
| (always_pinned_mode, verify_always_pinned_mode) |
| (gomp_verify_always_pinned_mode, gomp_page_locked_host_alloc_dev) |
| (gomp_page_locked_host_free_dev) |
| (gomp_page_locked_host_aligned_alloc_dev) |
| (gomp_page_locked_host_aligned_free_dev) |
| (gomp_page_locked_host_register_dev) |
| (gomp_page_locked_host_unregister_dev): Add. |
| (gomp_copy_host2dev, gomp_map_vars_internal) |
| (gomp_remove_var_internal, gomp_unmap_vars_internal) |
| (get_gomp_offload_icvs, gomp_load_image_to_device) |
| (gomp_target_rev, omp_target_memcpy_copy) |
| (omp_target_memcpy_rect_worker): Handle 'always_pinned_mode'. |
| (gomp_copy_host2dev, gomp_copy_dev2host): Handle |
| 'verify_always_pinned_mode'. |
| (GOMP_target_ext): Add 'assert'. |
| (gomp_page_locked_host_alloc): Use |
| 'gomp_page_locked_host_alloc_dev'. |
| (gomp_page_locked_host_free): Use |
| 'gomp_page_locked_host_free_dev'. |
| (omp_target_associate_ptr): Adjust. |
| (gomp_load_plugin_for_device): Handle 'page_locked_host_register', |
| 'page_locked_host_unregister', 'page_locked_host_p'. |
| * oacc-mem.c (memcpy_tofrom_device): Handle 'always_pinned_mode'. |
| * libgomp_g.h (GOMP_enable_pinned_mode): Adjust. |
| * testsuite/libgomp.c/alloc-pinned-7.c: Remove. |
| |
| PR other/76739 |
| * target.c (gomp_map_vars_internal): Pass pre-allocated 'ptrblock' |
| to 'goacc_noncontig_array_create_ptrblock'. |
| * oacc-parallel.c (goacc_noncontig_array_create_ptrblock): Adjust. |
| * oacc-int.h (goacc_noncontig_array_create_ptrblock): Adjust. |
| |
| * libgomp.texi (AMD Radeon, nvptx): Document OpenMP 'pinned' |
| memory. |
| |
| 2023-03-27 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: New |
| test. |
| * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C: New |
| test. |
| 2023-03-27 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.c++/loop-transforms/tile-1.C: Deleted, replaced by |
| matrix-* tests. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-1.h: |
| New header file for new tests. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-constant-iter.h: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-helper.h: |
| Likewise. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-no-directive-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-no-directive-unroll-full-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-distribute-parallel-for-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-for-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-for-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-masked-taskloop-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-masked-taskloop-simd-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-target-parallel-for-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-target-teams-distribute-parallel-for-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-taskloop-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-teams-distribute-parallel-for-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-simd-1.c: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/matrix-transform-variants-1.h: |
| New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/unroll-non-rect-1.c: |
| New test. |
| |
| 2023-03-27 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/loop-transforms/inner-1.f90: New test. |
| |
| 2023-03-27 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.c++/loop-transforms/tile-1.C: New test. |
| * testsuite/libgomp.c++/loop-transforms/tile-2.C: New test. |
| * testsuite/libgomp.c++/loop-transforms/tile-3.C: New test. |
| |
| 2023-03-27 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/loop-transforms/tile-1.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/tile-2.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/tile-unroll-1.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/tile-unroll-2.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/tile-unroll-3.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/tile-unroll-4.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-tile-1.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-tile-2.f90: New test. |
| |
| 2023-03-27 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.c++/loop-transforms/unroll-1.C: New test. |
| * testsuite/libgomp.c++/loop-transforms/unroll-2.C: New test. |
| * testsuite/libgomp.c-c++-common/loop-transforms/unroll-1.c: New test. |
| |
| 2023-03-27 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/loop-transforms/unroll-1.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-2.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-3.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-4.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-5.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-6.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-7.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-7a.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-7b.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-7c.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-8.f90: New test. |
| * testsuite/libgomp.fortran/loop-transforms/unroll-simd-1.f90: New test. |
| |
| 2023-03-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.c/alloc-ompx_host_mem_alloc-1.c: New. |
| |
| * config/gcn/allocator.c (gcn_memspace_free): Explicitly handle |
| 'memspace == ompx_host_mem_space'. |
| |
| Backported from master: |
| 2023-03-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR fortran/104949 |
| * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add |
| caveat/safeguard. |
| |
| * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy', |
| 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'. |
| * libgomp.h (gomp_target_rev): Adjust. |
| * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust. |
| * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust. |
| * plugin/plugin-gcn.c (process_reverse_offload): Adjust. |
| * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy) |
| (rev_off_host_to_dev_cpy): Remove. |
| (GOMP_OFFLOAD_run): Adjust. |
| |
| * target.c (gomp_unmap_vars_internal): Queue splay-tree keys for |
| removal after main loop. |
| |
| PR other/76739 |
| * oacc-parallel.c (GOACC_parallel_keyed): Given OpenACC 'async', |
| defer 'free' of non-contiguous array support data structures. |
| * target.c (gomp_map_vars_internal): Likewise. |
| |
| 2023-03-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/map-alloc-comp-8.f90: New test. |
| |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backported from master: |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/90596 |
| * 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. |
| |
| Backported from master: |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow |
| libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral' |
| data. |
| |
| Backported from master: |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for |
| 'GOMP_MAP_IF_PRESENT'. |
| * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec) |
| (GOMP_OFFLOAD_openacc_async_exec): Adjust. |
| * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec) |
| (GOMP_OFFLOAD_openacc_async_exec): Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async' |
| testing. |
| * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise. |
| |
| Backported from master: |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip |
| shortcut. |
| |
| Backported from master: |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify |
| another aspect of OpenACC 'async' semantics. |
| |
| Backported from master: |
| 2023-03-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end' |
| position. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: |
| Verify 'acc_ev_alloc', 'acc_ev_free'. |
| |
| PR other/76739 |
| * libgomp.h (goacc_map_vars): Add 'struct goacc_ncarray_info *' |
| formal parameter. |
| (gomp_map_vars_openacc): Remove. |
| * target.c (goacc_map_vars): Adjust. |
| (gomp_map_vars_openacc): Remove. |
| * oacc-mem.c (acc_map_data, goacc_enter_datum) |
| (goacc_enter_data_internal): Adjust. |
| * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start): |
| Adjust. |
| |
| * oacc-host.c: Revert |
| "OpenACC profiling-interface fixes for asynchronous operations" |
| changes. |
| * oacc-mem.c: Likewise. |
| * oacc-parallel.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: |
| Likewise. |
| |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Revert |
| "Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c" |
| changes. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: |
| Likewise. |
| |
| 2023-03-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-03-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR middle-end/108546 |
| * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test. |
| * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test. |
| |
| 2023-02-23 Andrew Stubbs <ams@codesourcery.com> |
| |
| * target.c (gomp_attach_pointer): Check for USM. |
| * testsuite/libgomp.fortran/usm-3.f90: New test. |
| |
| 2023-02-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment |
| 'target exit data'. |
| * testsuite/libgomp.fortran/target-enter-data-4.f90: New test. |
| * testsuite/libgomp.fortran/target-enter-data-5.f90: New test. |
| * testsuite/libgomp.fortran/target-enter-data-6.f90: New test. |
| * testsuite/libgomp.fortran/target-enter-data-7.f90: New test. |
| |
| 2023-02-20 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * libgomp_g.h (GOMP_enable_pinned_mode): New. |
| |
| * config/linux/allocator.c (linux_memspace_alloc): Add 'init0' |
| formal parameter. Adjust all users. |
| (linux_memspace_alloc, linux_memspace_free): Attempt to allocate |
| OpenMP pinned memory using a device instead of 'mmap' plus |
| attempting to register using a device. |
| * libgomp-plugin.h (GOMP_OFFLOAD_register_page_locked) |
| (GOMP_OFFLOAD_unregister_page_locked): Remove. |
| (GOMP_OFFLOAD_page_locked_host_alloc) |
| (GOMP_OFFLOAD_page_locked_host_free): New. |
| * libgomp.h (gomp_register_page_locked) |
| (gomp_unregister_page_locked): Remove. |
| (gomp_page_locked_host_alloc, gomp_page_locked_host_free): New. |
| (struct gomp_device_descr): Remove 'register_page_locked_func', |
| 'unregister_page_locked_func'. Add 'page_locked_host_alloc_func', |
| 'page_locked_host_free_func'. |
| * plugin/cuda-lib.def (cuMemHostRegister_v2, cuMemHostRegister) |
| (cuMemHostUnregister): Remove. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_register_page_locked) |
| (GOMP_OFFLOAD_unregister_page_locked): Remove. |
| (GOMP_OFFLOAD_page_locked_host_alloc) |
| (GOMP_OFFLOAD_page_locked_host_free): New. |
| * target.c (gomp_register_page_locked) |
| (gomp_unregister_page_locked): Remove. |
| (gomp_page_locked_host_alloc, gomp_page_locked_host_free): Add. |
| (gomp_load_plugin_for_device): Don't handle |
| 'register_page_locked', 'unregister_page_locked'. Handle |
| 'page_locked_host_alloc', 'page_locked_host_free'. |
| |
| 2023-02-16 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/linux/allocator.c (linux_memspace_alloc) |
| (linux_memspace_free, linux_memspace_realloc): Attempt to register |
| OpenMP pinned memory using a device instead of 'mlock'. |
| * libgomp-plugin.h (GOMP_OFFLOAD_register_page_locked) |
| (GOMP_OFFLOAD_unregister_page_locked): New. |
| * libgomp.h (gomp_register_page_locked) |
| (gomp_unregister_page_locked): New |
| (struct gomp_device_descr): Add 'register_page_locked_func', |
| 'unregister_page_locked_func'. |
| * plugin/cuda-lib.def (cuMemHostRegister_v2, cuMemHostRegister) |
| (cuMemHostUnregister): New. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_register_page_locked) |
| (GOMP_OFFLOAD_unregister_page_locked): New. |
| * target.c (gomp_register_page_locked) |
| (gomp_unregister_page_locked): New. |
| (gomp_load_plugin_for_device): Handle 'register_page_locked', |
| 'unregister_page_locked'. |
| * testsuite/libgomp.c/alloc-pinned-1.c: Adjust. |
| * testsuite/libgomp.c/alloc-pinned-2.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-3.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-4.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-5.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-6.c: Likewise. |
| |
| * allocator.c (omp_realloc): Route 'free' through 'MEMSPACE_FREE'. |
| |
| * config/linux/allocator.c (linux_memspace_alloc) |
| (linux_memspace_calloc): Clarify zero-initialization for pinned |
| memory. |
| * testsuite/libgomp.c/alloc-pinned-1.c: Verify zero-initialization |
| for pinned memory. |
| * testsuite/libgomp.c/alloc-pinned-2.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-3.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-4.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-5.c: Likewise. |
| |
| * config/linux/allocator.c (linux_memspace_calloc): Elide |
| (innocuous) duplicate 'if' condition. |
| * config/nvptx/allocator.c (nvptx_memspace_free): Explicitly |
| handle 'memspace == ompx_host_mem_space'. |
| * libgomp.h (gomp_is_usm_ptr): Remove. |
| |
| * basic-allocator.c (BASIC_ALLOC_YIELD): instead of '#deine', |
| '#define' it. |
| |
| * testsuite/libgomp.c/usm-1.c: Re-enable non-GCN offloading |
| compilation. |
| * testsuite/libgomp.c/usm-2.c: Likewise. |
| * testsuite/libgomp.c/usm-3.c: Likewise. |
| * testsuite/libgomp.c/usm-4.c: Likewise. |
| |
| 2023-02-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.texi: Fix typos - theads -> threads. |
| |
| 2023-02-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix |
| comment typo and improve its wording. |
| |
| 2023-02-16 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here. |
| (TEAM_ARENA_FREE): Likewise. |
| (TEAM_ARENA_END): Likewise. |
| (GCN_LOWLAT_HEAP): New. |
| * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h. |
| (__gcn_lowlat_init): New prototype. |
| (gomp_gcn_enter_kernel): Initialize the low-latency heap. |
| * libgomp.h (TEAM_ARENA_START): Move to libgomp.h. |
| (TEAM_ARENA_FREE): Likewise. |
| (TEAM_ARENA_END): Likewise. |
| * plugin/plugin-gcn.c (lowlat_size): New variable. |
| (print_kernel_dispatch): Label the group_segment_size purpose. |
| (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL. |
| (create_kernel_dispatch): Pass low-latency head allocation to kernel. |
| (run_kernel): Use shadow; don't assume values. |
| * testsuite/libgomp.c/allocators-7.c: Enable for amdgcn. |
| |
| 2023-02-16 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/nvptx/allocator.c (BASIC_ALLOC_PREFIX): New define, and |
| include basic-allocator.c. |
| (__nvptx_lowlat_heap_root): Remove. |
| (heapdesc): Remove. |
| (nvptx_memspace_alloc): Move implementation to basic-allocator.c. |
| (nvptx_memspace_calloc): Likewise. |
| (nvptx_memspace_free): Likewise. |
| (nvptx_memspace_realloc): Likewise. |
| * config/nvptx/team.c (__nvptx_lowlat_heap_root): Remove. |
| (gomp_nvptx_main): Call __nvptx_lowlat_init. |
| * basic-allocator.c: New file. |
| |
| 2023-02-15 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/target-present-1.c: Fix. |
| * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise. |
| * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise. |
| * testsuite/libgomp.fortran/target-present-1.f90: Likewise. |
| * testsuite/libgomp.fortran/target-present-2.f90: Likewise. |
| * testsuite/libgomp.fortran/target-present-3.f90: Likewise. |
| |
| 2023-02-15 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-15 Tobias Burnus <tobias@codesourcery.com> |
| |
| * target.c (gomp_target_rev): Dereference ptr |
| to get device address. |
| * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test |
| for unallocated allocatable. |
| |
| 2023-02-15 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-15 Tobias Burnus <tobias@codesourcery.com> |
| |
| * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a |
| kind check. |
| (GOMP_target_enter_exit_data): If the next map item is |
| GOMP_MAP_ALWAYS_POINTER map it together with the current item. |
| * testsuite/libgomp.fortran/target-enter-data-4.f90: New test. |
| |
| 2023-02-14 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (gomp_target_rev): Address cast to pointer from integer |
| of different size. |
| |
| 2023-02-09 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * target.c (gomp_to_device_kind_p): Add map kinds with 'present' |
| modifier. |
| (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro. |
| (gomp_map_vars_internal): Emit runtime error if memory region not |
| present. |
| (gomp_update): Likewise. |
| (gomp_target_rev): Likewise. |
| * testsuite/libgomp.c-c++-common/target-present-1.c: New. |
| * testsuite/libgomp.c-c++-common/target-present-2.c: New. |
| * testsuite/libgomp.c-c++-common/target-present-3.c: New. |
| * testsuite/libgomp.fortran/target-present-1.f90: New. |
| * testsuite/libgomp.fortran/target-present-2.f90: New. |
| * testsuite/libgomp.fortran/target-present-3.f90: New. |
| |
| 2023-02-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/107424 |
| * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test. |
| * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test. |
| * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test. |
| * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test. |
| * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test. |
| * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test. |
| |
| 2023-02-09 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/allocate-5.f90: Paste. |
| |
| * testsuite/libgomp.c++/c++.exp (check_effective_target_c) |
| (check_effective_target_c++): New. |
| * testsuite/libgomp.c/c.exp (check_effective_target_c) |
| (check_effective_target_c++): Likewise. |
| * testsuite/libgomp.c-c++-common/uses_allocators-1.c: Paste. |
| * testsuite/libgomp.c-c++-common/uses_allocators-2.c: Likewise. |
| * testsuite/libgomp.c-c++-common/uses_allocators-3.c: Likewise. |
| * testsuite/libgomp.fortran/uses_allocators-1.f90: Likewise. |
| * testsuite/libgomp.fortran/uses_allocators-2.f90: Likewise. |
| * testsuite/libgomp.fortran/uses_allocators-3.f90: Likewise. |
| |
| * testsuite/libgomp.c-c++-common/alloc-pinned-1.c: Paste. |
| |
| 2023-02-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx |
| offloading compilation. |
| |
| 2023-02-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for |
| reverse offload. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept |
| reverse-offload requirement. |
| |
| 2023-02-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier. |
| |
| 2023-02-06 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define. |
| (DEFAULT_TEAM_ARENA_SIZE): New define. |
| (struct heap): Move to this file. |
| (struct kernargs_abi): Likewise. |
| * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from |
| the kernargs. |
| * libgomp.h: Include libgomp-gcn.h. |
| (TEAM_ARENA_SIZE): Remove. |
| (team_malloc): Update the error message. |
| * plugin/plugin-gcn.c (struct kernargs): Move common content to |
| struct kernargs_abi. |
| (struct agent_info): Rename team arenas to ephemeral memories. |
| (struct team_arena_list): Rename .... |
| (struct ephemeral_memories_list): to this. |
| (struct heap): Delete. |
| (team_arena_size): New variable. |
| (stack_size): New variable. |
| (print_kernel_dispatch): Update debug messages. |
| (init_environment_variables): Read GCN_TEAM_ARENA_SIZE. |
| Read GCN_STACK_SIZE. |
| (get_team_arena): Rename ... |
| (configure_ephemeral_memories): ... to this, and set up stacks. |
| (release_team_arena): Rename ... |
| (release_ephemeral_memories): ... to this. |
| (destroy_team_arenas): Rename ... |
| (destroy_ephemeral_memories): ... to this. |
| (create_kernel_dispatch): Add num_threads parameter. |
| Adjust for kernargs_abi refactor and ephemeral memories. |
| (release_kernel_dispatch): Adjust for ephemeral memories. |
| (run_kernel): Pass thread-count to create_kernel_dispatch. |
| (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories. |
| (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories. |
| |
| 2023-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * target.c (gomp_target_rev): Handle mapnum == 0 and avoid |
| freeing not allocated memory. |
| * testsuite/libgomp.fortran/reverse-offload-6.f90: New test. |
| |
| 2023-02-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'. |
| (GCN): Add item about 'omp requires'. |
| (nvptx): Likewise; add item about reverse offload. |
| |
| 2023-02-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-02-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN |
| usage, remove unused -fdump-tree-original. |
| * testsuite/libgomp.fortran/allocate-4.f90: New. |
| |
| 2023-01-26 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-01-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.0): Set non-rectangular |
| |
| 2023-01-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * libgomp.texi (nvptx): Update for |
| 'nvptx, libgfortran: Switch out of "minimal" mode'. |
| |
| 2023-01-20 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-print-1.f90: Adjust. |
| * testsuite/libgomp.fortran/target-print-1-nvptx.f90: Remove. |
| * testsuite/libgomp.oacc-fortran/print-1.f90: Adjust. |
| * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Remove. |
| * testsuite/libgomp.oacc-fortran/error_stop-2.f: Adjust. |
| * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. |
| |
| * plugin/plugin-nvptx.c (nvptx_do_global_cdtors): New. |
| (nvptx_close_device, GOMP_OFFLOAD_load_image) |
| (GOMP_OFFLOAD_unload_image): Call it. |
| |
| * plugin/plugin-nvptx.c (nvptx_exec): Assert what we know about |
| 'blockDimX'. |
| |
| PR target/85463 |
| * config/nvptx/error.c (exit): Don't override. |
| * testsuite/libgomp.oacc-fortran/error_stop-1.f: Update. |
| * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. |
| |
| * testsuite/libgomp.c/simd-math-1.c: Fix configuration, again. |
| |
| * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Force |
| '--param openacc-kernels=parloops'. |
| |
| * testsuite/libgomp.c/simd-math-1.c: Fix configuration. |
| |
| 2023-01-19 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108459 |
| * testsuite/libgomp.c/pr108459.c: New test. |
| |
| 2023-01-13 Andrew Stubbs <ams@codesourcery.com> |
| |
| * usm-allocator.c (ALIGN): Use 128-byte alignment. |
| |
| 2023-01-11 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-gcn.c: Include sys/mman.h and unistd.h. |
| (usm_heap_create): New function. |
| (struct usm_splay_tree_key_s): Delete function. |
| (usm_splay_compare): Delete function. |
| (splay_tree_prefix): Delete define. |
| (GOMP_OFFLOAD_usm_alloc): Use new allocator. |
| (GOMP_OFFLOAD_usm_free): Likewise. |
| (GOMP_OFFLOAD_is_usm_ptr): Likewise. |
| (gomp_fatal): Delete macro. |
| (splay_tree_c): Delete. |
| * usm-allocator.c: New file. |
| |
| 2022-12-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nvptx/bar.c (generation_to_barrier): Remove. |
| (futex_wait,futex_wake,do_spin,do_wait): Remove. |
| (GOMP_WAIT_H): Remove. |
| (#include "../linux/bar.c"): Remove. |
| (gomp_barrier_wait_end): New function. |
| (gomp_barrier_wait): Likewise. |
| (gomp_barrier_wait_last): Likewise. |
| (gomp_team_barrier_wait_end): Likewise. |
| (gomp_team_barrier_wait): Likewise. |
| (gomp_team_barrier_wait_final): Likewise. |
| (gomp_team_barrier_wait_cancel_end): Likewise. |
| (gomp_team_barrier_wait_cancel): Likewise. |
| (gomp_team_barrier_cancel): Likewise. |
| * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields. |
| (gomp_barrier_init): Remove init of waiters, lock fields. |
| (gomp_team_barrier_wake): Remove prototype, add new static inline |
| function. |
| |
| 2022-12-16 Andrew Stubbs <ams@codesourcery.com> |
| |
| * libgomp.h (OFFSET_USM): New macro. |
| * target.c (gomp_map_pointer): Handle USM mappings. |
| (gomp_map_val): Handle OFFSET_USM. |
| (gomp_map_vars_internal): Move USM check earlier, and use OFFSET_USM. |
| Add OFFSET_USM check to the second mapping pass. |
| * testsuite/libgomp.fortran/usm-1.f90: New test. |
| * testsuite/libgomp.fortran/usm-2.f90: New test. |
| |
| 2022-12-13 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * target.c (omp_target_is_accessible): Handle unified shared memory. |
| * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: Updated. |
| * testsuite/libgomp.fortran/target-is-accessible-1.f90: Updated. |
| * testsuite/libgomp.c-c++-common/target-is-accessible-2.c: New test. |
| * testsuite/libgomp.fortran/target-is-accessible-2.f90: New test. |
| |
| 2022-12-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-12-10 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.h (struct target_mem_desc): Predeclare; move |
| below after 'reverse_splay_tree_node' and add rev_array |
| member. |
| (struct reverse_splay_tree_key_s, reverse_splay_compare): New. |
| (reverse_splay_tree_node, reverse_splay_tree, |
| reverse_splay_tree_key): New typedef. |
| (struct gomp_device_descr): Add mem_map_rev member. |
| * oacc-host.c (host_dispatch): NULL init .mem_map_rev. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim |
| support for GOMP_REQUIRES_REVERSE_OFFLOAD. |
| * splay-tree.h (splay_tree_callback_stop): New typedef; like |
| splay_tree_callback but returning int not void. |
| (splay_tree_foreach_lazy): Define; like splay_tree_foreach but |
| taking splay_tree_callback_stop as argument. |
| * splay-tree.c (splay_tree_foreach_internal_lazy, |
| splay_tree_foreach_lazy): New; but early exit if callback returns |
| nonzero. |
| * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'. |
| (gomp_map_lookup_rev): New. |
| (gomp_load_image_to_device): Handle reverse-offload function |
| lookup table. |
| (gomp_unload_image_from_device): Free devicep->mem_map_rev. |
| (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup, |
| gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int, |
| gomp_map_cdata_lookup): New auxiliary structs and functions for |
| gomp_target_rev. |
| (gomp_target_rev): Implement reverse offloading and its mapping. |
| (gomp_target_init): Init current_device.mem_map_rev.root. |
| * testsuite/libgomp.fortran/reverse-offload-2.f90: New test. |
| * testsuite/libgomp.fortran/reverse-offload-3.f90: New test. |
| * testsuite/libgomp.fortran/reverse-offload-4.f90: New test. |
| * testsuite/libgomp.fortran/reverse-offload-5.f90: New test. |
| * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without |
| mapping of on-device allocated variables. |
| |
| 2022-12-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-12-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive |
| item about 'align'; mark clause as 'Y' and directive as 'N'. |
| * testsuite/libgomp.fortran/allocate-2.f90: New test. |
| * testsuite/libgomp.fortran/allocate-3.f90: New test. |
| |
| 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| Backported from master: |
| 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to |
| allow processing of device-specific values. |
| (omp_set_teams_thread_limit): Likewise. |
| (ialias): Likewise. |
| * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise. |
| (omp_set_teams_thread_limit): Likewise. |
| (ialias): Likewise. |
| * icv-device.c (omp_get_teams_thread_limit): Likewise. |
| (ialias): Likewise. |
| (omp_set_teams_thread_limit): Likewise. |
| * icv.c (omp_set_teams_thread_limit): Removed. |
| (omp_get_teams_thread_limit): Likewise. |
| (ialias): Likewise. |
| * libgomp.texi: Updated documentation for nvptx and gcn corresponding |
| to the limitation of the number of teams. |
| * plugin/plugin-gcn.c (limit_teams): New helper function that limits |
| the number of teams by twice the number of compute units. |
| (parse_target_attributes): Limit the number of teams on gcn offload |
| devices. |
| * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var |
| handling. |
| (gomp_load_image_to_device): Added a size check for the ICVs struct |
| variable. |
| (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to |
| copy back the ICV values from device to host. |
| (GOMP_target_ext): Update the number of teams and threads in the kernel |
| args also considering device-specific values. |
| * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading |
| of OMP_TEAMS_THREAD_LIMIT from the environment. |
| * testsuite/libgomp.c-c++-common/icv-5.c: Extended. |
| * testsuite/libgomp.c-c++-common/icv-6.c: Extended. |
| * testsuite/libgomp.c-c++-common/icv-7.c: Extended. |
| * testsuite/libgomp.c-c++-common/icv-9.c: New test. |
| * testsuite/libgomp.fortran/icv-5.f90: New test. |
| * testsuite/libgomp.fortran/icv-6.f90: New test. |
| |
| 2022-12-06 Paul-Antoine Arras <pa@codesourcery.com> |
| |
| * config/gcn/selector.c (GOMP_evaluate_current_device): Recognise 'amdgcn' |
| as arch, and '-march' values (as well as 'gfx803') as isa traits. |
| * testsuite/libgomp.c-c++-common/metadirective-6.c: New test. |
| |
| 2022-12-06 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-12-06 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.2): Add missing 'the'. |
| (TR11): Add missing '@tab N @tab'. |
| |
| 2022-11-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa. |
| |
| 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com> |
| |
| * testsuite/libgomp.c/declare-variant-4-fiji.c: New test. |
| * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test. |
| * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test. |
| * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test. |
| * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test. |
| * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test. |
| * testsuite/libgomp.c/declare-variant-4.h: New header file. |
| |
| 2022-11-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.2): Mark end-directive as Y. |
| |
| 2022-11-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-25 Tobias Burnus <tobias@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int |
| for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR |
| as valid and the code having no reverse-offload code. |
| * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test. |
| |
| 2022-11-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-25 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items |
| and status for Technical Report (TR) 11. |
| |
| 2022-11-26 Sandra Loosemore <sandra@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-25 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library. |
| * testsuite/libgomp.c/target-simd-clone-1.c: New. |
| * testsuite/libgomp.c/target-simd-clone-2.c: New. |
| * testsuite/libgomp.c/target-simd-clone-3.c: New. |
| |
| 2022-11-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| * config/gcn/libgomp-gcn.h (struct output): |
| Remove 'msg_u64' from the union, change |
| value_u64[2] to value_u64[6]. |
| * config/gcn/target.c (GOMP_target_ext): Update accordingly. |
| * plugin/plugin-gcn.c (process_reverse_offload, console_output): |
| Likewise. |
| |
| 2022-11-19 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-19 Tobias Burnus <tobias@codesourcery.com> |
| |
| * config/gcn/libgomp-gcn.h: New file; contains |
| struct output, declared previously in plugin-gcn.c. |
| * config/gcn/target.c: Include it. |
| (GOMP_ADDITIONAL_ICVS): Declare as extern var. |
| (GOMP_target_ext): Handle reverse offload. |
| * plugin/plugin-gcn.c: Include libgomp-gcn.h. |
| (struct kernargs): Replace struct def by the one |
| from libgomp-gcn.h for output_data. |
| (process_reverse_offload): New. |
| (console_output): Call it. |
| |
| 2022-11-18 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-16 Tobias Burnus <tobias@codesourcery.com> |
| Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/team.c (gomp_gcn_enter_kernel): Use |
| __builtin_gcn_kernarg_ptr instead of asm ("s8"). |
| |
| 2022-11-14 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-11-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/107641 |
| * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than |
| unsigned long. Change type of upper from unsigned to unsigned long. |
| |
| 2022-11-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-13.f90: Remove strides to match |
| mainline (GCC 13) version. |
| |
| 2022-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: |
| Adjust. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1.f90: |
| New. |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: |
| Adjust. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: |
| Likewise. |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: |
| XFAIL some OpenACC 'kernels' confusion. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: |
| Likewise. |
| |
| Backported from master: |
| 2022-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/106643 |
| PR fortran/96668 |
| * oacc-mem.c (goacc_enter_data_internal): Support |
| OpenACC 'declare create' with Fortran allocatable arrays, part II. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: |
| Adjust. |
| * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New. |
| |
| Backported from master: |
| 2022-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/106643 |
| * oacc-mem.c (goacc_enter_data_internal): Support |
| OpenACC 'declare create' with Fortran allocatable arrays, part I. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: |
| New. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: |
| New. |
| |
| Backported from master: |
| 2022-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90: |
| New. |
| |
| Backported from master: |
| 2022-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: |
| New. |
| |
| Backported from master: |
| 2022-11-02 Cesar Philippidis <cesar@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New. |
| |
| 2022-11-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-enter-data-3.f90: New test. |
| |
| 2022-11-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/requires-4.c: Fix dg-xfail-run-if |
| condition. |
| |
| 2022-11-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-11.f90: New test. |
| * testsuite/libgomp.fortran/target-13.f90: New test. |
| |
| 2022-11-01 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.c/simd-math-1.c: New testcase. |
| |
| 2022-10-28 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust. |
| |
| 2022-10-25 Abid Qadeer <abidh@codesourcery.com> |
| |
| * testsuite/libgomp.c++/usm-2.C: New test. |
| |
| 2022-10-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (nvptx_open_device): Initialize |
| 'ptx_dev->rev_data'. |
| |
| 2022-10-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove |
| 'static' for this variable. |
| * config/nvptx/libgomp-nvptx.h: New file. |
| * config/nvptx/target.c: Include it. |
| (GOMP_ADDITIONAL_ICVS): Declare extern var. |
| (GOMP_REV_OFFLOAD_VAR): Declare var. |
| (GOMP_target_ext): Handle reverse offload. |
| * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype. |
| * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ... |
| * target.c (gomp_target_rev): ... this new stub function. |
| * libgomp.h (gomp_target_rev): Declare. |
| * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev. |
| * plugin/cuda-lib.def (cuMemHostAlloc): Add. |
| * plugin/plugin-nvptx.c: Include libgomp-nvptx.h. |
| (struct ptx_device): Add rev_data member. |
| (nvptx_open_device): Remove async_engines query, last used in |
| r10-304-g1f4c5b9b; add unified-address assert check. |
| (GOMP_OFFLOAD_get_num_devices): Claim unified address |
| support. |
| (GOMP_OFFLOAD_load_image): Free rev_fn_table if no |
| offload functions exist. Make offload var available |
| on host and device. |
| (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New. |
| (GOMP_OFFLOAD_run): Handle reverse offload. |
| |
| 2022-10-20 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-20 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn): |
| New. |
| * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn, |
| on_device_arch_gcn): New. |
| * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from |
| requires-4.c but using heap-allocated memory. |
| |
| 2022-10-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/task-7.f90: New test. |
| * testsuite/libgomp.fortran/task-8.f90: New test. |
| * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test. |
| * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test. |
| * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test. |
| * testsuite/libgomp.fortran/task-reduction-17.f90: New test. |
| * testsuite/libgomp.fortran/task-reduction-18.f90: New test. |
| |
| 2022-10-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive |
| in deprecation bullet. |
| |
| 2022-10-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp.h.in (omp_in_explicit_task): Declare. |
| * omp_lib.h.in (omp_in_explicit_task): Likewise. |
| * omp_lib.f90.in (omp_in_explicit_task): New interface. |
| * libgomp.map (OMP_5.2): New symbol version, export |
| omp_in_explicit_task and omp_in_explicit_task_. |
| * task.c (omp_in_explicit_task): New function. |
| * fortran.c (omp_in_explicit_task): Add ialias_redirect. |
| (omp_in_explicit_task_): New function. |
| * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented. |
| * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test. |
| * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test. |
| * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test. |
| |
| 2022-10-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * task.c (gomp_create_artificial_team): Fix up handling of invocations |
| from within explicit task. |
| * target.c (GOMP_target_ext): Likewise. |
| * testsuite/libgomp.c/task-7.c: New test. |
| * testsuite/libgomp.c/task-8.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test. |
| |
| 2022-10-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backported from master: |
| 2022-10-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific |
| '-foffload-options' syntax. |
| |
| 2022-10-14 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output. |
| * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. |
| * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. |
| |
| 2022-10-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'. |
| |
| 2022-10-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-10-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.texi (Support begin/end declare target syntax in C/C++): |
| Mark as implemented. |
| |
| 2022-09-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/105318 |
| * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test. |
| |
| 2022-09-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented |
| for C/C++. Remove duplicated 'begin declare target' entry. |
| |
| 2022-09-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/106981 |
| * testsuite/libgomp.c-c++-common/pr106981.c: New test. |
| |
| 2022-09-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/106906 |
| * env.c (get_icv_member_addr): Cast false to void * before assigning |
| it to icv_addr[1], and comment the whole assignment out. |
| |
| 2022-09-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ... |
| (nvptx): ... here. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (Offload-Target Specifics: nvptx): Document |
| that reverse offload requires >= -march=sm_35. |
| * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx |
| with -misa=sm_35. |
| * testsuite/libgomp.c-c++-common/requires-5.c: Likewise. |
| * testsuite/libgomp.c-c++-common/requires-6.c: Likewise. |
| * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise. |
| * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise. |
| * testsuite/libgomp.c/reverse-offload-sm30.c: New test. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items. |
| (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/106894 |
| * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h. |
| (main): Avoid tests for which corresponding non-_ALL suffixed variable |
| is in the environment, or for OMP_NUM_TEAMS on the device |
| OMP_NUM_TEAMS_DEV_?. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-10 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * env.c (initialize_env): Include libiberty environ.h. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload |
| function address table '$offload_func_table' if rev_fn_table |
| is not NULL. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read |
| .offload_func_table to populate rev_fn_table when requested. |
| |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add |
| 'uint64_t **rev_fn_table' argument. |
| * oacc-host.c (host_load_image): Likewise. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise; |
| currently unused. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. |
| * target.c (gomp_load_image_to_device): Update call but pass |
| NULL for now. |
| |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/106894 |
| * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of |
| char * for dest[1] initialization from params[1]. Formatting fixes. |
| |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/106670 |
| * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry. |
| |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind |
| section; move OpenMP Context Selectors from ... |
| (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and |
| 'nvptx' sections. |
| |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * config/gcn/icv-device.c (omp_get_default_device): Return device- |
| specific ICV. |
| (omp_get_max_teams): Added for GCN devices. |
| (omp_set_num_teams): Likewise. |
| (ialias): Likewise. |
| * config/nvptx/icv-device.c (omp_get_default_device): Return device- |
| specific ICV. |
| (omp_get_max_teams): Added for NVPTX devices. |
| (omp_set_num_teams): Likewise. |
| (ialias): Likewise. |
| * env.c (struct gomp_icv_list): New struct to store entries of initial |
| ICV values. |
| (struct gomp_offload_icv_list): New struct to store entries of device- |
| specific ICV values that are copied to the device and back. |
| (struct gomp_default_icv_values): New struct to store default values of |
| ICVs according to the OpenMP standard. |
| (parse_schedule): Generalized for different variants of OMP_SCHEDULE. |
| (print_env_var_error): Function that prints an error for invalid values |
| for ICVs. |
| (parse_unsigned_long_1): Removed getenv. Generalized. |
| (parse_unsigned_long): Likewise. |
| (parse_int_1): Likewise. |
| (parse_int): Likewise. |
| (parse_int_secure): Likewise. |
| (parse_unsigned_long_list): Likewise. |
| (parse_target_offload): Likewise. |
| (parse_bind_var): Likewise. |
| (parse_stacksize): Likewise. |
| (parse_boolean): Likewise. |
| (parse_wait_policy): Likewise. |
| (parse_allocator): Likewise. |
| (omp_display_env): Extended to output different variants of environment |
| variables. |
| (print_schedule): New helper function for omp_display_env which prints |
| the values of run_sched_var. |
| (print_proc_bind): New helper function for omp_display_env which prints |
| the values of proc_bind_var. |
| (enum gomp_parse_type): Collection of types used for parsing environment |
| variables. |
| (ENTRY): Preprocess string lengths of environment variables. |
| (OMP_VAR_CNT): Preprocess table size. |
| (OMP_HOST_VAR_CNT): Likewise. |
| (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device |
| number. |
| (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. |
| (gomp_set_icv_flag): Sets a flag for a particular ICV. |
| (print_device_specific_icvs): New helper function for omp_display_env to |
| print device specific ICV values. |
| (get_device_num): New helper function for parse_device_specific. |
| Extracts the device number from an environment variable name. |
| (get_icv_member_addr): Gets the memory address for a particular member |
| of an ICV struct. |
| (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. |
| (initialize_icvs): New function to initialize a gomp_initial_icvs |
| struct. |
| (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list. |
| (startswith): Checks if a string starts with a given prefix. |
| (initialize_env): Extended to parse the new syntax of environment |
| variables. |
| * icv-device.c (omp_get_max_teams): Added. |
| (ialias): Likewise. |
| (omp_set_num_teams): Likewise. |
| * icv.c (omp_set_num_teams): Moved to icv-device.c. |
| (omp_get_max_teams): Likewise. |
| (ialias): Likewise. |
| * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed. |
| (GOMP_ADDITIONAL_ICVS): New target-side struct that |
| holds the designated ICVs of the target device. |
| * libgomp.h (enum gomp_icvs): Collection of ICVs. |
| (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and |
| no suffix. |
| (enum gomp_env_suffix): Collection of possible suffixes of environment |
| variables. |
| (struct gomp_initial_icvs): Contains all ICVs for which we need to store |
| initial values. |
| (struct gomp_default_icv):New struct to hold ICVs for which we need |
| to store initial values. |
| (struct gomp_icv_list): Definition of a linked list that is used for |
| storing ICVs for the devices and also for _DEV, _ALL, and without |
| suffix. |
| (struct gomp_offload_icvs): New struct to hold ICVs that are copied to |
| a device. |
| (struct gomp_offload_icv_list): Definition of a linked list that holds |
| device-specific ICVs that are copied to devices. |
| (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. |
| (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. |
| * libgomp.texi: Updated. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read |
| further ICVs from the offload image. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. |
| * target.c (gomp_get_offload_icv_item): Get a list item of |
| gomp_offload_icv_list. |
| (get_gomp_offload_icvs): New. Returns the ICV values |
| depending on the device num and the variable hierarchy. |
| (gomp_load_image_to_device): Extended to copy further ICVs to a device. |
| * testsuite/libgomp.c-c++-common/icv-5.c: New test. |
| * testsuite/libgomp.c-c++-common/icv-6.c: New test. |
| * testsuite/libgomp.c-c++-common/icv-7.c: New test. |
| * testsuite/libgomp.c-c++-common/icv-8.c: New test. |
| * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test. |
| * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test. |
| |
| 2022-09-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now |
| fully supported. |
| * testsuite/libgomp.c/doacross-4.c: New test. |
| * testsuite/libgomp.c/doacross-5.c: New test. |
| * testsuite/libgomp.c/doacross-6.c: New test. |
| * testsuite/libgomp.c/doacross-7.c: New test. |
| |
| 2022-09-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions" |
| comment for omp_display_env feature. |
| |
| 2022-09-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-09-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status. |
| |
| 2022-08-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-08-26 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but |
| refer to 'requires'. |
| * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test. |
| * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test. |
| * testsuite/libgomp.fortran/reverse-offload-1.f90: New test. |
| |
| 2022-08-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-08-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| * splay-tree.h: Fix splay_* macro unsetting if |
| splay_tree_prefix is defined. |
| |
| 2022-07-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.c-c++-common/pr106449-2.c: New test. |
| |
| 2022-07-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| * target.c (gomp_target_init): Added tailing '\n' to gomp_debug. |
| |
| 2022-07-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-08 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's. |
| * testsuite/libgomp.c-c++-common/requires-2.c: Likewise. |
| * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. |
| * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. |
| * testsuite/libgomp.fortran/requires-1.f90: Likewise. |
| |
| 2022-07-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (GOMP_offload_register, GOMP_offload_unregister): |
| Denote as legacy entry points. |
| * testsuite/lib/libgomp.exp |
| (check_effective_target_offload_target_any): New proc. |
| * testsuite/libgomp.c-c++-common/requires-1.c: Enable for |
| 'offload_target_any'. |
| * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. |
| * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. |
| * testsuite/libgomp.fortran/requires-1.f90: Likewise. |
| |
| 2022-07-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing. |
| * testsuite/libgomp.c-c++-common/requires-5.c: Likewise. |
| |
| 2022-07-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/requires-3.c: Adjust. |
| |
| 2022-07-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (GOMP_offload_register_ver): Clarify 'target_data' -> |
| 'data'. |
| (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| Chung-Lin Tang <cltang@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add |
| omp_requires_mask arg. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise; |
| return -1 when device available but omp_requires_mask != 0. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise. |
| * oacc-host.c (host_get_num_devices, host_openacc_get_property): |
| Update call. |
| * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1, |
| goacc_attach_host_thread_to_device, acc_get_num_devices, |
| acc_set_device_num, get_property_any): Likewise. |
| * target.c (omp_requires_mask): New global var. |
| (gomp_requires_to_name): New. |
| (GOMP_offload_register_ver): Handle passed omp_requires_mask. |
| (gomp_target_init): Handle omp_requires_mask. |
| * libgomp.texi (OpenMP 5.0): Update requires impl. status. |
| (OpenMP 5.1): Add a missed item. |
| (OpenMP 5.2): Mark linear-clause change as supported in C/C++. |
| * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-1.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-2.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-3.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-4.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-5.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-6.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test. |
| * testsuite/libgomp.c-c++-common/requires-7.c: New test. |
| * testsuite/libgomp.fortran/requires-1-aux.f90: New test. |
| * testsuite/libgomp.fortran/requires-1.f90: New test. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Reverted: |
| 2021-03-25 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (__requires_mask_table, __requires_mask_table_end): Add |
| '__attribute__((weak))'. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Reverted: |
| 2021-02-02 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_supported_features): New declaration. |
| * libgomp.h (struct gomp_device_descr): New 'supported_features_func' |
| plugin hook field. |
| * oacc-host.c (host_supported_features): New host hook function. |
| (host_dispatch): Initialize 'supported_features_func' host hook. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_supported_features): New function. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_features): Likewise. |
| * target.c (<stdio.h>): Add include of standard header. |
| (gomp_requires_mask): New static variable. |
| (__requires_mask_table): New declaration. |
| (__requires_mask_table_end): Likewise. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-07-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.2): Mark target enter/exit data |
| with fromto as implemented. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-06-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize |
| q to ddress of an automatic variable. Use -5 instead of -1 in |
| omp_get_mapped_ptr call. Add test with omp_initial_device. |
| * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead |
| of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device. |
| Renumber stop arguments afterwards. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-06-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators. |
| * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New |
| parameters. |
| * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise. |
| * target.c (resolve_device): Add remapped argument, handle |
| GOMP_DEVICE_ICV only if remapped is true (and clear remapped), |
| for negative values, treat GOMP_DEVICE_FALLBACK as fallback only |
| if remapped, otherwise treat omp_initial_device that way. For |
| omp_invalid_device, always emit gomp_fatal, even when |
| OMP_TARGET_OFFLOAD isn't mandatory. |
| (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext, |
| GOMP_target_update, GOMP_target_update_ext, |
| GOMP_target_enter_exit_data): Pass true as remapped argument to |
| resolve_device. |
| (omp_target_alloc, omp_target_free, omp_target_is_present, |
| omp_target_memcpy_check, omp_target_associate_ptr, |
| omp_target_disassociate_ptr, omp_get_mapped_ptr, |
| omp_target_is_accessible): Pass false as remapped argument to |
| resolve_device. Treat omp_initial_device the same as |
| gomp_get_num_devices (). Don't bypass resolve_device calls if |
| device_num is negative. |
| (omp_pause_resource): Treat omp_initial_device the same as |
| gomp_get_num_devices (). Call resolve_device. |
| * icv-device.c (omp_set_default_device): Always set to device_num |
| even when it is negative. |
| * libgomp.texi: Document that Conforming device numbers, |
| omp_initial_device and omp_invalid_device is implemented. |
| * testsuite/libgomp.c/target-41.c (main): Add test with |
| omp_initial_device. |
| * testsuite/libgomp.c/target-45.c: New test. |
| * testsuite/libgomp.c/target-46.c: New test. |
| * testsuite/libgomp.c/target-47.c: New test. |
| * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add |
| test with omp_initial_device. Use -5 instead of -1 for negative value |
| test. |
| * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main): |
| Likewise. Reorder stop numbers. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-06-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y. |
| * testsuite/libgomp.fortran/scope-2.f90: New test. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-31 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for |
| scope construct with allocate clause. |
| * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise. |
| * testsuite/libgomp.c-c++-common/scope-2.c: New test. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported. |
| * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test |
| explicit 'to' and 'enter' clause. |
| * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to |
| clauses to enter. |
| * testsuite/libgomp.c/target-41.c: Likewise. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (Other new OpenMP 5.1 features): Add |
| 'begin declare target'. |
| (Other new OpenMP 5.2 features): New. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * task.c (gomp_task_run_post_handle_dependers): If empty_task |
| is the last task taskwait depend depends on, wake it up. |
| Similarly if it is the last child of a taskgroup, use atomic |
| store instead of decrement and awak taskgroup wait if any. |
| * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR c/105378 |
| * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'. |
| * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/105378 |
| * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare. |
| * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1. |
| * task.c (empty_task): New function. |
| (gomp_task_run_post_handle_depend_hash): Declare earlier. |
| (gomp_task_run_post_handle_depend): Declare. |
| (GOMP_task): Optimize fn == empty_task if there is nothing to wait |
| for. |
| (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task. |
| (GOMP_taskwait_depend_nowait): New function. |
| * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * libgomp.map: Added omp_target_memcpy_async and |
| omp_target_memcpy_rect_async. |
| * libgomp.texi: Both functions are now supported. |
| * omp.h.in: Added omp_target_memcpy_async and |
| omp_target_memcpy_rect_async. |
| * omp_lib.f90.in: Added interfaces for both new functions. |
| * omp_lib.h.in: Likewise. |
| * target.c (ialias_redirect): Added for GOMP_task. |
| (omp_target_memcpy): Restructured into check and copy part. |
| (omp_target_memcpy_check): New helper function for omp_target_memcpy and |
| omp_target_memcpy_async that checks requirements. |
| (omp_target_memcpy_copy): New helper function for omp_target_memcpy and |
| omp_target_memcpy_async that performs the memcpy. |
| (omp_target_memcpy_async_helper): New helper function that is used in |
| omp_target_memcpy_async for the asynchronous task. |
| (omp_target_memcpy_async): Added. |
| (omp_target_memcpy_rect): Restructured into check and copy part. |
| (omp_target_memcpy_rect_check): New helper function for |
| omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks |
| requirements. |
| (omp_target_memcpy_rect_copy): New helper function for |
| omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs |
| the memcpy. |
| (omp_target_memcpy_rect_async_helper): New helper function that is used |
| in omp_target_memcpy_rect_async for the asynchronous task. |
| (omp_target_memcpy_rect_async): Added. |
| * task.c (ialias): Added for GOMP_task. |
| * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test. |
| * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test. |
| * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test. |
| * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test. |
| * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test. |
| * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test. |
| * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test. |
| * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test. |
| |
| 2022-07-05 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-18 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y. |
| (OpenMP Context Selectors): Add missing comma. |
| * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test. |
| * testsuite/libgomp.fortran/depend-6.f90: Likewise. |
| * testsuite/libgomp.fortran/depend-7.f90: Likewise. |
| * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (Offload-Target Specifics): New chapter; add section |
| to document OpenMP context selectors. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.h (struct gomp_task_depend_entry): Change is_in type |
| from bool to unsigned char. |
| * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET. |
| Ignore dependencies where |
| task->depend[i].is_in && task->depend[i].is_in == ent->is_in |
| rather than just task->depend[i].is_in && ent->is_in. Remember |
| whether GOMP_DEPEND_IN loop is needed and guard the loop with that |
| conditional. |
| (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET. |
| Ignore dependencies where elem.is_in && elem.is_in == ent->is_in |
| rather than just elem.is_in && ent->is_in. |
| * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with |
| inoutset depend-kind. |
| * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise. |
| * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise. |
| * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP Implementation Status): Add 5.2 table. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'. |
| * testsuite/libgomp.fortran/depend-5.f90: New test. |
| * testsuite/libgomp.fortran/depend-6.f90: New test. |
| * testsuite/libgomp.fortran/depend-7.f90: New test. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * testsuite/libgomp.c++/target-has-device-addr-7.C: New test. |
| * testsuite/libgomp.c++/target-has-device-addr-8.C: New test. |
| * testsuite/libgomp.c++/target-has-device-addr-9.C: New test. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test. |
| |
| 2022-07-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test. |
| |
| 2022-06-20 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (struct usm_splay_tree_key_s): New. |
| (usm_splay_compare): New. |
| (splay_tree_prefix): New. |
| (GOMP_OFFLOAD_usm_alloc): New. |
| (GOMP_OFFLOAD_usm_free): New. |
| (GOMP_OFFLOAD_is_usm_ptr): New. |
| (GOMP_OFFLOAD_supported_features): Move into the OpenMP API fold. |
| Add GOMP_REQUIRES_UNIFIED_ADDRESS and |
| GOMP_REQUIRES_UNIFIED_SHARED_MEMORY. |
| (gomp_fatal): New. |
| (splay_tree_c): New. |
| * testsuite/lib/libgomp.exp (check_effective_target_omp_usm): New. |
| * testsuite/libgomp.c++/usm-1.C: Use dg-require-effective-target. |
| * testsuite/libgomp.c-c++-common/requires-1.c: Likewise. |
| * testsuite/libgomp.c/usm-1.c: Likewise. |
| * testsuite/libgomp.c/usm-2.c: Likewise. |
| * testsuite/libgomp.c/usm-3.c: Likewise. |
| * testsuite/libgomp.c/usm-4.c: Likewise. |
| * testsuite/libgomp.c/usm-5.c: Likewise. |
| * testsuite/libgomp.c/usm-6.c: Likewise. |
| |
| 2022-05-30 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c |
| (cb_compute_construct_end): Remove COPYIN block. |
| (main): Remove assignments to acc_async. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c |
| (cb_enter_data_end): Remove COPYIN block. |
| (main): Remove assignment to acc_async. |
| |
| 2022-05-31 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c (foo_v, foo_w): |
| Re-add dg-warning entries. |
| |
| 2022-05-12 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-12 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS) |
| [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'. |
| (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't |
| append '$(PLUGIN_NVPTX_LDFLAGS)'. |
| * Makefile.in: Regenerate. |
| |
| 2022-05-05 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-05 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * Makefile.am (libgomp_la_LIBADD): Initialize. |
| * plugin/configfrag.ac (DL_LIBS): New. |
| (PLUGIN_GCN_LIBS): Remove. |
| (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case. |
| * plugin/Makefrag.am (libgomp_la_LIBADD) |
| (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'. |
| (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise. |
| * Makefile.in: Regenerate. |
| * config.h.in: Likewise. |
| * configure: Likewise. |
| * testsuite/Makefile.in: Likewise. |
| |
| 2022-04-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-04-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'. |
| * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change |
| 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'. |
| * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into |
| 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and |
| 'PLUGIN_NVPTX_LINK_LIBCUDA'. |
| * Makefile.in: Regenerate. |
| * config.h.in: Likewise. |
| * configure: Likewise. |
| |
| 2022-05-05 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-05 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED' |
| for 'PLUGIN_GCN', 'PLUGIN_NVPTX'. |
| * Makefile.in: Regenerate. |
| * config.h.in: Likewise. |
| * configure: Likewise. |
| * testsuite/Makefile.in: Likewise. |
| |
| 2022-05-12 Jakub Jelinek <jakub@redhat.com> |
| |
| Backport from mainline: |
| 2022-05-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.h (struct gomp_task): Add depend_all_memory member. |
| * task.c (gomp_init_task): Initialize depend_all_memory. |
| (gomp_task_handle_depend): Handle omp_all_memory. |
| (gomp_task_run_post_handle_depend_hash): Clear |
| parent->depend_all_memory if equal to current task. |
| (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory. |
| * testsuite/libgomp.c-c++-common/depend-1.c: New test. |
| * testsuite/libgomp.c-c++-common/depend-2.c: New test. |
| * testsuite/libgomp.c-c++-common/depend-3.c: New test. |
| |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/configfrag.ac: Remove '--with-hsa-runtime', |
| '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing. |
| * Makefile.in: Regenerate. |
| * configure: Likewise. |
| * testsuite/Makefile.in: Likewise. |
| |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't |
| consider 'PLUGIN_GCN_CPPFLAGS'. |
| (libgomp_plugin_gcn_la_LDFLAGS): Don't consider |
| 'PLUGIN_GCN_LDFLAGS'. |
| * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS): |
| Remove. |
| * Makefile.in: Regenerate. |
| * configure: Likewise. |
| * testsuite/Makefile.in: Likewise. |
| |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS) |
| (HSA_RUNTIME_LDFLAGS): Remove. |
| * configure: Regenerate. |
| |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/lib/libgomp.exp (libgomp_init): Don't |
| 'append always_ld_library_path ":$hsa_runtime_lib"'. |
| * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set. |
| |
| 2022-05-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up |
| multi-device testing. |
| |
| 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * libgomp.map: Added omp_target_is_accessible. |
| * libgomp.texi: Tagged omp_target_is_accessible as supported. |
| * omp.h.in: Added omp_target_is_accessible. |
| * omp_lib.f90.in: Added interface for omp_target_is_accessible. |
| * omp_lib.h.in: Likewise. |
| * target.c (omp_target_is_accessible): Added implementation of |
| omp_target_is_accessible. |
| * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test. |
| * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test. |
| |
| 2022-05-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * libgomp.texi (OpenMP 5.0): Feature is now fully supported. |
| |
| 2022-05-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from master: |
| 2022-05-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options. |
| |
| 2022-05-02 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-02 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * libgomp.map: Added omp_get_mapped_ptr. |
| * libgomp.texi: Tagged omp_get_mapped_ptr as supported. |
| * omp.h.in: Added omp_get_mapped_ptr. |
| * omp_lib.f90.in: Added interface for omp_get_mapped_ptr. |
| * omp_lib.h.in: Likewise. |
| * target.c (omp_get_mapped_ptr): Added implementation of |
| omp_get_mapped_ptr. |
| * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test. |
| * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test. |
| * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test. |
| * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test. |
| * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test. |
| * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test. |
| * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test. |
| * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test. |
| |
| 2022-02-24 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-02-24 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add |
| EF_AMDGPU_MACH_AMDGCN_GFX90a. |
| (gcn_gfx90a_s): New. |
| (isa_hsa_name): Support gfx90a. |
| (isa_code): Likewise. |
| |
| 2022-05-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backport from mainline: |
| 2022-05-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/104949 |
| * target.c (gomp_map_vars_internal, copy_firstprivate_data): |
| Support attach for GOMP_MAP_FIRSTPRIVATE. |
| * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test. |
| * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test. |
| * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test. |
| |
| 2022-05-09 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| Backport from master: |
| 2022-05-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/use_device_addr-5.f90: New test. |
| |
| 2022-04-13 Andrew Stubbs <ams@codesourcery.com> |
| |
| * testsuite/libgomp.c/alloc-pinned-1.c: Autodetect page size. |
| * testsuite/libgomp.c/alloc-pinned-2.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-3.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-4.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-5.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-6.c: Likewise. |
| * testsuite/libgomp.c/alloc-pinned-7.c: Clean up. |
| |
| 2022-04-02 Andrew Stubbs <ams@codesourcery.com> |
| |
| * testsuite/libgomp.c/usm-6.c: Add omp_target_alloc. |
| |
| 2022-03-31 Abid Qadeer <abidh@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/allocate-2.f90: Remove commented lines. |
| Add deallocate. Remove omp_atk_pool_size trait. |
| |
| 2022-03-29 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_features): Allow |
| GOMP_REQUIRES_UNIFIED_ADDRESS and GOMP_REQUIRES_UNIFIED_SHARED_MEMORY. |
| |
| 2022-03-11 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backport of the patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591354.html |
| |
| * config/linux/allocator.c (always_pinned_mode): New variable. |
| (GOMP_enable_pinned_mode): New function. |
| (linux_memspace_alloc): Disable pinning when always_pinned_mode set. |
| (linux_memspace_calloc): Likewise. |
| (linux_memspace_free): Likewise. |
| (linux_memspace_realloc): Likewise. |
| * libgomp.map (GOMP_5.1.1): New version space with |
| GOMP_enable_pinned_mode. |
| * testsuite/libgomp.c/alloc-pinned-7.c: New test. |
| |
| 2022-03-11 Abid Qadeer <abidh@codesourcery.com> |
| |
| Backport of a patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591353.html |
| |
| * testsuite/libgomp.c/usm-6.c: New test. |
| * testsuite/libgomp.c++/usm-1.C: Likewise. |
| |
| 2022-03-11 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backport of the patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591352.html |
| |
| * allocator.c (omp_max_predefined_alloc): Update. |
| (omp_aligned_alloc): Don't fallback ompx_host_mem_alloc. |
| (omp_aligned_calloc): Likewise. |
| (omp_realloc): Likewise. |
| * config/linux/allocator.c (linux_memspace_alloc): Handle USM. |
| (linux_memspace_calloc): Handle USM. |
| (linux_memspace_free): Handle USM. |
| (linux_memspace_realloc): Handle USM. |
| * config/nvptx/allocator.c (nvptx_memspace_alloc): Reject |
| ompx_host_mem_alloc. |
| (nvptx_memspace_calloc): Likewise. |
| (nvptx_memspace_realloc): Likewise. |
| * libgomp-plugin.h (GOMP_OFFLOAD_usm_alloc): New prototype. |
| (GOMP_OFFLOAD_usm_free): New prototype. |
| (GOMP_OFFLOAD_is_usm_ptr): New prototype. |
| * libgomp.h (gomp_usm_alloc): New prototype. |
| (gomp_usm_free): New prototype. |
| (gomp_is_usm_ptr): New prototype. |
| (struct gomp_device_descr): Add USM functions. |
| * omp.h.in (omp_memspace_handle_t): Add ompx_unified_shared_mem_space |
| and ompx_host_mem_space. |
| (omp_allocator_handle_t): Add ompx_unified_shared_mem_alloc and |
| ompx_host_mem_alloc. |
| * omp_lib.f90.in: Likewise. |
| * plugin/plugin-nvptx.c (nvptx_alloc): Add "usm" parameter. |
| Call cuMemAllocManaged as appropriate. |
| (GOMP_OFFLOAD_alloc): Move internals to ... |
| (GOMP_OFFLOAD_alloc_1): ... this, and add usm parameter. |
| (GOMP_OFFLOAD_usm_alloc): New function. |
| (GOMP_OFFLOAD_usm_free): New function. |
| (GOMP_OFFLOAD_is_usm_ptr): New function. |
| * target.c (gomp_map_vars_internal): Add USM support. |
| (gomp_usm_alloc): New function. |
| (gomp_usm_free): New function. |
| (gomp_load_plugin_for_device): New function. |
| * testsuite/libgomp.c/usm-1.c: New test. |
| * testsuite/libgomp.c/usm-2.c: New test. |
| * testsuite/libgomp.c/usm-3.c: New test. |
| * testsuite/libgomp.c/usm-4.c: New test. |
| * testsuite/libgomp.c/usm-5.c: New test. |
| |
| 2022-03-11 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backport of a patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-January/589355.html |
| |
| * allocator.c (MEMSPACE_VALIDATE): New macro. |
| (omp_aligned_alloc): Use MEMSPACE_VALIDATE. |
| (omp_aligned_calloc): Likewise. |
| (omp_realloc): Likewise. |
| * config/nvptx/allocator.c (nvptx_memspace_validate): New function. |
| (MEMSPACE_VALIDATE): New macro. |
| * testsuite/libgomp.c/allocators-4.c (main): Add access trait. |
| * testsuite/libgomp.c/allocators-6.c (main): Add access trait. |
| * testsuite/libgomp.c/allocators-7.c: New test. |
| |
| 2022-03-11 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backport of a patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588951.html |
| |
| * allocator.c (omp_max_predefined_alloc): Update. |
| (omp_aligned_alloc): Support ompx_pinned_mem_alloc. |
| (omp_free): Likewise. |
| (omp_aligned_calloc): Likewise. |
| (omp_realloc): Likewise. |
| * omp.h.in (omp_allocator_handle_t): Add ompx_pinned_mem_alloc. |
| * omp_lib.f90.in: Add ompx_pinned_mem_alloc. |
| * testsuite/libgomp.c/alloc-pinned-5.c: New test. |
| * testsuite/libgomp.c/alloc-pinned-6.c: New test. |
| * testsuite/libgomp.fortran/alloc-pinned-1.f90: New test. |
| |
| 2022-03-10 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backport of a patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588360.html |
| |
| * allocator.c (MEMSPACE_ALLOC): Add PIN. |
| (MEMSPACE_CALLOC): Add PIN. |
| (MEMSPACE_REALLOC): Add PIN. |
| (MEMSPACE_FREE): Add PIN. |
| (xmlock): New function. |
| (omp_init_allocator): Don't disallow the pinned trait. |
| (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls. |
| (omp_aligned_calloc): Likewise. |
| (omp_realloc): Likewise. |
| (omp_free): Likewise. |
| * config/linux/allocator.c: New file. |
| * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN. |
| (MEMSPACE_CALLOC): Add PIN. |
| (MEMSPACE_REALLOC): Add PIN. |
| (MEMSPACE_FREE): Add PIN. |
| * testsuite/libgomp.c/alloc-pinned-1.c: New test. |
| * testsuite/libgomp.c/alloc-pinned-2.c: New test. |
| * testsuite/libgomp.c/alloc-pinned-3.c: New test. |
| * testsuite/libgomp.c/alloc-pinned-4.c: New test. |
| |
| 2022-03-09 Abid Qadeer <abidh@codesourcery.com> |
| |
| Backport of a patch posted at |
| https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588372.html |
| |
| * testsuite/libgomp.fortran/allocate-2.f90: New test. |
| |
| 2022-03-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/allocatable-comp.f90: New test. |
| * testsuite/libgomp.fortran/map-alloc-comp-3.f90: New test. |
| * testsuite/libgomp.fortran/map-alloc-comp-4.f90: New test. |
| * testsuite/libgomp.fortran/map-alloc-comp-5.f90: New test. |
| * testsuite/libgomp.fortran/map-alloc-comp-6.f90: New test. |
| * testsuite/libgomp.fortran/map-alloc-comp-7.f90: New test. |
| |
| 2022-02-24 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test. |
| |
| 2022-01-28 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/metadirective-2.c (main): Add |
| expected warning. |
| * testsuite/libgomp.fortran/metadirective-2.f90 (test): Likewise. |
| |
| 2022-01-25 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * Makefile.am (libgomp_la_SOURCES): Add selector.c. |
| * Makefile.am: Regenerate. |
| * config/gcn/selector.c: New. |
| * config/linux/selector.c: New. |
| * config/linux/x86/selector.c: New. |
| * config/nvptx/selector.c: New. |
| * libgomp-plugin.h (GOMP_OFFLOAD_evaluate_device): New. |
| * libgomp.h (struct gomp_device_descr): Add evaluate_device_func field. |
| * libgomp.map (GOMP_5.1): Add GOMP_evaluate_target_device. |
| * libgomp_g.h (GOMP_evaluate_current_device): New. |
| (GOMP_evaluate_target_device): New. |
| * oacc-host.c (host_evaluate_device): New. |
| (host_openacc_exec): Initialize evaluate_device_func field to |
| host_evaluate_device. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_evaluate_device): New. |
| * plugin/plugin-nvptx.c (struct ptx_device): Add compute_major and |
| compute_minor fields. |
| (nvptx_open_device): Read compute capability information from device. |
| (CHECK_ISA): New macro. |
| (GOMP_OFFLOAD_evaluate_device): New. |
| * selector.c: New. |
| * target.c (GOMP_evaluate_target_device): New. |
| (gomp_load_plugin_for_device): Load evaulate_device plugin function. |
| * testsuite/libgomp.c-c++-common/metadirective-5.c: New testcase. |
| * testsuite/libgomp.fortran/metadirective-5.f90: New testcase. |
| |
| 2022-01-25 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/metadirective-1.c: New. |
| * testsuite/libgomp.c-c++-common/metadirective-2.c: New. |
| * testsuite/libgomp.c-c++-common/metadirective-3.c: New. |
| * testsuite/libgomp.c-c++-common/metadirective-4.c: New. |
| * testsuite/libgomp.fortran/metadirective-1.f90: New. |
| * testsuite/libgomp.fortran/metadirective-2.f90: New. |
| * testsuite/libgomp.fortran/metadirective-3.f90: New. |
| * testsuite/libgomp.fortran/metadirective-4.f90: New. |
| |
| 2022-06-21 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * config/nvptx/team.c (gomp_nvptx_main): Initialize shared_pool_size |
| to zero. Do not use dynamic_smem_size register if PTX version lower |
| than 4.1. |
| |
| 2021-12-22 Andrew Stubbs <ams@codesourcery.com> |
| |
| * allocator.c (MEMSPACE_ALLOC): New macro. |
| (MEMSPACE_CALLOC): New macro. |
| (MEMSPACE_REALLOC): New macro. |
| (MEMSPACE_FREE): New macro. |
| (dynamic_smem_size): New constants. |
| (omp_alloc): Use MEMSPACE_ALLOC. |
| Implement fall-backs for predefined allocators. |
| (omp_free): Use MEMSPACE_FREE. |
| (omp_calloc): Use MEMSPACE_CALLOC. |
| Implement fall-backs for predefined allocators. |
| (omp_realloc): Use MEMSPACE_REALLOC. |
| Implement fall-backs for predefined allocators. |
| * config/nvptx/team.c (__nvptx_lowlat_heap_root): New variable. |
| (__nvptx_lowlat_pool): New asm varaible. |
| (gomp_nvptx_main): Initialize the low-latency heap. |
| * plugin/plugin-nvptx.c (lowlat_pool_size): New variable. |
| (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar. |
| (GOMP_OFFLOAD_run): Apply lowlat_pool_size. |
| * config/nvptx/allocator.c: New file. |
| * testsuite/libgomp.c/allocators-1.c: New test. |
| * testsuite/libgomp.c/allocators-2.c: New test. |
| * testsuite/libgomp.c/allocators-3.c: New test. |
| * testsuite/libgomp.c/allocators-4.c: New test. |
| * testsuite/libgomp.c/allocators-5.c: New test. |
| * testsuite/libgomp.c/allocators-6.c: New test. |
| |
| 2022-06-21 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * plugin/cuda-lib.def (cuMemAllocManaged): Add new call. |
| (cuPointerGetAttribute): Likewise. |
| |
| 2021-11-16 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Adjust. |
| * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: Adjust. |
| * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Adjust. |
| * testsuite/libgomp.oacc-fortran/parallel-loop-auto-reduction-2.f90: Removed. |
| |
| 2021-11-16 Andrew Stubbs <ams@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/runtime-alias-check-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/runtime-alias-check-2.c: New test. |
| |
| 2021-11-16 Andrew Stubbs <ams@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: |
| Expect optimization messages. |
| * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. |
| |
| 2021-11-16 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Adjust |
| expectations. |
| |
| 2021-11-16 Frederik Harwath <frederik@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/parallel-loop-auto-reduction-2.f90: |
| New test. |
| |
| 2021-11-16 Frederik Harwath <frederik@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Adjust. |
| * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Adjust. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Adjust. |
| * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Adjust. |
| |
| 2021-11-16 Frederik Harwath <frederik@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Adjust |
| expected output to pass name changes due to the pass |
| reordering and cloning. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: Likewise |
| * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Likewise. |
| |
| 2021-10-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: Compile |
| with -Wopenacc-parallelism. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: Likewise. |
| |
| 2021-08-03 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/bar.h (gomp_barrier_init): Limit thread count to the |
| actual physical number. |
| * config/gcn/team.c (gomp_team_start): Don't attempt to set up |
| threads that do not exist. |
| |
| 2021-06-02 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test. |
| * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test. |
| |
| 2021-03-25 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (__requires_mask_table, __requires_mask_table_end): Add |
| '__attribute__((weak))'. |
| |
| 2021-03-01 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/collapse-4.c: New. |
| * testsuite/libgomp.fortran/collapse5.f90: New. |
| |
| 2021-02-23 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_alloc): Remove early call to |
| nvptx_stacks_free. |
| |
| 2021-02-02 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_supported_features): New declaration. |
| * libgomp.h (struct gomp_device_descr): New 'supported_features_func' |
| plugin hook field. |
| * oacc-host.c (host_supported_features): New host hook function. |
| (host_dispatch): Initialize 'supported_features_func' host hook. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_supported_features): New function. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_features): Likewise. |
| * target.c (<stdio.h>): Add include of standard header. |
| (gomp_requires_mask): New static variable. |
| (__requires_mask_table): New declaration. |
| (__requires_mask_table_end): Likewise. |
| |
| 2021-01-13 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Adjust for loop |
| lowering changes. |
| * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. |
| |
| 2020-07-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: Use |
| highest available integer kind instead of assuming that kind=16 exists. |
| |
| 2020-03-24 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: XFAIL |
| execution test. |
| |
| 2019-09-17 Julian Brown <julian@codesourcery.com> |
| Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c (main): Fix |
| async-safety issue. Increase number of iterations. |
| |
| 2021-04-07 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * oacc-mem.c (goacc_enter_data_internal): Unlock mutex before calling |
| gomp_acc_declare_allocate and relock it afterwards. |
| |
| 2018-10-04 Cesar Philippidis <cesar@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.h (gomp_acc_declare_allocate): Remove prototype. |
| * oacc-mem.c (gomp_acc_declare_allocate): New function. |
| * oacc-parallel.c (goacc_enter_data_internal): Handle |
| GOMP_MAP_DECLARE_ALLOCATE. Pass new pointer argument to |
| gomp_acc_declare_allocate. |
| (goacc_exit_data_internal): Handle GOMP_MAP_DECLARE_DEALLOCATE. |
| Unlock device mutex around gomp_acc_declare_allocate call. Pass |
| new pointer argument. Handle group pointer mapping for deallocate. |
| (find_group_last): Handle GOMP_MAP_DECLARE_ALLOCATE and |
| GOMP_MAP_DECLARE_DEALLOCATE groupings. |
| * testsuite/libgomp.oacc-fortran/allocatable-scalar.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-2.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-4.f90: New test. |
| |
| 2019-09-17 Julian Brown <julian@codesourcery.com> |
| |
| * oacc-host.c (host_openacc_async_queue_callback): Invoke callback |
| function immediately. |
| * oacc-parallel.c (struct async_prof_callback_info, async_prof_dispatch, |
| queue_async_prof_dispatch): New. |
| (GOACC_parallel_keyed): Call queue_async_prof_dispatch for asynchronous |
| profile-event dispatches. |
| (GOACC_update): Likewise. |
| * oacc-mem.c (GOACC_enter_exit_data): Call queue_async_prof_dispatch |
| for asynchronous profile-event dispatches. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c |
| (cb_compute_construct_start): Remove/fix TODO. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c |
| (cb_exit_data_start): Tweak expected state values. |
| (cb_exit_data_end): Likewise. |
| (cb_compute_construct_start): Remove/fix TODO. |
| (cb_compute_construct_end): Don't do adjustments for |
| acc_ev_enqueue_launch_start/acc_ev_enqueue_launch_end callbacks. |
| (cb_compute_construct_end): Tweak expected state values. |
| (cb_enqueue_launch_start, cb_enqueue_launch_end): Don't expect |
| launch-enqueue operations to happen synchronously with respect to |
| profiling events on async streams. |
| (main): Tweak expected state values. |
| * testsuite/libgomp.oacc-c-c++-common/lib-94.c (main): Reorder |
| operations for async-safety. |
| |
| 2019-09-05 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/lib-13.f90: End data region after |
| wait API calls. |
| |
| 2019-08-08 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_exec_params, |
| GOMP_OFFLOAD_openacc_async_exec_params): New functions. |
| |
| 2019-07-31 Julian Brown <julian@codesourcery.com> |
| |
| * config/nvptx/gomp_print.c (gomp_print_string, gomp_print_integer, |
| gomp_print_double): New. |
| |
| 2019-01-23 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Update. |
| |
| 2018-12-20 Maciej W. Rozycki <macro@codesourcery.com> |
| |
| * oacc-init.c (get_property_any): Add profiling code. |
| |
| 2017-02-28 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * Makefile.am (libgomp_la_SOURCES): Add |
| oacc-profiling-acc_register_library.c. |
| * Makefile.in: Regenerate. |
| * libgomp.texi: Remove paragraph about acc_register_library. |
| * oacc-parallel.c (GOACC_parallel_keyed_internal): Set device_api for |
| profiling. |
| * oacc-profiling-acc_register_library.c: New file. |
| * oacc-profiling.c (goacc_profiling_initialize): Call |
| acc_register_library. Avoid duplicate registration. |
| (acc_register_library): Remove. |
| * config/nvptx/oacc-profiling-acc_register_library.c: |
| New empty file. |
| * config/nvptx/oacc-profiling.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: Remove |
| call to acc_register_library. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: Likewise. |
| |
| 2019-05-16 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c: New |
| test. |
| |
| 2019-01-09 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.texi: Update mentions of OpenACC version to 2.6. Update |
| section numbers to match version 2.6 of the spec. |
| |
| 2019-01-30 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: |
| Add "--param=openacc-kernels=parloops". |
| * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: |
| Likewise. |
| |
| 2019-03-19 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/lib-93.c: Adjust target selector. |
| |
| 2018-09-05 Cesar Philippidis <cesar@codesourcery.com> |
| Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/privatize-reduction-1.c: New |
| test. |
| * testsuite/libgomp.oacc-c-c++-common/privatize-reduction-2.c: New |
| test. |
| |
| 2018-09-20 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust test case |
| to conform to the new behavior of the auto clause in OpenACC 2.5. |
| |
| 2018-12-22 Cesar Philippidis <cesar@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| |
| * oacc-parallel.c (GOACC_parallel_keyed): Handle |
| GOMP_MAP_FIRSTPRIVATE_INT host addresses. |
| * plugin/plugin-nvptx.c (nvptx_exec): Handle |
| GOMP_MAP_FIRSTPRIVATE_INT host addresses. |
| * testsuite/libgomp.oacc-c++/firstprivate-int.C: New test. |
| * testsuite/libgomp.oacc-c-c++-common/firstprivate-int.c: New |
| test. |
| * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: New test. |
| |
| 2018-08-28 Julian Brown <julian@codesourcery.com> |
| Cesar Philippidis <cesar@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/pr70828.c: New test. |
| * testsuite/libgomp.oacc-fortran/implicit_copy.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828-2.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828-3.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828-4.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828-5.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828-6.f90: New test. |
| |
| 2018-10-05 Nathan Sidwell <nathan@acm.org> |
| Tom de Vries <tdevries@suse.de> |
| Thomas Schwinge <thomas@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/loop-default-compile.c: New. |
| * testsuite/libgomp.oacc-c-c++-common/loop-warn-1.c: New. |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. |
| |
| 2018-10-22 James Norris <jnorris@codesourcery.com> |
| Cesar Philippidis <cesar@codesourcery.com> |
| Tom de Vries <tom@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/data-3.f90: Update parallel |
| regions to denote variables copyied in via acc enter data as |
| present. |
| * testsuite/libgomp.oacc-c-c++-common/subr.h: Reimplement. |
| * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Regenerated PTX. |
| * testsuite/libgomp.oacc-c-c++-common/timer.h: Removed. |
| * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Change async checks. |
| * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Rework kernel i/f and |
| change async checks. |
| * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Rework kernel i/f and |
| timing checks. |
| * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-93.c: New test. |
| |
| 2018-12-13 Cesar Philippidis <cesar@codesourcery.com> |
| Nathan Sidwell <nathan@acm.org> |
| Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/par-reduction-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt-2.c: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-9.f90: New test. |
| |
| 2018-06-29 Cesar Philippidis <cesar@codesourcery.com> |
| James Norris <jnorris@codesourcery.com> |
| |
| * oacc-parallel.c (GOACC_parallel_keyed): Handle Fortran deviceptr |
| clause. |
| (GOACC_data_start): Likewise. |
| * testsuite/libgomp.oacc-fortran/deviceptr-1.f90: New test. |
| |
| 2019-02-12 Julian Brown <julian@codesourcery.com> |
| |
| * oacc-cuda.c (acc_set_cuda_stream): Return 0 on error/invalid |
| arguments. |
| * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Handle unnumbered |
| async stream being an alias for a numbered async stream. |
| * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. |
| |
| 2020-04-19 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| PR other/76739 |
| |
| * libgomp_g.h (GOACC_data_start): Add variadic '...' to declaration. |
| * libgomp.h (gomp_map_vars_openacc): New function declaration. |
| * oacc-int.h (struct goacc_ncarray_dim): New struct declaration. |
| (struct goacc_ncarray_descr_type): Likewise. |
| (struct goacc_ncarray): Likewise. |
| (struct goacc_ncarray_info): Likewise. |
| (goacc_noncontig_array_create_ptrblock): New function declaration. |
| * oacc-parallel.c (goacc_noncontig_array_count_rows): New function. |
| (goacc_noncontig_array_compute_sizes): Likewise. |
| (goacc_noncontig_array_fill_rows_1): Likewise. |
| (goacc_noncontig_array_fill_rows): Likewise. |
| (goacc_process_noncontiguous_arrays): Likewise. |
| (goacc_noncontig_array_create_ptrblock): Likewise. |
| (GOACC_parallel_keyed): Use goacc_process_noncontiguous_arrays to |
| handle non-contiguous array descriptors at end of varargs, adjust |
| to use gomp_map_vars_openacc. |
| (GOACC_data_start): Likewise. Adjust function type to accept varargs. |
| * target.c (gomp_map_vars_internal): Add struct goacc_ncarray_info * |
| nca_info parameter, add handling code for non-contiguous arrays. |
| (gomp_map_vars_openacc): Add new function for specialization of |
| gomp_map_vars_internal for OpenACC structured region usage. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-2.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-4.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-utils.h: Support |
| header for new tests. |
| |