gcc/libgomp/libgomp.map
Jakub Jelinek 1df3f84256 [PATCH 5/7] OpenMP 4.0 offloading infrastructure: libgomp.
libgomp/
	* libgomp.map (GOMP_4.0.1): New symbol version.
	Add GOMP_offload_register.
	* libgomp_target.h: New file.
	* splay-tree.h: New file.
	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
	(gomp_target_init): New forward declaration.
	(gomp_is_initialized): New static variable.
	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
	New structures.
	(offload_images, num_offload_images, devices, num_devices): New static
	variables.
	(splay_compare): New static function.
	(struct gomp_device_descr): New structure.
	(gomp_get_num_devices): Call gomp_target_init.
	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
	(GOMP_offload_register): New function.
	(GOMP_target): Arrange for host callback to be performed in a separate
	initial thread and contention group, inheriting ICVs from
	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
	Add device initialization and lookup for target function in splay tree.
	(GOMP_target_data): Add device initialization and call gomp_map_vars.
	(GOMP_target_end_data): Call gomp_unmap_vars.
	(GOMP_target_update): Add device initialization and call gomp_update.
	(gomp_load_plugin_for_device, gomp_register_images_for_device)
	(gomp_target_init): New static functions.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com>

From-SVN: r217492
2014-11-13 13:49:47 +00:00

235 lines
4.8 KiB
Plaintext

OMP_1.0 {
global:
omp_set_num_threads;
omp_get_num_threads;
omp_get_max_threads;
omp_get_thread_num;
omp_get_num_procs;
omp_in_parallel;
omp_set_dynamic;
omp_get_dynamic;
omp_set_nested;
omp_get_nested;
#ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
# If the assembler used lacks the .symver directive or the linker
# doesn't support GNU symbol versioning, we have the same symbol in
# two versions, which Sun ld chokes on.
omp_init_lock;
omp_init_nest_lock;
omp_destroy_lock;
omp_destroy_nest_lock;
omp_set_lock;
omp_set_nest_lock;
omp_unset_lock;
omp_unset_nest_lock;
omp_test_lock;
omp_test_nest_lock;
omp_destroy_lock_;
omp_destroy_nest_lock_;
omp_init_lock_;
omp_init_nest_lock_;
omp_set_lock_;
omp_set_nest_lock_;
omp_test_lock_;
omp_test_nest_lock_;
omp_unset_lock_;
omp_unset_nest_lock_;
#endif
omp_get_dynamic_;
omp_get_max_threads_;
omp_get_nested_;
omp_get_num_procs_;
omp_get_num_threads_;
omp_get_thread_num_;
omp_in_parallel_;
omp_set_dynamic_;
omp_set_dynamic_8_;
omp_set_nested_;
omp_set_nested_8_;
omp_set_num_threads_;
omp_set_num_threads_8_;
local:
*;
};
OMP_2.0 {
global:
omp_get_wtick;
omp_get_wtime;
omp_get_wtick_;
omp_get_wtime_;
} OMP_1.0;
OMP_3.0 {
global:
omp_set_schedule;
omp_set_schedule_;
omp_set_schedule_8_;
omp_get_schedule;
omp_get_schedule_;
omp_get_schedule_8_;
omp_get_thread_limit;
omp_get_thread_limit_;
omp_set_max_active_levels;
omp_set_max_active_levels_;
omp_set_max_active_levels_8_;
omp_get_max_active_levels;
omp_get_max_active_levels_;
omp_get_level;
omp_get_level_;
omp_get_ancestor_thread_num;
omp_get_ancestor_thread_num_;
omp_get_ancestor_thread_num_8_;
omp_get_team_size;
omp_get_team_size_;
omp_get_team_size_8_;
omp_get_active_level;
omp_get_active_level_;
omp_init_lock;
omp_init_nest_lock;
omp_destroy_lock;
omp_destroy_nest_lock;
omp_set_lock;
omp_set_nest_lock;
omp_unset_lock;
omp_unset_nest_lock;
omp_test_lock;
omp_test_nest_lock;
omp_destroy_lock_;
omp_destroy_nest_lock_;
omp_init_lock_;
omp_init_nest_lock_;
omp_set_lock_;
omp_set_nest_lock_;
omp_test_lock_;
omp_test_nest_lock_;
omp_unset_lock_;
omp_unset_nest_lock_;
} OMP_2.0;
OMP_3.1 {
global:
omp_in_final;
omp_in_final_;
} OMP_3.0;
OMP_4.0 {
global:
omp_get_cancellation;
omp_get_cancellation_;
omp_get_proc_bind;
omp_get_proc_bind_;
omp_set_default_device;
omp_set_default_device_;
omp_set_default_device_8_;
omp_get_default_device;
omp_get_default_device_;
omp_get_num_devices;
omp_get_num_devices_;
omp_get_num_teams;
omp_get_num_teams_;
omp_get_team_num;
omp_get_team_num_;
omp_is_initial_device;
omp_is_initial_device_;
} OMP_3.1;
GOMP_1.0 {
global:
GOMP_atomic_end;
GOMP_atomic_start;
GOMP_barrier;
GOMP_critical_end;
GOMP_critical_name_end;
GOMP_critical_name_start;
GOMP_critical_start;
GOMP_loop_dynamic_next;
GOMP_loop_dynamic_start;
GOMP_loop_end;
GOMP_loop_end_nowait;
GOMP_loop_guided_next;
GOMP_loop_guided_start;
GOMP_loop_ordered_dynamic_next;
GOMP_loop_ordered_dynamic_start;
GOMP_loop_ordered_guided_next;
GOMP_loop_ordered_guided_start;
GOMP_loop_ordered_runtime_next;
GOMP_loop_ordered_runtime_start;
GOMP_loop_ordered_static_next;
GOMP_loop_ordered_static_start;
GOMP_loop_runtime_next;
GOMP_loop_runtime_start;
GOMP_loop_static_next;
GOMP_loop_static_start;
GOMP_ordered_end;
GOMP_ordered_start;
GOMP_parallel_end;
GOMP_parallel_loop_dynamic_start;
GOMP_parallel_loop_guided_start;
GOMP_parallel_loop_runtime_start;
GOMP_parallel_loop_static_start;
GOMP_parallel_sections_start;
GOMP_parallel_start;
GOMP_sections_end;
GOMP_sections_end_nowait;
GOMP_sections_next;
GOMP_sections_start;
GOMP_single_copy_end;
GOMP_single_copy_start;
GOMP_single_start;
};
GOMP_2.0 {
global:
GOMP_task;
GOMP_taskwait;
GOMP_loop_ull_dynamic_next;
GOMP_loop_ull_dynamic_start;
GOMP_loop_ull_guided_next;
GOMP_loop_ull_guided_start;
GOMP_loop_ull_ordered_dynamic_next;
GOMP_loop_ull_ordered_dynamic_start;
GOMP_loop_ull_ordered_guided_next;
GOMP_loop_ull_ordered_guided_start;
GOMP_loop_ull_ordered_runtime_next;
GOMP_loop_ull_ordered_runtime_start;
GOMP_loop_ull_ordered_static_next;
GOMP_loop_ull_ordered_static_start;
GOMP_loop_ull_runtime_next;
GOMP_loop_ull_runtime_start;
GOMP_loop_ull_static_next;
GOMP_loop_ull_static_start;
} GOMP_1.0;
GOMP_3.0 {
global:
GOMP_taskyield;
} GOMP_2.0;
GOMP_4.0 {
global:
GOMP_barrier_cancel;
GOMP_cancel;
GOMP_cancellation_point;
GOMP_loop_end_cancel;
GOMP_parallel_loop_dynamic;
GOMP_parallel_loop_guided;
GOMP_parallel_loop_runtime;
GOMP_parallel_loop_static;
GOMP_parallel_sections;
GOMP_parallel;
GOMP_sections_end_cancel;
GOMP_taskgroup_start;
GOMP_taskgroup_end;
GOMP_target;
GOMP_target_data;
GOMP_target_end_data;
GOMP_target_update;
GOMP_teams;
} GOMP_3.0;
GOMP_4.0.1 {
global:
GOMP_offload_register;
} GOMP_4.0;