diff --git a/sycl/include/sycl/kernel_bundle.hpp b/sycl/include/sycl/kernel_bundle.hpp index c817de17e47df..202a16f77ab44 100644 --- a/sycl/include/sycl/kernel_bundle.hpp +++ b/sycl/include/sycl/kernel_bundle.hpp @@ -373,19 +373,8 @@ __SYCL_EXPORT detail::KernelBundleImplPtr get_kernel_bundle_impl(const context &Ctx, const std::vector &Devs, bundle_state State); -inline auto getDeviceComparisonLambda() { - return [](device a, device b) { return a.getNative() != b.getNative(); }; -} - -inline const std::vector -removeDuplicateDevices(const std::vector &Devs) { - auto compareDevices = getDeviceComparisonLambda(); - std::set UniqueDeviceSet( - Devs.begin(), Devs.end(), compareDevices); - std::vector UniqueDevices(UniqueDeviceSet.begin(), - UniqueDeviceSet.end()); - return UniqueDevices; -} +__SYCL_EXPORT const std::vector +removeDuplicateDevices(const std::vector &Devs); } // namespace detail diff --git a/sycl/source/kernel_bundle.cpp b/sycl/source/kernel_bundle.cpp index 49b1bb352606a..a4402461ceac7 100644 --- a/sycl/source/kernel_bundle.cpp +++ b/sycl/source/kernel_bundle.cpp @@ -113,6 +113,19 @@ bool kernel_bundle_plain::is_specialization_constant_set( ///// sycl::detail free functions ////////////////////////////////// +const std::vector +removeDuplicateDevices(const std::vector &Devs) { + auto compareDevices = [](device a, device b) { + return getSyclObjImpl(a)->getHandleRef() < + getSyclObjImpl(b)->getHandleRef(); + }; + std::set UniqueDeviceSet( + Devs.begin(), Devs.end(), compareDevices); + std::vector UniqueDevices(UniqueDeviceSet.begin(), + UniqueDeviceSet.end()); + return UniqueDevices; +} + kernel_id get_kernel_id_impl(std::string KernelName) { return detail::ProgramManager::getInstance().getSYCLKernelID(KernelName); } diff --git a/sycl/test/abi/sycl_symbols_linux.dump b/sycl/test/abi/sycl_symbols_linux.dump index 5cc6ed20d33da..0a0b8ec703169 100644 --- a/sycl/test/abi/sycl_symbols_linux.dump +++ b/sycl/test/abi/sycl_symbols_linux.dump @@ -3841,6 +3841,7 @@ _ZN4sycl3_V16detail22get_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6devi _ZN4sycl3_V16detail22has_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6deviceESaIS6_EENS0_12bundle_stateE _ZN4sycl3_V16detail22has_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6deviceESaIS6_EERKS5_INS0_9kernel_idESaISB_EENS0_12bundle_stateE _ZN4sycl3_V16detail22reduGetPreferredWGSizeERSt10shared_ptrINS1_10queue_implEEm +_ZN4sycl3_V16detail22removeDuplicateDevicesERKSt6vectorINS0_6deviceESaIS3_EE _ZN4sycl3_V16detail23constructorNotificationEPvS2_NS0_6access6targetENS3_4modeERKNS1_13code_locationE _ZN4sycl3_V16detail23getESIMDDeviceInterfaceEv _ZN4sycl3_V16detail24find_device_intersectionERKSt6vectorINS0_13kernel_bundleILNS0_12bundle_stateE1EEESaIS5_EE diff --git a/sycl/unittests/kernel-and-program/CMakeLists.txt b/sycl/unittests/kernel-and-program/CMakeLists.txt index 0f6349dcc8ab0..2b0a4fe972eff 100644 --- a/sycl/unittests/kernel-and-program/CMakeLists.txt +++ b/sycl/unittests/kernel-and-program/CMakeLists.txt @@ -5,5 +5,6 @@ add_sycl_unittest(KernelAndProgramTests OBJECT KernelInfo.cpp DeviceInfo.cpp PersistentDeviceCodeCache.cpp + KernelBuildOptions.cpp ) target_compile_definitions(KernelAndProgramTests PRIVATE -D__SYCL_INTERNAL_API) diff --git a/sycl/unittests/misc/KernelBuildOptions.cpp b/sycl/unittests/kernel-and-program/KernelBuildOptions.cpp similarity index 100% rename from sycl/unittests/misc/KernelBuildOptions.cpp rename to sycl/unittests/kernel-and-program/KernelBuildOptions.cpp diff --git a/sycl/unittests/misc/CMakeLists.txt b/sycl/unittests/misc/CMakeLists.txt index 127089d85ebaa..9819427ec74a1 100644 --- a/sycl/unittests/misc/CMakeLists.txt +++ b/sycl/unittests/misc/CMakeLists.txt @@ -2,6 +2,5 @@ set(sycl_lib_dir $) add_definitions(-DSYCL_LIB_DIR="${sycl_lib_dir}") add_sycl_unittest(MiscTests SHARED CircularBuffer.cpp - KernelBuildOptions.cpp OsUtils.cpp )