Summary: Ever since the introduction of the new plugins we haven't exercised the concept of "optional" plugin functions. This is done in perparation for making the plugins use a static interface as it will greatly simplify the implementation if we assert that every function has the entrypoints. Currently some unsupported functions will just return failure or some other default value, so this shouldn't change anything.
52 lines
1.8 KiB
C++
52 lines
1.8 KiB
C++
//===-- Shared/PluginAPI.inc - Target independent plugin API ----*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file defines the names of the interface functions between target
|
|
// independent offload runtime library and target dependent plugins.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// No include guards!
|
|
|
|
PLUGIN_API_HANDLE(init_plugin);
|
|
PLUGIN_API_HANDLE(is_valid_binary);
|
|
PLUGIN_API_HANDLE(is_data_exchangable);
|
|
PLUGIN_API_HANDLE(number_of_devices);
|
|
PLUGIN_API_HANDLE(init_device);
|
|
PLUGIN_API_HANDLE(load_binary);
|
|
PLUGIN_API_HANDLE(get_global);
|
|
PLUGIN_API_HANDLE(get_function);
|
|
PLUGIN_API_HANDLE(data_alloc);
|
|
PLUGIN_API_HANDLE(data_submit);
|
|
PLUGIN_API_HANDLE(data_submit_async);
|
|
PLUGIN_API_HANDLE(data_retrieve);
|
|
PLUGIN_API_HANDLE(data_retrieve_async);
|
|
PLUGIN_API_HANDLE(data_exchange);
|
|
PLUGIN_API_HANDLE(data_exchange_async);
|
|
PLUGIN_API_HANDLE(data_delete);
|
|
PLUGIN_API_HANDLE(launch_kernel);
|
|
PLUGIN_API_HANDLE(init_requires);
|
|
PLUGIN_API_HANDLE(synchronize);
|
|
PLUGIN_API_HANDLE(query_async);
|
|
PLUGIN_API_HANDLE(set_info_flag);
|
|
PLUGIN_API_HANDLE(print_device_info);
|
|
PLUGIN_API_HANDLE(create_event);
|
|
PLUGIN_API_HANDLE(record_event);
|
|
PLUGIN_API_HANDLE(wait_event);
|
|
PLUGIN_API_HANDLE(sync_event);
|
|
PLUGIN_API_HANDLE(destroy_event);
|
|
PLUGIN_API_HANDLE(init_async_info);
|
|
PLUGIN_API_HANDLE(init_device_info);
|
|
PLUGIN_API_HANDLE(data_lock);
|
|
PLUGIN_API_HANDLE(data_unlock);
|
|
PLUGIN_API_HANDLE(data_notify_mapped);
|
|
PLUGIN_API_HANDLE(data_notify_unmapped);
|
|
PLUGIN_API_HANDLE(set_device_offset);
|
|
PLUGIN_API_HANDLE(initialize_record_replay);
|
|
PLUGIN_API_HANDLE(use_auto_zero_copy);
|