gcc/libgomp
Julian Brown d93bdab53b mkoffload.c (process): Support variable mapping.
gcc/
	* config/nvptx/mkoffload.c (process): Support variable mapping.

	libgomp/
	* libgomp.h (target_mem_desc: Remove mem_map field.
	(acc_dispatch_t): Remove open_device_func, close_device_func,
	get_device_num_func, set_device_num_func, target_data members.
	Change create_thread_data_func argument to device number instead of
	generic pointer.
	* oacc-async.c (assert.h): Include.
	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
	(acc_wait_all, acc_wait_all_async): Use current host thread's
	active device, not base_dev.
	* oacc-cuda.c (acc_get_current_cuda_device)
	(acc_get_current_cuda_context, acc_get_cuda_stream)
	(acc_set_cuda_stream): Likewise.
	* oacc-host.c (host_dispatch): Don't set open_device_func,
	close_device_func, get_device_num_func or set_device_num_func.
	* oacc-init.c (base_dev, init_key): Remove.
	(cached_base_dev): New.
	(name_of_acc_device_t): New.
	(acc_init_1): Initialise default-numbered device, not zeroth.
	(acc_shutdown_1): Close all devices of a given type.
	(goacc_destroy_thread): Don't use base_dev.
	(lazy_open, lazy_init, lazy_init_and_open): Remove.
	(goacc_attach_host_thread_to_device): New.
	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
	(acc_get_num_devices): Don't use base_dev.
	(acc_set_device_type): Reimplement.
	(acc_get_device_type): Don't use base_dev.
	(acc_get_device_num): Tweak logic.
	(acc_set_device_num): Likewise.
	(acc_on_device): Use acc_get_device_type.
	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
	(goacc_lazy_initialize): Reimplement with acc_init and
	goacc_attach_host_thread_to_device.
	* oacc-int.h (goacc_thread): Add base_dev field.
	(base_dev): Remove extern declaration.
	(goacc_attach_host_thread_to_device): Add prototype.
	* oacc-mem.c (acc_malloc): Use current thread's device instead of
	base_dev.
	(acc_free): Likewise.
	(acc_memcpy_to_device): Likewise.
	(acc_memcpy_from_device): Likewise.
	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
	goacc_lazy_initialize (throughout).
	(GOACC_parallel): Use tgt_offset to locate target functions.
	* target.c (gomp_map_vars): Don't set tgt->mem_map.
	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
	(gomp_load_plugin_for_device): Remove open_device, close_device,
	get_device_num, set_device_num openacc hook initialisation. Don't set
	openacc.target_data.
	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
	(GOMP_OFFLOAD_openacc_close_device)
	(GOMP_OFFLOAD_openacc_get_device_num)
	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
	to int.
	* plugin/plugin-nvptx.c (ptx_inited): Remove.
	(instantiated_devices, ptx_dev_lock): New.
	(struct ptx_image_data): New.
	(ptx_devices, ptx_images, ptx_image_lock): New.
	(fini_streams_for_device): Reorder cuStreamDestroy call.
	(nvptx_get_num_devices): Remove forward declaration.
	(nvptx_init): Change return type to bool.
	(nvptx_fini): Remove.
	(nvptx_attach_host_thread_to_device): New.
	(nvptx_open_device): Return struct ptx_device* instead of void*.
	(nvptx_close_device): Change argument type to struct ptx_device*,
	return type to void.
	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
	(kernel_target_data, kernel_host_table): Remove static globals.
	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
	(GOMP_OFFLOAD_init_device): Reimplement.
	(GOMP_OFFLOAD_fini_device): Likewise.
	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
	(GOMP_OFFLOAD_host2dev): Use ORD argument.
	(GOMP_OFFLOAD_openacc_open_device)
	(GOMP_OFFLOAD_openacc_close_device)
	(GOMP_OFFLOAD_openacc_set_device_num)
	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
	(device number).

	libgomp/testsuite/
	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.

From-SVN: r221922
2015-04-08 15:58:33 +00:00
..
config re PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1) 2015-02-01 22:31:31 -05:00
plugin mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
testsuite mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
ChangeLog mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
ChangeLog.graphite Add forgotten ChangeLog entries. 2010-03-08 17:49:42 +00:00
Makefile.am Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
Makefile.in Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
acinclude.m4 Fix Solaris symbol versioning (PR libstdc++/52188) 2012-02-27 13:51:50 +00:00
aclocal.m4 re PR libstdc++/36104 (gnu-versioned-namespace is broken) 2011-01-20 23:41:24 +00:00
alloc.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
barrier.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
config.h.in Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
configure libgomp: Add RTEMS support 2015-03-13 10:57:07 +00:00
configure.ac libgomp: Add RTEMS support 2015-03-13 10:57:07 +00:00
configure.tgt libgomp: Add RTEMS support 2015-03-13 10:57:07 +00:00
critical.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
env.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
error.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
fortran.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
hashtab.h Update copyright years. 2015-01-05 13:33:28 +01:00
iter.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
iter_ull.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
libgomp-plugin.c libgomp: Make GOMP_PLUGIN_debug actually work... 2015-02-17 19:24:07 +01:00
libgomp-plugin.h libgomp: rework initialization of offloading 2015-04-06 12:40:28 +00:00
libgomp.h mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
libgomp.map libgomp: rework initialization of offloading 2015-04-06 12:40:28 +00:00
libgomp.spec.in Generally link to libgomp for -ftree-parallelize-loops=*. 2013-11-07 16:07:34 +01:00
libgomp.texi Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
libgomp_f.h.in libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
libgomp_g.h [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter. 2015-01-19 13:03:35 +01:00
loop.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
loop_ull.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
oacc-async.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-cuda.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-host.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-init.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-int.h mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-mem.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-parallel.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-plugin.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
oacc-plugin.h Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
oacc-ptx.h libgomp: Make nvptx helper routines self-contained. 2015-02-17 19:05:24 +01:00
omp.h.in libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
omp_lib.f90.in libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
omp_lib.h.in libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
openacc.f90 Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
openacc.h Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
openacc_lib.h Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
ordered.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
parallel.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
sections.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
single.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
splay-tree.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
splay-tree.h Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
target.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
task.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
team.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
work.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00