Alex Duran 66d1c37eb6
[OFFLOAD][OPENMP] 6.0 compatible interop interface (#143491)
The following patch introduces a new interop interface implementation
with the following characteristics:

* It supports the new 6.0 prefer_type specification
* It supports both explicit objects (from interop constructs) and
implicit objects (from variant calls).
* Implements a per-thread reuse mechanism for implicit objects to reduce
overheads.
* It provides a plugin interface that allows selecting the supported
interop types, and managing all the backend related interop operations
(init, sync, ...).
* It enables cooperation with the OpenMP runtime to allow progress on
OpenMP synchronizations.
* It cleanups some vendor/fr_id mismatchs from the current query
routines.
* It supports extension to define interop callbacks for library cleanup.
2025-08-06 16:34:39 +02:00

81 lines
2.2 KiB
Plaintext

VERS1.0 {
global:
__tgt_rtl_init;
__tgt_rtl_deinit;
__tgt_register_requires;
__tgt_register_lib;
__tgt_unregister_lib;
__tgt_init_all_rtls;
__tgt_target_data_begin;
__tgt_target_data_end;
__tgt_target_data_update;
__tgt_target;
__tgt_target_teams;
__tgt_target_data_begin_nowait;
__tgt_target_data_end_nowait;
__tgt_target_data_update_nowait;
__tgt_target_nowait;
__tgt_target_teams_nowait;
__tgt_target_data_begin_mapper;
__tgt_target_data_end_mapper;
__tgt_target_data_update_mapper;
__tgt_target_mapper;
__tgt_target_teams_mapper;
__tgt_target_data_begin_nowait_mapper;
__tgt_target_data_end_nowait_mapper;
__tgt_target_data_update_nowait_mapper;
__tgt_target_nowait_mapper;
__tgt_target_teams_nowait_mapper;
__tgt_target_kernel;
__tgt_target_kernel_nowait;
__tgt_target_nowait_query;
__tgt_target_kernel_replay;
__tgt_activate_record_replay;
__tgt_mapper_num_components;
__tgt_push_mapper_component;
__kmpc_push_target_tripcount;
__kmpc_push_target_tripcount_mapper;
ompx_dump_mapping_tables;
ompx_interop_add_completion_callback;
omp_get_mapped_ptr;
omp_get_num_devices;
omp_get_device_num;
omp_get_initial_device;
omp_target_alloc;
omp_target_free;
omp_target_is_present;
omp_target_memcpy;
omp_target_memcpy_rect;
omp_target_memcpy_async;
omp_target_memcpy_rect_async;
omp_target_memset;
omp_target_memset_async;
omp_target_associate_ptr;
omp_target_disassociate_ptr;
llvm_omp_target_alloc_host;
llvm_omp_target_alloc_shared;
llvm_omp_target_alloc_device;
llvm_omp_target_free_host;
llvm_omp_target_free_shared;
llvm_omp_target_free_device;
llvm_omp_target_dynamic_shared_alloc;
llvm_omp_target_lock_mem;
llvm_omp_target_unlock_mem;
__tgt_set_info_flag;
__tgt_print_device_info;
omp_get_interop_ptr;
omp_get_interop_str;
omp_get_interop_int;
omp_get_interop_name;
omp_get_interop_type_desc;
__tgt_interop_get;
__tgt_interop_use;
__tgt_interop_release;
__tgt_target_sync;
__llvmPushCallConfiguration;
__llvmPopCallConfiguration;
llvmLaunchKernel;
local:
*;
};