| 2020-03-25 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * oacc-init.c (acc_init_1): Move 'acc_init_state' logic to where |
| it belongs. |
| |
| 2019-11-22 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/lib-16.f90: Fix async-safety issue. |
| |
| 2019-10-16 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/gangprivate-attrib-1.f90: Use |
| oaccdevlow dump and update scanned output. |
| * testsuite/libgomp.oacc-fortran/gangprivate-attrib-2.f90: Likewise. |
| Add missing atomic to force worker partitioning for test variable. |
| |
| 2019-10-16 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/serial-dims.c: Support AMD GCN. |
| |
| 2019-10-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/use_device_ptr1.f90: New. |
| |
| 2019-09-20 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test. |
| * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test. |
| * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test. |
| |
| 2019-09-19 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_host2dev): |
| Add EPHEMERAL parameter, and FIXME function comment. |
| |
| 2019-09-18 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Fix dg-warning |
| line numbers. |
| * testsuite/libgomp.oacc-c-c++-common/serial-dims.c: Likewise. |
| |
| 2019-09-18 Tobias Burnus <tobias@codesourcery.com> |
| |
| * linux/gomp_print.c (gomp_print_integer): Use PRId64 if available, |
| otherwise cast for %ld. |
| |
| 2019-09-17 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_host2dev): Update |
| prototype. |
| * libgomp.h (gomp_copy_host2dev): Update prototype. |
| * oacc-host.c (host_openacc_async_host2dev): Add ephemeral parameter. |
| * oacc-mem.c (memcpy_tofrom_device): Update call to gomp_copy_host2dev. |
| (update_dev_host): Likewise. |
| * oacc-parallel.c (GOACC_enter_exit_data): Call async versions of |
| acc_attach/acc_detach/acc_detach_finalize functions. |
| * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock |
| aq->mutex here. |
| (queue_push_launch): Lock aq->mutex before calling |
| wait_for_queue_nonfull. |
| (queue_push_callback): Likewise. |
| (queue_push_asyncwait): Likewise. |
| (queue_push_placeholder): Likewise. |
| (GOMP_OFFLOAD_openacc_async_host2dev): Add ephemeral parameter. Copy |
| source data to temporary space immediately if true, and pass to |
| queue_push_copy. |
| (goacc_device_copy_async): Remove. |
| (gomp_copy_host2dev): Add ephemeral parameter. Update function comment. |
| Call async host2dev plugin hook directly. |
| (gomp_copy_dev2host): Call async dev2host plugin hook directly. |
| (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer, |
| gomp_detach_pointer): Update calls to gomp_copy_host2dev. |
| (gomp_map_vars_internal): Don't use coalescing buffer for asynchronous |
| copies. Update calls to gomp_copy_host2dev. |
| (gomp_update): Update calls to gomp_copy_host2dev. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c (main): Fix |
| async-safety issue. Increase number of iterations. |
| * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Fix async-safety issue. |
| |
| 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_enter_exit_data): Likewise. |
| (GOACC_update): Likewise. |
| * 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-17 Julian Brown <julian@codesourcery.com> |
| |
| * target.c (gomp_map_vars_internal): Remove read of uninitialised |
| data. |
| |
| 2019-09-17 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Only run |
| NVidia-specific test on NVidia hardware. |
| * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c (main): |
| Initialise for acc_device_gcn if testing on AMD GCN. |
| * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: Support |
| AMD GCN. |
| * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (check): Skip |
| vector dimension test for AMD GCN. |
| |
| 2019-09-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (hsa_warn, hsa_fatal, hsa_error): Ensure |
| string is initialized. |
| |
| 2019-09-10 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (GOMP_hsa_kernel_dispatch): Remove |
| omp_data_memory, kernel_dispatch_count, debug, omp_level, |
| children_dispatches and omp_num_threads fields. |
| (hsa_kernel_description): Remove omp_data_size, gridified_kernel_p, |
| kernel_dependencies_count, kernel_dependencies fields to match |
| mkoffload output. |
| (kernel_info): Remove omp_data_size, dependencies, dependencies_count, |
| max_omp_data_size and gridified_kernel_p fields. |
| (init_basic_kernel_info): Don't copy newly-deleted fields. |
| (create_single_kernel_dispatch): Remove omp_data_size parameter. |
| Remove write-only initialization of deleted GOMP_hsa_kernel_dispatch |
| fields. |
| (release_kernel_dispatch): Update debug output. Don't free deleted |
| omp_data_memory field. |
| (init_single_kernel): Remove max_omp_data_size parameter. Remove deleted |
| fields from debug output. |
| (print_kernel_dispatch): Don't print deleted fields. |
| (create_kernel_dispatch): Remove omp_data_size parameter. |
| (init_kernel): Update calls to init_single_kernel and |
| create_kernel_dispatch. |
| |
| 2019-09-10 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (struct placeholder, struct asyncwait_info, |
| enum entry_type): New. |
| (queue_entry): Use entry_type enum for tag. Add asyncwait and |
| placeholder event type fields. |
| (wait_for_queue_nonfull): New function. |
| (queue_push_launch): Use above function instead of raising a fatal |
| error on queue-full condition. Use KERNEL_LAUNCH instead of hardwired |
| 0. |
| (queue_push_callback): Use wait_for_queue_nonfull instead of open-coded |
| wait sequence. Use CALLBACK instead of hardwired 1. |
| (queue_push_asyncwait, queue_push_placeholder): New. |
| (execute_queue_entry): Implement ASYNC_WAIT and ASYNC_PLACEHOLDER event |
| types. |
| (GOMP_OFFLOAD_openacc_async_serialize): Use queue_push_placeholder and |
| queue_push_asyncwait instead of host-synchronized wait_queue calls. |
| * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c (main): Add missing |
| asynchronous waits. |
| * testsuite/libgomp.oacc-c-c++-common/data-2.c (main): Likewise. |
| |
| 2019-09-10 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_async_host2dev): Enqueue |
| copy from src_copy not src. |
| |
| 2019-09-10 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * config/gcn/team.c (gomp_gcn_exit_kernel): Free GCN thread list. |
| |
| 2019-09-10 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Define. |
| (dump_hsa_agent_info): Dump compute unit count. |
| (get_cu_count): New function. |
| (parse_target_attributes): Use get_cu_count for default gdims. |
| (gcn_exec): Likewise. |
| |
| 2019-09-10 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (obstack_chunk_alloc): Delete. |
| (obstack_chunk_free): Delete. |
| (obstack.h): Remove include. |
| (create_and_finalize_hsa_program): Remove all unmodified_sections_os |
| and use sections directly from the issue. |
| Use "or 0x80" instead of SHT_NOTE to hide relocations, and then |
| simply recognise that ourselves. |
| |
| 2019-09-09 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (struct hsa_runtime_fn_info): Add |
| hsa_memory_assign_agent_fn. |
| (struct agent_info): Add data_region. |
| (init_hsa_runtime_functions): Initialize hsa_memory_assign_agent. |
| (get_kernarg_memory_region): Move contents to new function ... |
| (get_memory_region): ... here. |
| (get_data_memory_region): New function. |
| (GOMP_OFFLOAD_get_property): Use data_region, not kernarg_region. |
| (GOMP_OFFLOAD_init_device): Initialize data_region. |
| (create_and_finalize_hsa_program): Use data_region, not |
| kernarg_region, and assign heap to device agent. |
| (GOMP_OFFLOAD_alloc_by_agent): Likewise. |
| (image_address_p): Delete function. |
| (struct copy_data): Remove use_hsa_memory_copy. |
| (copy_data): Always use hsa_memory_copy. |
| (queue_push_copy): Remove use_hsa_memory_copy. |
| (GOMP_OFFLOAD_dev2host): Always use hsa_memory_copy. |
| (GOMP_OFFLOAD_host2dev): Likewise. |
| (GOMP_OFFLOAD_dev2dev): Likewise. |
| (gcn_exec): Use hsa_memory_copy. |
| (GOMP_OFFLOAD_openacc_async_host2dev): Always use hsa_memory_copy. |
| (GOMP_OFFLOAD_openacc_async_dev2host): Likewise. |
| |
| 2019-09-06 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_alloc_by_agent, |
| GOMP_OFFLOAD_free, gcn_exec): Add profiling support. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Add GCN |
| support. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. |
| |
| 2019-09-06 Julian Brown <julian@codesourcery.com> |
| |
| * config/gcn/target.c (omp_pause_resource, omp_pause_resource_all): New |
| functions, plus ialiases. |
| |
| 2019-09-05 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to |
| 16. |
| |
| 2019-09-05 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/lib-13.f90: End data region after |
| wait API calls. |
| |
| 2019-08-13 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (queue_push_callback): Wait on queue-full |
| condition. |
| |
| 2019-08-13 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (struct copy_data): Add using_src_copy field. |
| (copy_data): Free temporary buffer if using. |
| (queue_push_copy): Add using_src_copy parameter. |
| (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_async_dev2host): Update calls to |
| queue_push_copy. |
| (GOMP_OFFLOAD_async_host2dev): Likewise. Allocate temporary buffer and |
| copy source data to it immediately. |
| * target.c (gomp_copy_host2dev): Update function comment. |
| (copy_host2dev_immediate): Remove. |
| (gomp_map_pointer, gomp_map_vars_internal): Replace calls to |
| copy_host2dev_immediate with calls to gomp_copy_host2dev. |
| |
| 2019-08-08 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/plugin-gcn.c (gcn_exec): Use 1 for the default number of |
| workers. |
| |
| 2019-08-08 Julian Brown <julian@codesourcery.com> |
| |
| * plugin/configfrag.ac (amdgcn): Set tgt_plugin. |
| * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): |
| Add AMD GCN support. |
| (check_effective_target_openacc_amdgcn_accel_selected): Test |
| offload_target instead of offload_target_openacc. |
| * testsuite/libgomp.oacc-c++/c++.exp (amdgcn*): Rename stanza to... |
| (gcn): ...this. Don't set tagopt redundantly here. |
| * testsuite/libgomp.oacc-c/c.exp (amdgcn*, gcn): Likewise. |
| * testsuite/libgomp.oacc-fortran/fortran.exp (amdgcn*, gcn): Likewise. |
| * configure: Regenerated. |
| |
| 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> |
| |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Use relative |
| line numbers for warning. |
| * testsuite/libgomp.oacc-c-c++-common/serial-dims.c: Likewise. |
| |
| 2019-07-31 Julian Brown <julian@codesourcery.com> |
| |
| * config/nvptx/gomp_print.c (gomp_print_string, gomp_print_integer, |
| gomp_print_double): New. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add |
| dummy device parameter. |
| |
| 2019-07-31 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.map (GOMP_2.0.GOMP_4_BRANCH): Remove GOACC_parallel_keyed_v2. |
| * libgomp_g.h (GOACC_parallel_keyed_v2): Remove prototype. |
| * oacc-parallel.c (GOACC_parallel_keyed_internal): Rename to... |
| (GOACC_parallel_keyed): ...this. Handle GOMP_LAUNCH_ARGS_EXPLODED |
| launch tag. Remove previous wrapper functions. |
| (GOACC_parallel_keyed_v2): Remove. |
| |
| 2019-07-31 Julian Brown <julian@codesourcery.com> |
| Andrew Stubbs <ams@codesourcery.com> |
| |
| * Makefile.am (libgomp_la_SOURCES): Add gomp_print.c. |
| * Makefile.in: Regenerate. |
| * affinity-fmt.c: Rename calls to gomp_write_string from |
| gomp_print_string. |
| * config.h.in (PLUGIN_GCN): Add #undef. |
| * config/nvptx/libgomp-plugin.c: Rename to... |
| * config/accel/libgomp-plugin.c: ...this. |
| * config/nvptx/lock.c: Rename to... |
| * config/accel/lock.c: ...this. |
| * config/nvptx/mutex.c: Rename to... |
| * config/accel/mutex.c: ...this. |
| * config/nvptx/mutex.h: Rename to... |
| * config/accel/mutex.h: ...this. |
| * config/nvptx/oacc-async.c: Rename to... |
| * config/accel/oacc-async.c: ...this. |
| * config/nvptx/oacc-cuda.c: Rename to... |
| * config/accel/oacc-cuda.c: ...this. |
| * config/nvptx/oacc-host.c: Rename to... |
| * config/accel/oacc-host.c: ...this. |
| * config/nvptx/oacc-init.c: Rename to... |
| * config/accel/oacc-init.c: ...this. |
| * config/nvptx/oacc-mem.c: Rename to... |
| * config/accel/oacc-mem.c: ...this. |
| * config/nvptx/oacc-plugin.c: Rename to... |
| * config/accel/oacc-plugin.c: ...this. |
| * config/nvptx/omp-lock.h: Rename to... |
| * config/accel/omp-lock.h: ...this. |
| * config/nvptx/openacc.f90: Rename to... |
| * config/accel/openacc.f90: ...this. Add acc_device_hsa and |
| acc_device_gcn. |
| * config/nvptx/pool.h: Rename to... |
| * config/accel/pool.h: ...this. |
| * config/nvptx/proc.c: Rename to... |
| * config/accel/proc.c: ...this. Add omp_get_num_procs alias. |
| * config/nvptx/ptrlock.c: Rename to... |
| * config/accel/ptrlock.c: ...this. |
| * config/nvptx/ptrlock.h: Rename to... |
| * config/accel/ptrlock.h: ...this. |
| * config/nvptx/sem.c: Rename to... |
| * config/accel/sem.c: ...this. |
| * config/nvptx/sem.h: Rename to... |
| * config/accel/sem.h: ...this. |
| * config/nvptx/thread-stacksize.h: Rename to... |
| * config/accel/thread-stacksize.h: ...this. |
| * config/gcn/affinity-fmt.c: New. |
| * config/gcn/bar.c: New. |
| * config/gcn/bar.h: New. |
| * config/gcn/doacross.h: New. |
| * config/gcn/gomp_print.c: New. |
| * config/gcn/icv-device.c: New. |
| * config/gcn/simple-bar.h: New. |
| * config/gcn/target.c: New. |
| * config/gcn/task.c: New. |
| * config/gcn/team.c: New. |
| * config/gcn/time.c: New. |
| * config/linux/gomp_print.c: New. |
| * configure.ac (amdgcn*-*-*): Disable pthreads. |
| * configure: Regenerated. |
| * configure.tgt (nvptx*-*-*): Add 'accel' config_path. |
| (amdgcn*-*-*): Set config_path. |
| * fortran.c (omp_display_affinity_): Rename calls to gomp_write_string |
| from gomp_print_string. |
| * libgomp-plugin.h (enum offload_target_type): Add |
| OFFLOAD_TARGET_TYPE_GCN. |
| (GOMP_OFFLOAD_openacc_async_construct): Change parameter type to int. |
| * libgomp.h (gcn_thrs, set_gcn_thrs, gomp_thread): Add for __AMDGCN__. |
| (gomp_print_string): Rename to... |
| (gomp_write_string): ...this. |
| * libgomp.map (GOMP_4.5): Add gomp_rpint_string, gomp_print_integer, |
| gomp_print_double. |
| * oacc-async.c (lookup_goacc_asyncqueue): Pass target_id to async queue |
| construct function. |
| * oacc-host.c (host_openacc_async_construct): Add dummy device |
| parameter. |
| * oacc-init.c (name_of_acc_device_t): Add acc_device_gcn. |
| * oacc-int.h (goacc_thread): Add dummy implementation for __AMDGCN__. |
| * oacc-parallel.c (GOACC_enter_exit_data): Support acc_async_noval and |
| zero-length array sections. |
| * omp.h.in (gomp_print_string, gomp_print_integer, gomp_print_double): |
| Add prototypes. |
| * omp_lib.f90.in (gomp_print_string, gomp_print_integer, |
| gomp_print_double): Add interfaces. |
| * openacc.f90 (openacc_kinds): Add acc_device_gcn. Bump |
| acc_device_current code. |
| * openacc.h (acc_device_t): Add acc_device_gcn, bump acc_device_current |
| code. |
| * openacc_lib.h (acc_device_hsa, acc_device_gcn): Add. |
| * plugin/Makefrag.am (PLUGIN_GCN): Support building GCN plugin. |
| * plugin/configfrag.am (PLUGIN_GCN, PLUGIN_GCN_CPPFLAGS, |
| PLUGIN_GCN_LDFLAGS, PLUGIN_GCN_LIBS): Add. Add suport for GCN plugin. |
| * plugin/plugin-gcn.c: New. |
| * target.c (stdio.h): Include unconditionally. |
| (gomp_copy_host2dev): Add function comment. |
| (copy_host2dev_immediate): New function. |
| (gomp_map_pointer, gomp_map_vars_internal): Use |
| copy_host2dev_immediate where appropriate. |
| (offload_target_to_plugin_name): Support gcn. |
| * team.c (gomp_free_pool_helper): Support gcn. |
| * testsuite/Makefile.in: Regenerated. |
| * testsuite/lib/libgomp.exp |
| (check_effective_target_openacc_amdgcn_accel_present): New. |
| (check_effective_target_openacc_amdgcn_accel_selected): New. |
| * testsuite/libgomp.c/c.exp (generate_tests, test_lists, |
| generated_tests): New. |
| (tests): Add generated tests. |
| * testsuite/libgomp.c/for-1.h: New. |
| * testsuite/libgomp.c/for-2.h: New. |
| * testsuite/libgomp.c/for-3.h: New. |
| * testsuite/libgomp.c/for-3.list: New. |
| * testsuite/libgomp.c/for-5.c: New. |
| * testsuite/libgomp.c/for-5.list: New. |
| * testsuite/libgomp.c/for-6.c: New. |
| * testsuite/libgomp.c/for-6.list: New. |
| * testsuite/libgomp.c/target-print-1.c: New. |
| * testsuite/libgomp.fortran/target-print-1.f90: New. |
| * testsuite/libgomp.oacc-c++/c++.exp (amdgcn*): Add support for AMD GCN. |
| * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Adjust for |
| portability. |
| * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip unsuitable |
| test for AMD GCN. |
| * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Adjust for |
| portability. |
| * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. |
| * 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-v-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.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-v-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/serial-dims.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/private-variables-2.c: New. |
| * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Skip for AMD GCN. |
| * testsuite/libgomp.oacc-c/c.exp (amdgcn*): Add support for AMD GCN. |
| * testsuite/libgomp.oacc-c/offload-target-1.c: Add AMD GCN support. |
| * testsuite/libgomp.oacc-c/print-1.c: New. |
| * testsuite/libgomp.oacc-fortran/fortran.exp (amdgcn*): Add AMD GCN |
| support. |
| * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Adjust for |
| portability. |
| * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/error_stop-1.f: Support AMD GCN. |
| * testsuite/libgomp.oacc-fortran/error_stop-2.f: Support AMD GCN. |
| * testsuite/libgomp.oacc-fortran/error_stop-3.f: Support AMD GCN. |
| * testsuite/libgomp.oacc-fortran/print-1.f90: 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-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * acc_prof.h: New file. |
| * oacc-profiling.c: Likewise. |
| * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): |
| Add these, respectively. |
| * Makefile.in: Regenerate. |
| * env.c (initialize_env): Call goacc_profiling_initialize. |
| * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) |
| (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. |
| * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) |
| (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. |
| * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, |
| acc_prof_register, acc_prof_unregister, and acc_register_library. |
| (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and |
| GOMP_PLUGIN_goacc_thread. |
| * oacc-int.h (struct goacc_thread): Add prof_info, api_info, |
| prof_callbacks_enabled members. |
| (goacc_prof_enabled, goacc_profiling_initialize) |
| (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) |
| (goacc_profiling_dispatch): Declare. |
| (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) |
| (GOACC_PROFILING_SETUP_P): Define. |
| * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) |
| (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for |
| OpenACC Profiling Interface. |
| * oacc-cuda.c (acc_get_current_cuda_device) |
| (acc_get_current_cuda_context, acc_get_cuda_stream) |
| (acc_set_cuda_stream): Likewise. |
| * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) |
| (acc_init, acc_set_device_type, acc_get_device_type) |
| (acc_get_device_num, goacc_lazy_initialize): Likewise. |
| * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) |
| (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) |
| (acc_unmap_data, present_create_copy, delete_copyout) |
| (update_dev_host): Likewise. |
| * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) |
| (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): |
| Likewise. |
| * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) |
| (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): |
| Likewise. |
| * libgomp.texi: Update. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New |
| file. |
| * 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-07-10 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * target.c (gomp_load_image_to_device): Allow the accelerator to |
| possess more offloaded functions than the host. |
| |
| 2019-07-10 Julian Brown <julian@codesourcery.com> |
| |
| * oacc-parallel.c (GOACC_enter_exit_data): Fix optional arguments for |
| changes to clause stripping in enter data/exit data directives. |
| * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. |
| * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. |
| * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. |
| * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. |
| * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. |
| * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. |
| |
| 2019-05-28 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/gangprivate-attrib-2.f90: New test. |
| |
| 2019-01-30 Andrew Jenner <andrew@codesourcery.com> |
| |
| * testsuite/libgomp.fortan/fortran.exp (lang_link_flags): Add |
| -lquadmath. |
| * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Add |
| -lquadmath. |
| |
| 2019-05-30 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * libgomp_g.h: Include stdint.h instead of gstdint.h. |
| |
| 2019-05-20 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Expect |
| "optimized:" not "note:" in warnings. |
| * testsuite/libgomp.oacc-c-c++-common/serial-dims.c: Fix typos in |
| warnings. |
| |
| 2019-05-16 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c: New |
| test. |
| |
| 2019-05-16 Julian Brown <julian@codesourcery.com> |
| |
| * target.c (gomp_map_vars_async): Initialise KEY and OFFSET fields in |
| not-present case. |
| |
| 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. |
| * openacc.f90 (openacc_version): Update to 201711. |
| * openacc_lib.h (openacc_version): Update to 201711. |
| * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected |
| openacc_version to 201711. |
| * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. |
| |
| 2019-01-23 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: |
| Update. |
| * testsuite/libgomp.oacc-c-c++-common/avoid-offloading-1.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/avoid-offloading-2.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/avoid-offloading-3.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/avoid-offloading-1.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/avoid-offloading-2.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/avoid-offloading-3.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/initialize_kernels_loops.f90: |
| Likewise. |
| |
| 2019-01-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: New |
| file. |
| |
| 2019-01-30 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: |
| Add "-fopenacc-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. |
| |
| 2018-12-20 Maciej W. Rozycki <macro@codesourcery.com> |
| |
| * libgomp.h (gomp_device_descr): Add `get_property_func' member. |
| * libgomp-plugin.h (gomp_device_property_value): New union. |
| (gomp_device_property_value): New prototype. |
| * openacc.h (acc_device_t): Add `acc_device_current' enumeration |
| constant. |
| (acc_device_property_t): New enum. |
| (acc_get_property, acc_get_property_string): New prototypes. |
| * oacc-init.c (acc_get_device_type): Also assert on |
| `!acc_device_current' result. |
| (get_property_any, acc_get_property, acc_get_property_string): |
| New functions. |
| * openacc.f90 (openacc_kinds): From `iso_fortran_env' also |
| import `int64'. Add `acc_device_current' and |
| `acc_property_memory', `acc_property_free_memory', |
| `acc_property_name', `acc_property_vendor' and |
| `acc_property_driver' constants. Add `acc_device_property' data |
| type. |
| (openacc_internal): Add `acc_get_property' and |
| `acc_get_property_string' interfaces. Add `acc_get_property_h', |
| `acc_get_property_string_h', `acc_get_property_l' and |
| `acc_get_property_string_l'. |
| (openacc_c_string): New module. |
| * oacc-host.c (host_get_property): New function. |
| (host_dispatch): Wire it. |
| * target.c (gomp_load_plugin_for_device): Handle `get_property'. |
| * libgomp.map (OACC_2.6): Add `acc_get_property', |
| `acc_get_property_h_', `acc_get_property_string' and |
| `acc_get_property_string_h_' symbols. |
| * libgomp.texi (OpenACC Runtime Library Routines): Add |
| `acc_get_property'. |
| (acc_get_property): New node. |
| |
| * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. |
| * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', |
| `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' |
| calls. |
| (GOMP_OFFLOAD_get_property): New function. |
| |
| * testsuite/libgomp.oacc-c-c++-common/acc-get-property.c: New |
| test. |
| * testsuite/libgomp.oacc-fortran/acc-get-property.f: New test. |
| |
| 2018-12-19 Julian Brown <julian@codesourcery.com> |
| Maciej W. Rozycki <macro@codesourcery.com> |
| |
| * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. |
| |
| * testsuite/libgomp.oacc-c-c++-common/nocreate-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/nocreate-2.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/nocreate-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/nocreate-4.c: New test. |
| * testsuite/libgomp.oacc-fortran/nocreate-1.f90: New test. |
| * testsuite/libgomp.oacc-fortran/nocreate-2.f90: New test. |
| |
| 2018-12-20 Maciej W. Rozycki <macro@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/serial-dims.c: New test. |
| |
| 2017-12-21 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * Makefile.am: Add libffi build dependency. |
| * configure.ac: Likewise. |
| * Makefile.in: Regenerate. |
| * config.h.in: Regenerate. |
| * configure: Regenerate. |
| * libgomp-plugin.h: Define GOMP_OFFLOAD_openacc_exec_params and |
| GOMP_OFFLOAD_openacc_async_exec_params. |
| * libgomp.h (acc_dispatch_t): Use them here. |
| * libgomp.map (GOACC_parallel_keyed_v2): Declare. |
| * libgomp_g.h (GOACC_parallel_keyed_v2): Likewise. |
| * oacc-host.c (host_openacc_exec_params): New function. |
| (host_openacc_async_exec_params): Likewise. |
| * oacc-parallel.c (goacc_call_host_fn): Likewise. |
| (GOACC_parallel_keyed_internal): Likewise. |
| (GOACC_parallel_keyed): Wrapper for GOACC_parallel_keyed_internal. |
| (GOACC_parallel_keyed_v2): Likewise. |
| * plugin/plugin-nvptx.c (nvptx_exec): Replace CUDeviceptr dp parameter |
| with void **kargs. |
| (openacc_exec_internal): New function. |
| (GOMP_OFFLOAD_openacc_exec_params): New function. |
| (GOMP_OFFLOAD_openacc_exec): Update to call openacc_exec_internal. |
| (openacc_async_exec_internal): New function. |
| (GOMP_OFFLOAD_openacc_async_exec_params): New function. |
| (GOMP_OFFLOAD_openacc_async_exec): Update call to |
| openacc_async_exec_internal. |
| * target.c (gomp_load_plugin_for_device): Handle |
| openacc_exec_params and openacc_async_exec_params. |
| * testsuite/Makefile.in: Regenerate. |
| * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: |
| Xfail on offloaded targets. |
| |
| * Makefile.def: Bootstrap module libffi. Add libffi dependency |
| to all-target-libgomp. |
| * Makefile.in: Regenerate. |
| * configure.ac: Add libffi to bootstrap_target_libs when libgomp |
| is bootstrapped. |
| * configure: Regenerate. |
| |
| 2018-12-21 Gergö Barany <gergo@codesourcery.com> |
| |
| * libgomp.h (enum gomp_map_vars_kind): Add |
| GOMP_MAP_VARS_OPENACC_IF_PRESENT. |
| * oacc-parallel.c (GOACC_data_start): Handle |
| GOACC_FLAG_HOST_DATA_IF_PRESENT flag. |
| * target.c (gomp_map_vars_async): Handle |
| GOMP_MAP_VARS_OPENACC_IF_PRESENT mapping kind. |
| * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. |
| |
| 2018-12-20 Gergö Barany <gergo@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: |
| Add missing reduction clauses. |
| * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: |
| Likewise. |
| |
| 2019-01-30 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/optional-cache.f95 |
| * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90 |
| * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90 |
| * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90 |
| * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90 |
| * testsuite/libgomp.oacc-fortran/optional-declare.f90 |
| * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90 |
| * testsuite/libgomp.oacc-fortran/optional-host_data.f90 |
| * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90 |
| * testsuite/libgomp.oacc-fortran/optional-private.f90 |
| * testsuite/libgomp.oacc-fortran/optional-reduction.f90 |
| * testsuite/libgomp.oacc-fortran/optional-update-device.f90 |
| * testsuite/libgomp.oacc-fortran/optional-update-host.f90 |
| |
| 2019-01-30 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * oacc-mem.c (update_dev_host): Return early if the host address |
| is NULL. |
| * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove. |
| * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. |
| |
| 2018-12-11 Julian Brown <julian@codesourcery.com> |
| Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/gang-private-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New test. |
| * testsuite/libgomp.oacc-c/pr85465.c: New test. |
| * testsuite/libgomp.oacc-fortran/gangprivate-attrib-1.f90: New test.kk |
| |
| 2019-03-19 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/lib-93.c: Adjust target selector. |
| |
| 2018-09-20 Tom de Vries <tdevries@suse.de> |
| Cesar Philippidis <cesar@codesourcery.com> |
| |
| * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): |
| New variable. |
| (acc_init_1): Set acc_init_thread to pthread_self (). Set |
| acc_init_state to initializing at the start, and to initialized at the |
| end. |
| (self_initializing_p): New function. |
| (acc_get_device_type): Return acc_device_none if called by thread that |
| is currently executing acc_init_1. |
| |
| 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-10-04 Cesar Philippidis <cesar@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| |
| * oacc-mem.c (gomp_acc_declare_allocate): New function. |
| * oacc-parallel.c (GOACC_enter_exit_data): Handle |
| GOMP_MAP_DECLARE_{ALLOCATE,DEALLOCATE}. |
| * testsuite/libgomp.oacc-fortran/allocatable-array.f90: New test. |
| * 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. |
| |
| 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-g-1.c: Add -w. |
| * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-warn-1.c: New. |
| * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. |
| * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/private-variables.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. |
| * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-default-compile.c: New. |
| |
| 2018-10-22 James Norris <jnorris@codesourcery.com> |
| Cesar Philippidis <cesar@codesourcery.com> |
| Tom de Vries <tom@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update parallel |
| regions to denote variables copyied in via acc enter data as |
| present. |
| * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. |
| * 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-71.c: Rework kernel i/f. |
| * 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-77.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-80.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> |
| |
| * libgomp.oacc-c-c++-common/par-reduction-3.c: New test. |
| * libgomp.oacc-c-c++-common/reduction-cplx-flt-2.c: New test. |
| * 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/common-block-1.f90: New test. |
| * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. |
| * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. |
| * 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. |
| |
| 2018-10-02 Thomas Schwinge <thomas@codesourcery.com> |
| Cesar Philippidis <cesar@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/routine-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/routine-bind-nohost-1.c: |
| Update test. |
| * testsuite/libgomp.oacc-fortran/routine-6.f90: Likewise. |
| |
| 2018-10-16 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/da-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/da-2.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/da-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/da-4.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/da-utils.h: New test. |
| |
| 2018-10-16 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * target.c (struct da_dim): New struct declaration. |
| (struct da_descr_type): Likewise. |
| (struct da_info): Likewise. |
| (gomp_dynamic_array_count_rows): New function. |
| (gomp_dynamic_array_compute_info): Likewise. |
| (gomp_dynamic_array_fill_rows_1): Likewise. |
| (gomp_dynamic_array_fill_rows): Likewise. |
| (gomp_dynamic_array_create_ptrblock): Likewise. |
| (gomp_map_vars): Add code to handle dynamic array map kinds. |
| |
| 2019-01-31 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. |
| * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. |
| |
| 2018-11-28 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.h (RC_CHECKING): New macro, disabled by default, guarding all |
| hunks in this patch. |
| (target_mem_desc): Add forward declaration. |
| (async_tgt_use): New struct. |
| (target_mem_desc): Add refcount_chk, mark fields. |
| (acc_dispatch_t): Add tgt_uses, au_lock fields. |
| (dump_tgt, gomp_rc_check): Add prototypes. |
| * oacc-async (goacc_async_unmap_tgt): Add refcount self-check code. |
| (goacc_async_copyout_unmap_vars): Likewise. |
| (goacc_remove_var_async): Likewise. |
| * oacc-parallel.c (GOACC_parallel_keyed_internal): Add refcount |
| self-check code. |
| (GOACC_data_start, GOACC_data_end, GOACC_enter_exit_data): Likewise. |
| * target.c (stdio.h): Include. |
| (dump_tgt, rc_check_clear, rc_check_count, rc_check_verify) |
| (gomp_rc_check): New functions to consistency-check reference counts. |
| (gomp_target_init): Initialise self-check-related device fields. |
| |
| 2018-12-14 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.h (struct target_var_desc): Add do_detach flag. |
| (VREFCOUNT_LINK_KEY): New macro. |
| (struct splay_tree_key_s): Put link_key and new attach_count field into |
| a new union. Substitute dynamic_refcount field for virtual_refcount. |
| (struct acc_dispatch_t): Remove data_environ field. |
| (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. |
| (gomp_acc_insert_pointer): Remove prototype. |
| (gomp_acc_remove_pointer): Update prototype. |
| (struct gomp_coalesce_buf): Add forward declaration. |
| (gomp_map_val, gomp_attach_pointer, gomp_detach_pointer): Add |
| prototypes. |
| * libgomp.map (OACC_2.6): New section. Add acc_attach, acc_attach_async, |
| acc_detach, acc_detach_async, acc_detach_finalize, |
| acc_detach_finalize_async. |
| * oacc-async.c (goacc_remove_var_async): New function. |
| * oacc-host.c (host_dispatch): Don't initialise removed data_environ |
| field. |
| * oacc-init.c (acc_shutdown_1): Use gomp_remove_var instead of |
| gomp_unmap_vars to remove mappings by splay tree key instead of target |
| memory descriptor. |
| * oacc-int.h (splay_tree_key_s): Add forward declaration. |
| (goacc_remove_var_async): Add prototype. |
| * oacc-mem.c (lookup_dev_1): New function. |
| (lookup_dev): Reimplement using above. |
| (acc_free, acc_hostptr): Update calls to lookup_dev. |
| (acc_map_data): Likewise. Don't add to data_environ list. |
| (acc_unmap_data): Remove call to gomp_unmap_vars. Fix semantics to |
| remove mapping, but not mapped data. |
| (present_create_copy): Use virtual_refcount instead of |
| dynamic_refcount. Don't manipulate data_environ. Fix target pointer |
| return value. |
| (delete_copyout): Update for virtual_refcount semantics. Use |
| goacc_remove_var_async for asynchronous delete/copyouts. |
| (gomp_acc_insert_pointer): Remove function. |
| (gomp_acc_remove_pointer): Reimplement. |
| (acc_attach_async, acc_attach, goacc_detach_internal, acc_detach) |
| (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): New |
| functions. |
| * oacc-parallel.c (find_pointer): Support attach/detach. Make a little |
| more strict. |
| (GOACC_parallel_keyed): Use gomp_map_val to calculate device addresses. |
| (GOACC_enter_exit_data): Support attach/detach and GOMP_MAP_STRUCT. |
| Don't call gomp_acc_insert_pointer. |
| * openacc.h (acc_attach, acc_attach_async, acc_detach) |
| (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add |
| prototypes. |
| * target.c (gomp_map_vars_existing): Initialise do_detach field of |
| tgt_var_desc. |
| (gomp_attach_pointer, gomp_detach_pointer): New functions. |
| (gomp_map_val): Make global. |
| (gomp_map_vars_async): Handle GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update |
| for virtual_refcount semantics. Support attach and detach. |
| (gomp_remove_var): Free attach count array if present. |
| (gomp_unmap_vars_async): Support detach and update for virtual_refcount |
| semantics. Disambiguate link_key/attach_count using virtual_refcount |
| with magic value as a tag. |
| (gomp_load_image_to_device): Zero-initialise virtual_refcount fields. |
| (gomp_free_memmap): Remove function. |
| (gomp_exit_data): Check virtual_refcount for tag value before using |
| link_key. |
| (omp_target_associate_ptr): Zero-initialise virtual_refcount and |
| link_key splay tree key fields. |
| (gomp_target_init): Don't initialise removed data_environ field. |
| * testsuite/libgomp.oacc-c-c++-common/context-2.c: Use correct API to |
| deallocate acc_copyin'd data. |
| * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-1.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-2.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-3.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-4.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-5.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-6.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-7.c: New test. |
| * testsuite/libgomp.oacc-fortran/deep-copy-8.c: New test. |
| * testsuite/libgomp.oacc-fortran/data-2.f90: Update test. |
| * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. |
| * testsuite/libgomp.oacc-fortran/update-2.f90: New test. |
| |
| 2018-11-10 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. |
| * target.c (FIELD_TGT_EMPTY): Define. |
| (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write |
| as switch instead of list of ifs. |
| (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. |
| |
| 2019-02-26 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * target.c (goacc_device_copy_async): New function. |
| (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, |
| add goacc_device_copy_async case. |
| (gomp_copy_dev2host): Likewise. |
| (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. |
| (gomp_map_pointer): Likewise. |
| (gomp_map_fields_existing): Likewise. |
| (gomp_map_vars_internal): New always_inline function, renamed from |
| gomp_map_vars. |
| (gomp_map_vars): Implement by calling gomp_map_vars_internal. |
| (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, |
| passing goacc_asyncqueue argument. |
| (gomp_unmap_tgt): Remove statis, add attribute_hidden. |
| (gomp_unmap_vars_internal): New always_inline function, renamed from |
| gomp_unmap_vars. |
| (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. |
| (gomp_unmap_vars_async): Implement by calling gomp_unmap_vars_internal, |
| passing goacc_asyncqueue argument. |
| (gomp_fini_device): New function. |
| (gomp_exit_data): Adjust gomp_copy_dev2host call. |
| (gomp_load_plugin_for_device): Remove old interface, adjust to load |
| new async interface. |
| (gomp_target_fini): Adjust code to call gomp_fini_device. |
| |
| * oacc-async.c (get_goacc_thread): New function. |
| (get_goacc_thread_device): New function. |
| (lookup_goacc_asyncqueue): New function. |
| (validate_async_val): New function. |
| (lookup_goacc_asyncqueue): New function. |
| (get_goacc_asyncqueue): New function. |
| (acc_async_test): Adjust code to use new async design. |
| (acc_async_test_all): Likewise. |
| (acc_wait): Likewise. |
| (acc_wait_async): Likewise. |
| (acc_wait_all): Likewise. |
| (acc_wait_all_async): Likewise. |
| (acc_get_default_async): New API function. |
| (acc_set_default_async): Likewise. |
| (goacc_async_unmap_tgt): New function. |
| (goacc_async_copyout_unmap_vars): Likewise. |
| (goacc_async_free): Likewise. |
| (goacc_init_asyncqueues): Likewise. |
| (goacc_fini_asyncqueues): Likewise. |
| |
| * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async |
| design. |
| (acc_set_cuda_stream): Likewise. |
| |
| * oacc-host.c (host_version): Update to return GOMP_PLUGIN_IF_VERSION. |
| (host_openacc_exec): Adjust parameters, remove 'async'. |
| (host_openacc_register_async_cleanup): Remove. |
| (host_openacc_async_exec): New function. |
| (host_openacc_async_test): Adjust parameters. |
| (host_openacc_async_test_all): Remove. |
| (host_openacc_async_wait): Remove. |
| (host_openacc_async_wait_async): Remove. |
| (host_openacc_async_wait_all): Remove. |
| (host_openacc_async_wait_all_async): Remove. |
| (host_openacc_async_set_async): Remove. |
| (host_openacc_async_synchronize): New function. |
| (host_openacc_async_serialize): New function. |
| (host_openacc_async_host2dev): New function. |
| (host_openacc_async_dev2host): New function. |
| (host_openacc_async_queue_callback): New function. |
| (host_openacc_async_construct): New function. |
| (host_openacc_async_destruct): New function. |
| (struct gomp_device_descr host_dispatch): Remove initialization of old |
| interface, add intialization of new async sub-struct. |
| |
| * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. |
| (goacc_attach_host_thread_to_device): Remove old async code usage, add |
| initialization of per-thread default_async. |
| |
| * oacc-int.h (goacc_init_asyncqueues): New declaration. |
| (goacc_fini_asyncqueues): Likewise. |
| (goacc_async_free): Likewise. |
| (get_goacc_asyncqueue): Likewise. |
| (lookup_goacc_asyncqueue): Likewise. |
| |
| * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async |
| design. |
| (present_create_copy): Likewise. |
| (delete_copyout): Likewise. |
| (update_dev_host): Likewise. |
| (gomp_acc_insert_pointer): Add async parameter, adjust code to use new |
| async design. |
| (gomp_acc_remove_pointer): Adjust code to use new async design. |
| |
| * oacc-parallel.c (GOACC_parallel_keyed): Likewise. |
| (GOACC_enter_exit_data): Likewise. |
| (goacc_wait): Likewise. |
| (GOACC_update): Likewise. |
| |
| * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail |
| when called, warn as obsolete in comment. |
| |
| * libgomp-plugin.h (struct goacc_asyncqueue): Declare. |
| (struct goacc_asyncqueue_list): Likewise. |
| (goacc_aq): Likewise. |
| (goacc_aq_list): Likewise. |
| (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. |
| (GOMP_OFFLOAD_openacc_async_test): Remove. |
| (GOMP_OFFLOAD_openacc_async_test_all): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait_async): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait_all): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. |
| (GOMP_OFFLOAD_openacc_async_set_async): Remove. |
| (GOMP_OFFLOAD_openacc_exec): Adjust declaration. |
| (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. |
| (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. |
| (GOMP_OFFLOAD_openacc_async_exec): Declare. |
| (GOMP_OFFLOAD_openacc_async_construct): Declare. |
| (GOMP_OFFLOAD_openacc_async_destruct): Declare. |
| (GOMP_OFFLOAD_openacc_async_test): Declare. |
| (GOMP_OFFLOAD_openacc_async_synchronize): Declare. |
| (GOMP_OFFLOAD_openacc_async_serialize): Declare. |
| (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. |
| (GOMP_OFFLOAD_openacc_async_host2dev): Declare. |
| (GOMP_OFFLOAD_openacc_async_dev2host): Declare. |
| |
| * openacc.h (acc_async_t): Add acc_async_default enum. |
| (acc_set_default_async): Declare API function. |
| (acc_get_default_async): Likewise. |
| |
| * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. |
| Delete register_async_cleanup_func, async_test_func, |
| async_test_all_func, async_wait_func, async_wait_async_func, |
| async_wait_all_func, async_wait_all_async_func, async_set_async_func |
| hook fields. |
| (gomp_acc_insert_pointer): Adjust declaration. |
| (gomp_copy_host2dev): New declaration. |
| (gomp_copy_dev2host): Likewise. |
| (gomp_map_vars_async): Likewise. |
| (gomp_unmap_tgt): Likewise. |
| (gomp_unmap_vars_async): Likewise. |
| (gomp_fini_device): Likewise. |
| |
| * libgomp.map (OACC_2.5): Add acc_get_default_async, |
| acc_get_default_async_h_, acc_set_default_async, and |
| acc_set_default_async_h_. |
| |
| * openacc.f90 (acc_async_default): Declare. |
| (acc_set_default_async): Likewise. |
| (acc_get_default_async): Likewise. |
| |
| * openacc_lib.h (acc_async_default): Declare. |
| (acc_set_default_async): Likewise. |
| (acc_get_default_async): Likewise. |
| |
| * plugin/plugin-hsa.c (GOMP_OFFLOAD_version): Update to return |
| GOMP_PLUGIN_IF_VERSION. |
| |
| * plugin/plugin-nvptx.c (struct cuda_map): Remove. |
| (struct ptx_stream): Remove. |
| (struct nvptx_thread): Remove current_stream field. |
| (cuda_map_create): Remove. |
| (cuda_map_destroy): Remove. |
| (map_init): Remove. |
| (map_fini): Remove. |
| (map_pop): Remove. |
| (map_push): Remove. |
| (struct goacc_asyncqueue): Define. |
| (struct nvptx_callback): Define. |
| (struct ptx_free_block): Define. |
| (struct ptx_device): Remove null_stream, active_streams, async_streams, |
| stream_lock, and next fields. |
| (enum ptx_event_type): Remove. |
| (struct ptx_event): Remove. |
| (ptx_event_lock): Remove. |
| (ptx_events): Remove. |
| (init_streams_for_device): Remove. |
| (fini_streams_for_device): Remove. |
| (select_stream_for_async): Remove. |
| (nvptx_init): Remove ptx_events and ptx_event_lock references. |
| (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED |
| case. |
| (nvptx_open_device): Add free_blocks initialization, remove |
| init_streams_for_device call. |
| (nvptx_close_device): Remove fini_streams_for_device call, add |
| free_blocks destruct code. |
| (event_gc): Remove. |
| (event_add): Remove. |
| (nvptx_exec): Adjust parameters and code. |
| (nvptx_free): Likewise. |
| (nvptx_host2dev): Remove. |
| (nvptx_dev2host): Remove. |
| (nvptx_set_async): Remove. |
| (nvptx_async_test): Remove. |
| (nvptx_async_test_all): Remove. |
| (nvptx_wait): Remove. |
| (nvptx_wait_async): Remove. |
| (nvptx_wait_all): Remove. |
| (nvptx_wait_all_async): Remove. |
| (nvptx_get_cuda_stream): Remove. |
| (nvptx_set_cuda_stream): Remove. |
| (GOMP_OFFLOAD_alloc): Adjust code. |
| (GOMP_OFFLOAD_free): Likewise. |
| (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. |
| (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. |
| (GOMP_OFFLOAD_openacc_async_test_all): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait_async): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait_all): Remove. |
| (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. |
| (GOMP_OFFLOAD_openacc_async_set_async): Remove. |
| (cuda_free_argmem): New function. |
| (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. |
| (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. |
| (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. |
| (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. |
| (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. |
| (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. |
| (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. |
| (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. |
| (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. |
| (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. |
| (cuda_callback_wrapper): New function. |
| (cuda_memcpy_sanity_check): New function. |
| (GOMP_OFFLOAD_host2dev): Remove and re-implement. |
| (GOMP_OFFLOAD_dev2host): Remove and re-implement. |
| (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. |
| (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. |
| |
| * testsuite/libgomp.oacc-c-c++-common/asyncwait-2.c: New testcase. |
| * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Adjust testcase. |
| * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. |
| |
| 2018-05-20 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/81886 |
| * openacc.h (enum acc_device_t): Add _acc_device_intel_mic, |
| _acc_device_hsa. |
| * oacc-init.c (get_openacc_name): Handle these. |
| (resolve_device): Debugging output. |
| * target.c (resolve_device, gomp_init_device) |
| (gomp_offload_target_available_p): Likewise. |
| (GOMP_set_offload_targets): Rewrite. |
| * testsuite/libgomp.oacc-c++/c++.exp: Provide offload target in |
| "-DACC_DEVICE_TYPE_host", and "-DACC_DEVICE_TYPE_nvidia". |
| * testsuite/libgomp.oacc-c/c.exp: Likewise. |
| * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. |
| * testsuite/libgomp.oacc-c/offload-targets-1.c: New file. |
| * testsuite/libgomp.oacc-c/offload-targets-2.c: Likewise. |
| * testsuite/libgomp.oacc-c/offload-targets-3.c: Likewise. |
| * testsuite/libgomp.oacc-c/offload-targets-4.c: Likewise. |
| * testsuite/libgomp.oacc-c/offload-targets-5.c: Likewise. |
| * testsuite/libgomp.oacc-c/offload-targets-6.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. |
| * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. |
| * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. |
| |
| 2017-05-14 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/81886 |
| * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Adapt. |
| |
| 2015-08-20 Thomas Schwinge <thomas@codesourcery.com> |
| Joseph Myers <joseph@codesourcery.com> |
| |
| PR libgomp/81886 |
| * plugin/configfrag.ac (tgt_name): Do not set. |
| (offload_targets): Separate with colons not commas. |
| * config.h.in, configure: Regenerate. |
| * libgomp.h (gomp_offload_target_available_p): New prototype. |
| * libgomp.map (GOACC_2.0.GOMP_4_BRANCH): Add |
| GOMP_set_offload_targets. |
| * libgomp_g.h (GOMP_set_offload_targets): New prototype. |
| * oacc-init.c (resolve_device): Use |
| gomp_offload_target_available_p. |
| * target.c (resolve_device): Use host fallback when offload data |
| not available. |
| (gomp_offload_target_available_p, offload_target_to_plugin_name) |
| (gomp_offload_targets, gomp_offload_targets_init) |
| (GOMP_set_offload_targets, gomp_plugin_prefix) |
| (gomp_plugin_suffix): New. |
| (gomp_load_plugin_for_device): Add gomp_debug call. |
| (gomp_target_init): Use gomp_offload_targets instead of |
| OFFLOAD_TARGETS. Handle and rewrie colon-separated string. |
| * testsuite/lib/libgomp.exp: Expect offload targets to be |
| colon-separated. Adjust matching of offload targets. |
| (libgomp_init) |
| (check_effective_target_openacc_nvidia_accel_configured) |
| (check_effective_target_openacc_host_selected): Adjust checks of |
| offload target names. |
| * testsuite/libgomp.oacc-c++/c++.exp: Adjust set of offload |
| targets. Use -foffload instead of setenv ACC_DEVICE_TYPE. |
| * testsuite/libgomp.oacc-c/c.exp: Likewise. |
| * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. |