From c4fa95f6fa09cf36af834b48cae76be040805c08 Mon Sep 17 00:00:00 2001 From: Dmitri Mokhov Date: Mon, 22 Nov 2021 04:23:41 -0600 Subject: [PATCH] [SYCL] Add SYCL 2020 info::device::built_in_kernel_ids support (#4996) - Add `ProgramManager::getBuiltInKernelID`, which generates and caches built-in kernel IDs. - Use that API to generate or look up built-in kernel IDs, when queried. - Throw an exception in program manager when actually trying to use built-in kernels, since they are not yet fully supported. - Add SYCL 2020 deprecation warning for `built_in_kernels` (old query). --- sycl/include/CL/sycl/info/device_traits.def | 1 + sycl/include/CL/sycl/info/info_desc.hpp | 5 +++- sycl/source/detail/device_impl.hpp | 1 + sycl/source/detail/device_info.hpp | 26 +++++++++++++++++++ .../program_manager/program_manager.cpp | 24 +++++++++++++++++ .../program_manager/program_manager.hpp | 11 ++++++++ sycl/test/abi/sycl_symbols_linux.dump | 21 ++++++++------- sycl/test/abi/sycl_symbols_windows.dump | 25 +++++++++--------- sycl/test/warnings/sycl_2020_deprecations.cpp | 4 +++ 9 files changed, 95 insertions(+), 23 deletions(-) diff --git a/sycl/include/CL/sycl/info/device_traits.def b/sycl/include/CL/sycl/info/device_traits.def index 2b0f637b09032..7393a898636a9 100644 --- a/sycl/include/CL/sycl/info/device_traits.def +++ b/sycl/include/CL/sycl/info/device_traits.def @@ -58,6 +58,7 @@ __SYCL_PARAM_TRAITS_SPEC(device, is_linker_available, bool) __SYCL_PARAM_TRAITS_SPEC(device, execution_capabilities, std::vector) __SYCL_PARAM_TRAITS_SPEC(device, queue_profiling, bool) +__SYCL_PARAM_TRAITS_SPEC(device, built_in_kernel_ids, std::vector) __SYCL_PARAM_TRAITS_SPEC(device, built_in_kernels, std::vector) __SYCL_PARAM_TRAITS_SPEC(device, platform, cl::sycl::platform) __SYCL_PARAM_TRAITS_SPEC(device, name, std::string) diff --git a/sycl/include/CL/sycl/info/info_desc.hpp b/sycl/include/CL/sycl/info/info_desc.hpp index 3d03c37ff0f71..f47ff2b53399a 100644 --- a/sycl/include/CL/sycl/info/info_desc.hpp +++ b/sycl/include/CL/sycl/info/info_desc.hpp @@ -20,6 +20,7 @@ class program; #endif class device; class platform; +class kernel_id; // TODO: stop using OpenCL directly, use PI. namespace info { @@ -109,7 +110,8 @@ enum class device : cl_device_info { is_linker_available = CL_DEVICE_LINKER_AVAILABLE, execution_capabilities = CL_DEVICE_EXECUTION_CAPABILITIES, queue_profiling = CL_DEVICE_QUEUE_PROPERTIES, - built_in_kernels = CL_DEVICE_BUILT_IN_KERNELS, + built_in_kernels __SYCL2020_DEPRECATED("use built_in_kernel_ids instead") = + CL_DEVICE_BUILT_IN_KERNELS, platform = CL_DEVICE_PLATFORM, name = CL_DEVICE_NAME, vendor = CL_DEVICE_VENDOR, @@ -136,6 +138,7 @@ enum class device : cl_device_info { sub_group_sizes = CL_DEVICE_SUB_GROUP_SIZES_INTEL, partition_type_property, kernel_kernel_pipe_support, + built_in_kernel_ids, // USM usm_device_allocations = PI_USM_DEVICE_SUPPORT, usm_host_allocations = PI_USM_HOST_SUPPORT, diff --git a/sycl/source/detail/device_impl.hpp b/sycl/source/detail/device_impl.hpp index 5d4a7deb4a2af..01299271ec4ac 100644 --- a/sycl/source/detail/device_impl.hpp +++ b/sycl/source/detail/device_impl.hpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include diff --git a/sycl/source/detail/device_info.hpp b/sycl/source/detail/device_info.hpp index 99fe35a842d2d..7e953ad72eabd 100644 --- a/sycl/source/detail/device_info.hpp +++ b/sycl/source/detail/device_info.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -279,6 +280,25 @@ struct get_device_info, } }; +// Specialization for built in kernel identifiers +template <> +struct get_device_info, + info::device::built_in_kernel_ids> { + static std::vector get(RT::PiDevice dev, const plugin &Plugin) { + std::string result = + get_device_info::get( + dev, Plugin); + auto names = split_string(result, ';'); + + std::vector ids; + ids.reserve(names.size()); + for (const auto &name : names) { + ids.push_back(ProgramManager::getInstance().getBuiltInKernelID(name)); + } + return ids; + } +}; + // Specialization for built in kernels, splits the string returned by OpenCL template <> struct get_device_info, @@ -979,6 +999,12 @@ template <> inline bool get_device_info_host() { return true; } +template <> +inline std::vector +get_device_info_host() { + return {}; +} + template <> inline std::vector get_device_info_host() { diff --git a/sycl/source/detail/program_manager/program_manager.cpp b/sycl/source/detail/program_manager/program_manager.cpp index a056c1ec16b87..c2d6cce38eb3e 100644 --- a/sycl/source/detail/program_manager/program_manager.cpp +++ b/sycl/source/detail/program_manager/program_manager.cpp @@ -1341,6 +1341,19 @@ std::vector ProgramManager::getAllSYCLKernelIDs() { return AllKernelIDs; } +kernel_id ProgramManager::getBuiltInKernelID(const std::string &KernelName) { + std::lock_guard BuiltInKernelIDsGuard(m_BuiltInKernelIDsMutex); + + auto KernelID = m_BuiltInKernelIDs.find(KernelName); + if (KernelID == m_BuiltInKernelIDs.end()) { + auto Impl = std::make_shared(KernelName); + auto CachedID = createSyclObjFromImpl(Impl); + KernelID = m_BuiltInKernelIDs.insert({KernelName, CachedID}).first; + } + + return KernelID->second; +} + std::vector ProgramManager::getSYCLDeviceImagesWithCompatibleState( const context &Ctx, const std::vector &Devs, @@ -1511,6 +1524,17 @@ std::vector ProgramManager::getSYCLDeviceImages( std::vector ProgramManager::getSYCLDeviceImages( const context &Ctx, const std::vector &Devs, const std::vector &KernelIDs, bundle_state TargetState) { + { + std::lock_guard BuiltInKernelIDsGuard(m_BuiltInKernelIDsMutex); + + for (const kernel_id &ID : KernelIDs) { + if (m_BuiltInKernelIDs.find(ID.get_name()) != m_BuiltInKernelIDs.end()) + throw sycl::exception(make_error_code(errc::kernel_argument), + "Attempting to use a built-in kernel. They are " + "not fully supported"); + } + } + // Collect device images with compatible state std::vector DeviceImages = getSYCLDeviceImagesWithCompatibleState(Ctx, Devs, TargetState); diff --git a/sycl/source/detail/program_manager/program_manager.hpp b/sycl/source/detail/program_manager/program_manager.hpp index d50e30ec6c238..1d1442c337b09 100644 --- a/sycl/source/detail/program_manager/program_manager.hpp +++ b/sycl/source/detail/program_manager/program_manager.hpp @@ -178,6 +178,10 @@ class ProgramManager { // in SYCL device images. std::vector getAllSYCLKernelIDs(); + // The function returns the unique SYCL kernel identifier associated with a + // built-in kernel name. + kernel_id getBuiltInKernelID(const std::string &KernelName); + // The function returns a vector of SYCL device images that are compiled with // the required state and at least one device from the passed list of devices. std::vector @@ -327,6 +331,13 @@ class ProgramManager { /// Access must be guarded by the m_KernelIDsMutex mutex. std::unordered_set m_ExportedSymbols; + /// Maps names of built-in kernels to their unique kernel IDs. + /// Access must be guarded by the m_BuiltInKernelIDsMutex mutex. + std::unordered_map m_BuiltInKernelIDs; + + /// Protects built-in kernel ID cache. + std::mutex m_BuiltInKernelIDsMutex; + // Keeps track of pi_program to image correspondence. Needed for: // - knowing which specialization constants are used in the program and // injecting their current values before compiling the SPIR-V; the binary diff --git a/sycl/test/abi/sycl_symbols_linux.dump b/sycl/test/abi/sycl_symbols_linux.dump index 28f2d9d3c785b..95e0d29106179 100644 --- a/sycl/test/abi/sycl_symbols_linux.dump +++ b/sycl/test/abi/sycl_symbols_linux.dump @@ -4109,9 +4109,14 @@ _ZNK2cl4sycl6device3hasENS0_6aspectE _ZNK2cl4sycl6device6is_cpuEv _ZNK2cl4sycl6device6is_gpuEv _ZNK2cl4sycl6device7is_hostEv +_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131072EEENS3_12param_traitsIS4_XT_EE11return_typeEv +_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131073EEENS3_12param_traitsIS4_XT_EE11return_typeEv +_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131074EEENS3_12param_traitsIS4_XT_EE11return_typeEv +_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131075EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16648EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16649EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16650EEENS3_12param_traitsIS4_XT_EE11return_typeEv +_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16651EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16784EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16785EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE16786EEENS3_12param_traitsIS4_XT_EE11return_typeEv @@ -4244,6 +4249,7 @@ _ZNK2cl4sycl6streamneERKS1_ _ZNK2cl4sycl7context11get_backendEv _ZNK2cl4sycl7context11get_devicesEv _ZNK2cl4sycl7context12get_platformEv +_ZNK2cl4sycl7context12get_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEET_v _ZNK2cl4sycl7context12get_propertyINS0_3ext6oneapi8property6buffer22use_pinned_host_memoryEEET_v _ZNK2cl4sycl7context12get_propertyINS0_8property5image12use_host_ptrEEET_v _ZNK2cl4sycl7context12get_propertyINS0_8property5image13context_boundEEET_v @@ -4256,6 +4262,7 @@ _ZNK2cl4sycl7context12get_propertyINS0_8property6noinitEEET_v _ZNK2cl4sycl7context12get_propertyINS0_8property7context4cuda19use_primary_contextEEET_v _ZNK2cl4sycl7context12get_propertyINS0_8property7no_initEEET_v _ZNK2cl4sycl7context12get_propertyINS0_8property9reduction22initialize_to_identityEEET_v +_ZNK2cl4sycl7context12has_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEEbv _ZNK2cl4sycl7context12has_propertyINS0_3ext6oneapi8property6buffer22use_pinned_host_memoryEEEbv _ZNK2cl4sycl7context12has_propertyINS0_8property5image12use_host_ptrEEEbv _ZNK2cl4sycl7context12has_propertyINS0_8property5image13context_boundEEEbv @@ -4268,8 +4275,6 @@ _ZNK2cl4sycl7context12has_propertyINS0_8property6noinitEEEbv _ZNK2cl4sycl7context12has_propertyINS0_8property7context4cuda19use_primary_contextEEEbv _ZNK2cl4sycl7context12has_propertyINS0_8property7no_initEEEbv _ZNK2cl4sycl7context12has_propertyINS0_8property9reduction22initialize_to_identityEEEbv -_ZNK2cl4sycl7context12get_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEET_v -_ZNK2cl4sycl7context12has_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEEbv _ZNK2cl4sycl7context3getEv _ZNK2cl4sycl7context7is_hostEv _ZNK2cl4sycl7context8get_infoILNS0_4info7contextE4224EEENS3_12param_traitsIS4_XT_EE11return_typeEv @@ -4288,6 +4293,7 @@ _ZNK2cl4sycl7program11get_backendEv _ZNK2cl4sycl7program11get_contextEv _ZNK2cl4sycl7program11get_devicesEv _ZNK2cl4sycl7program12get_binariesEv +_ZNK2cl4sycl7program12get_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEET_v _ZNK2cl4sycl7program12get_propertyINS0_3ext6oneapi8property6buffer22use_pinned_host_memoryEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property5image12use_host_ptrEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property5image13context_boundEEET_v @@ -4298,9 +4304,9 @@ _ZNK2cl4sycl7program12get_propertyINS0_8property6buffer13context_boundEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property6buffer9use_mutexEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property6noinitEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property7context4cuda19use_primary_contextEEET_v -_ZNK2cl4sycl7program12get_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property7no_initEEET_v _ZNK2cl4sycl7program12get_propertyINS0_8property9reduction22initialize_to_identityEEET_v +_ZNK2cl4sycl7program12has_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEEbv _ZNK2cl4sycl7program12has_propertyINS0_3ext6oneapi8property6buffer22use_pinned_host_memoryEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property5image12use_host_ptrEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property5image13context_boundEEEbv @@ -4311,7 +4317,6 @@ _ZNK2cl4sycl7program12has_propertyINS0_8property6buffer13context_boundEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property6buffer9use_mutexEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property6noinitEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property7context4cuda19use_primary_contextEEEbv -_ZNK2cl4sycl7program12has_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property7no_initEEEbv _ZNK2cl4sycl7program12has_propertyINS0_8property9reduction22initialize_to_identityEEEbv _ZNK2cl4sycl7program16get_link_optionsB5cxx11Ev @@ -4324,6 +4329,7 @@ _ZNK2cl4sycl7program8get_infoILNS0_4info7programE4449EEENS3_12param_traitsIS4_XT _ZNK2cl4sycl7program8get_infoILNS0_4info7programE4451EEENS3_12param_traitsIS4_XT_EE11return_typeEv _ZNK2cl4sycl7program9getNativeEv _ZNK2cl4sycl7program9get_stateEv +_ZNK2cl4sycl7sampler12get_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEET_v _ZNK2cl4sycl7sampler12get_propertyINS0_3ext6oneapi8property6buffer22use_pinned_host_memoryEEET_v _ZNK2cl4sycl7sampler12get_propertyINS0_8property5image12use_host_ptrEEET_v _ZNK2cl4sycl7sampler12get_propertyINS0_8property5image13context_boundEEET_v @@ -4336,7 +4342,7 @@ _ZNK2cl4sycl7sampler12get_propertyINS0_8property6noinitEEET_v _ZNK2cl4sycl7sampler12get_propertyINS0_8property7context4cuda19use_primary_contextEEET_v _ZNK2cl4sycl7sampler12get_propertyINS0_8property7no_initEEET_v _ZNK2cl4sycl7sampler12get_propertyINS0_8property9reduction22initialize_to_identityEEET_v -_ZNK2cl4sycl7sampler12get_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEET_v +_ZNK2cl4sycl7sampler12has_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEEbv _ZNK2cl4sycl7sampler12has_propertyINS0_3ext6oneapi8property6buffer22use_pinned_host_memoryEEEbv _ZNK2cl4sycl7sampler12has_propertyINS0_8property5image12use_host_ptrEEEbv _ZNK2cl4sycl7sampler12has_propertyINS0_8property5image13context_boundEEEbv @@ -4349,7 +4355,6 @@ _ZNK2cl4sycl7sampler12has_propertyINS0_8property6noinitEEEbv _ZNK2cl4sycl7sampler12has_propertyINS0_8property7context4cuda19use_primary_contextEEEbv _ZNK2cl4sycl7sampler12has_propertyINS0_8property7no_initEEEbv _ZNK2cl4sycl7sampler12has_propertyINS0_8property9reduction22initialize_to_identityEEEbv -_ZNK2cl4sycl7sampler12has_propertyINS0_3ext6oneapi4cuda8property7context19use_primary_contextEEEbv _ZNK2cl4sycl7sampler18get_filtering_modeEv _ZNK2cl4sycl7sampler19get_addressing_modeEv _ZNK2cl4sycl7sampler33get_coordinate_normalization_modeEv @@ -4377,7 +4382,3 @@ _ZNK2cl4sycl9exception8categoryEv _ZNK2cl4sycl9kernel_id8get_nameEv __sycl_register_lib __sycl_unregister_lib -_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131072EEENS3_12param_traitsIS4_XT_EE11return_typeEv -_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131075EEENS3_12param_traitsIS4_XT_EE11return_typeEv -_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131074EEENS3_12param_traitsIS4_XT_EE11return_typeEv -_ZNK2cl4sycl6device8get_infoILNS0_4info6deviceE131073EEENS3_12param_traitsIS4_XT_EE11return_typeEv diff --git a/sycl/test/abi/sycl_symbols_windows.dump b/sycl/test/abi/sycl_symbols_windows.dump index c69c91305ce27..0df42b5fa4e8d 100644 --- a/sycl/test/abi/sycl_symbols_windows.dump +++ b/sycl/test/abi/sycl_symbols_windows.dump @@ -132,11 +132,16 @@ ??$get_info@$0BBLK@@kernel@sycl@cl@@QEBAIAEBVdevice@12@@Z ??$get_info@$0BBNC@@event@sycl@cl@@QEBAIXZ ??$get_info@$0BBND@@event@sycl@cl@@QEBA?AW4event_command_status@info@12@XZ +??$get_info@$0CAAAA@@device@sycl@cl@@QEBA_KXZ +??$get_info@$0CAAAB@@device@sycl@cl@@QEBA?AV?$id@$00@12@XZ +??$get_info@$0CAAAC@@device@sycl@cl@@QEBA?AV?$id@$01@12@XZ +??$get_info@$0CAAAD@@device@sycl@cl@@QEBA?AV?$id@$02@12@XZ ??$get_info@$0CADD@@kernel@sycl@cl@@QEBAIAEBVdevice@12@V?$range@$02@12@@Z ??$get_info@$0EBAI@@device@sycl@cl@@QEBA?AV?$vector@_KV?$allocator@_K@std@@@std@@XZ ??$get_info@$0EBAJ@@device@sycl@cl@@QEBA?AW4partition_property@info@12@XZ ??$get_info@$0EBAK@@device@sycl@cl@@QEBA_NXZ ??$get_info@$0EBAK@@kernel@sycl@cl@@QEBAIAEBVdevice@12@@Z +??$get_info@$0EBAL@@device@sycl@cl@@QEBA?AV?$vector@Vkernel_id@sycl@cl@@V?$allocator@Vkernel_id@sycl@cl@@@std@@@std@@XZ ??$get_info@$0EBJA@@device@sycl@cl@@QEBA_NXZ ??$get_info@$0EBJB@@device@sycl@cl@@QEBA_NXZ ??$get_info@$0EBJC@@device@sycl@cl@@QEBA_NXZ @@ -185,6 +190,9 @@ ??$get_property@Vuse_pinned_host_memory@buffer@property@oneapi@ext@sycl@cl@@@context@sycl@cl@@QEBA?AVuse_pinned_host_memory@buffer@property@oneapi@ext@12@XZ ??$get_property@Vuse_pinned_host_memory@buffer@property@oneapi@ext@sycl@cl@@@program@sycl@cl@@QEBA?AVuse_pinned_host_memory@buffer@property@oneapi@ext@12@XZ ??$get_property@Vuse_pinned_host_memory@buffer@property@oneapi@ext@sycl@cl@@@sampler@sycl@cl@@QEBA?AVuse_pinned_host_memory@buffer@property@oneapi@ext@12@XZ +??$get_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@context@sycl@cl@@QEBA?AVuse_primary_context@0property@cuda@oneapi@ext@12@XZ +??$get_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@program@sycl@cl@@QEBA?AVuse_primary_context@context@property@cuda@oneapi@ext@12@XZ +??$get_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@sampler@sycl@cl@@QEBA?AVuse_primary_context@context@property@cuda@oneapi@ext@12@XZ ??$get_property@Vuse_primary_context@cuda@context@property@sycl@cl@@@context@sycl@cl@@QEBA?AVuse_primary_context@cuda@0property@12@XZ ??$get_property@Vuse_primary_context@cuda@context@property@sycl@cl@@@program@sycl@cl@@QEBA?AVuse_primary_context@cuda@context@property@12@XZ ??$get_property@Vuse_primary_context@cuda@context@property@sycl@cl@@@sampler@sycl@cl@@QEBA?AVuse_primary_context@cuda@context@property@12@XZ @@ -231,15 +239,12 @@ ??$has_property@Vuse_pinned_host_memory@buffer@property@oneapi@ext@sycl@cl@@@context@sycl@cl@@QEBA_NXZ ??$has_property@Vuse_pinned_host_memory@buffer@property@oneapi@ext@sycl@cl@@@program@sycl@cl@@QEBA_NXZ ??$has_property@Vuse_pinned_host_memory@buffer@property@oneapi@ext@sycl@cl@@@sampler@sycl@cl@@QEBA_NXZ +??$has_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@context@sycl@cl@@QEBA_NXZ +??$has_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@program@sycl@cl@@QEBA_NXZ +??$has_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@sampler@sycl@cl@@QEBA_NXZ ??$has_property@Vuse_primary_context@cuda@context@property@sycl@cl@@@context@sycl@cl@@QEBA_NXZ ??$has_property@Vuse_primary_context@cuda@context@property@sycl@cl@@@program@sycl@cl@@QEBA_NXZ ??$has_property@Vuse_primary_context@cuda@context@property@sycl@cl@@@sampler@sycl@cl@@QEBA_NXZ -??$has_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@context@sycl@cl@@QEBA_NXZ -??$get_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@program@sycl@cl@@QEBA?AVuse_primary_context@context@property@cuda@oneapi@ext@12@XZ -??$get_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@sampler@sycl@cl@@QEBA?AVuse_primary_context@context@property@cuda@oneapi@ext@12@XZ -??$has_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@sampler@sycl@cl@@QEBA_NXZ -??$get_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@context@sycl@cl@@QEBA?AVuse_primary_context@0property@cuda@oneapi@ext@12@XZ -??$has_property@Vuse_primary_context@context@property@cuda@oneapi@ext@sycl@cl@@@program@sycl@cl@@QEBA_NXZ ??0?$image_impl@$00@detail@sycl@cl@@QEAA@AEAV?$shared_ptr@X@std@@W4image_channel_order@23@W4image_channel_type@23@AEBV?$range@$00@23@V?$unique_ptr@VSYCLMemObjAllocator@detail@sycl@cl@@U?$default_delete@VSYCLMemObjAllocator@detail@sycl@cl@@@std@@@5@AEBVproperty_list@23@@Z ??0?$image_impl@$00@detail@sycl@cl@@QEAA@PEAU_cl_mem@@AEBVcontext@23@Vevent@23@V?$unique_ptr@VSYCLMemObjAllocator@detail@sycl@cl@@U?$default_delete@VSYCLMemObjAllocator@detail@sycl@cl@@@std@@@std@@@Z ??0?$image_impl@$00@detail@sycl@cl@@QEAA@PEAXW4image_channel_order@23@W4image_channel_type@23@AEBV?$range@$00@23@V?$unique_ptr@VSYCLMemObjAllocator@detail@sycl@cl@@U?$default_delete@VSYCLMemObjAllocator@detail@sycl@cl@@@std@@@std@@AEBVproperty_list@23@@Z @@ -2042,7 +2047,6 @@ ?get@platform@sycl@cl@@QEBAPEAU_cl_platform_id@@XZ ?get@program@sycl@cl@@QEBAPEAU_cl_program@@XZ ?get@queue@sycl@cl@@QEBAPEAU_cl_command_queue@@XZ -?get_backend@kernel@sycl@cl@@QEBA?AW4backend@23@XZ ?getAssertHappenedBuffer@queue@sycl@cl@@AEAAAEAV?$buffer@UAssertHappened@detail@sycl@cl@@$00V?$aligned_allocator@D@234@X@23@XZ ?getBorderColor@detail@sycl@cl@@YA?AV?$vec@M$03@23@W4image_channel_order@23@@Z ?getBufSizeForContext@SYCLMemObjT@detail@sycl@cl@@SA_KAEBV?$shared_ptr@Vcontext_impl@detail@sycl@cl@@@std@@PEAU_cl_mem@@@Z @@ -2122,6 +2126,7 @@ ?get_backend@device@sycl@cl@@QEBA?AW4backend@23@XZ ?get_backend@event@sycl@cl@@QEBA?AW4backend@23@XZ ?get_backend@interop_handle@sycl@cl@@QEBA?AW4backend@23@XZ +?get_backend@kernel@sycl@cl@@QEBA?AW4backend@23@XZ ?get_backend@kernel_bundle_plain@detail@sycl@cl@@QEBA?AW4backend@34@XZ ?get_backend@platform@sycl@cl@@QEBA?AW4backend@23@XZ ?get_backend@program@sycl@cl@@QEBA?AW4backend@23@XZ @@ -2583,8 +2588,8 @@ ?make_event@detail@sycl@cl@@YA?AVevent@23@_KAEBVcontext@23@_NW4backend@23@@Z ?make_event@level_zero@oneapi@ext@sycl@cl@@YA?AVevent@45@AEBVcontext@45@_K_N@Z ?make_event@level_zero@sycl@cl@@YA?AVevent@23@AEBVcontext@23@_K_N@Z -?make_kernel@detail@sycl@cl@@YA?AVkernel@23@_KAEBVcontext@23@W4backend@23@@Z ?make_kernel@detail@sycl@cl@@YA?AVkernel@23@AEBVcontext@23@AEBV?$kernel_bundle@$01@23@_K_NW4backend@23@@Z +?make_kernel@detail@sycl@cl@@YA?AVkernel@23@_KAEBVcontext@23@W4backend@23@@Z ?make_kernel_bundle@detail@sycl@cl@@YA?AV?$shared_ptr@Vkernel_bundle_impl@detail@sycl@cl@@@std@@_KAEBVcontext@23@W4bundle_state@23@W4backend@23@@Z ?make_kernel_bundle@detail@sycl@cl@@YA?AV?$shared_ptr@Vkernel_bundle_impl@detail@sycl@cl@@@std@@_KAEBVcontext@23@_NW4bundle_state@23@W4backend@23@@Z ?make_platform@detail@sycl@cl@@YA?AVplatform@23@_KW4backend@23@@Z @@ -4591,9 +4596,5 @@ ?what@exception@sycl@cl@@UEBAPEBDXZ ?wrapIntoImageBuffer@MemoryManager@detail@sycl@cl@@SAPEAXV?$shared_ptr@Vcontext_impl@detail@sycl@cl@@@std@@PEAXPEAVSYCLMemObjI@234@@Z DllMain -??$get_info@$0CAAAB@@device@sycl@cl@@QEBA?AV?$id@$00@12@XZ -??$get_info@$0CAAAA@@device@sycl@cl@@QEBA_KXZ -??$get_info@$0CAAAD@@device@sycl@cl@@QEBA?AV?$id@$02@12@XZ -??$get_info@$0CAAAC@@device@sycl@cl@@QEBA?AV?$id@$01@12@XZ __sycl_register_lib __sycl_unregister_lib diff --git a/sycl/test/warnings/sycl_2020_deprecations.cpp b/sycl/test/warnings/sycl_2020_deprecations.cpp index 611749137cfaf..b12aeb66d8e4a 100644 --- a/sycl/test/warnings/sycl_2020_deprecations.cpp +++ b/sycl/test/warnings/sycl_2020_deprecations.cpp @@ -142,6 +142,10 @@ int main() { auto MCA = sycl::info::device::max_constant_args; (void)MCA; + // expected-warning@+1{{'built_in_kernels' is deprecated: use built_in_kernel_ids instead}} + auto BIK = sycl::info::device::built_in_kernels; + (void)BIK; + // expected-warning@+1{{'extensions' is deprecated: platform::extensions is deprecated, use device::get_info() with info::device::aspects instead.}} auto PE = sycl::info::platform::extensions;