From aeb8dbd7aef7901d560ef395aeca06106f82b060 Mon Sep 17 00:00:00 2001 From: "Tikhomirova, Kseniya" Date: Wed, 17 Dec 2025 04:41:46 -0800 Subject: [PATCH] [SYCL] Update aspect_selector Signed-off-by: Tikhomirova, Kseniya --- sycl/source/device_selector.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sycl/source/device_selector.cpp b/sycl/source/device_selector.cpp index f0ba21beb08bc..73892b27c5993 100644 --- a/sycl/source/device_selector.cpp +++ b/sycl/source/device_selector.cpp @@ -237,6 +237,12 @@ aspect_selector(const std::vector &RequireList, return [=](const sycl::device &Dev) { auto DevHas = [&](const aspect &Asp) -> bool { return Dev.has(Asp); }; + // SYCL 2020 4.6.1.1. Device selector: + // If no aspects are passed in, the generated selector behaves like + // default_selector_v. + if (RequireList.empty() && DenyList.empty()) + return default_selector_v(Dev); + // All aspects from require list are required. if (!std::all_of(RequireList.begin(), RequireList.end(), DevHas)) return detail::REJECT_DEVICE_SCORE; @@ -245,14 +251,7 @@ aspect_selector(const std::vector &RequireList, if (std::any_of(DenyList.begin(), DenyList.end(), DevHas)) return detail::REJECT_DEVICE_SCORE; - if (RequireList.size() > 0) { - return 1000 + detail::getDevicePreference(Dev); - } else { - // No required aspects specified. - // SYCL 2020 4.6.1.1 "If no aspects are passed in, the generated selector - // behaves like default_selector." - return default_selector_v(Dev); - } + return 1000 + detail::getDevicePreference(Dev); }; }