From 29f26fe188e0f4048f7b78fa5b28316d405658f4 Mon Sep 17 00:00:00 2001 From: Jinsong Ji Date: Wed, 13 Nov 2024 15:04:20 -0500 Subject: [PATCH 01/18] [CI] Force overwrite of iga64 in igc dev driver (#16073) Fix the installation failures. dpkg: error processing archive intel-igc-opencl-devel_2.1.0+0_amd64.deb (--install): trying to overwrite '/usr/local/bin/iga64', which is also in package intel-igc-media 1.0.17791.9 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Setting up intel-igc-core-2 (2.1.0) ... --- devops/scripts/install_drivers.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devops/scripts/install_drivers.sh b/devops/scripts/install_drivers.sh index 0fd8673e0edfa..f27c7f9c471e7 100755 --- a/devops/scripts/install_drivers.sh +++ b/devops/scripts/install_drivers.sh @@ -143,7 +143,9 @@ InstallIGFX () { echo "Download IGC dev git hash $IGC_DEV_VER" get_pre_release_igfx $IGC_DEV_URL $IGC_DEV_VER echo "Install IGC dev git hash $IGC_DEV_VER" - dpkg -i *.deb + # New dev IGC packaged iga64 conflicting with iga64 from intel-igc-media + # force overwrite to workaround it first. + dpkg -i --force-overwrite *.deb echo "Install libopencl-clang" # Workaround only, will download deb and install with dpkg once fixed. cp -d libopencl-clang.so.14* /usr/local/lib/ From 0a3a3243bb81d9f96d109c76c70bef1b04cc5204 Mon Sep 17 00:00:00 2001 From: Zahira Ammarguellat Date: Wed, 13 Nov 2024 12:17:59 -0800 Subject: [PATCH 02/18] [SYCL] IsDerivedFromInclusive expects a compelete type in the presence of attribute add_ir_attributes_global_variable. (#15897) This test is crashing the compiler. `struct A {` `protected:` `static constexpr const char *ir_attribute_name = "";` `static constexpr auto ir_attribute_value = nullptr;` `};` `template ` `struct [[__sycl_detail__::add_ir_attributes_global_variable(` ` Ts::ir_attribute_name, Ts::ir_attribute_value)]] B {` `};` `B v;` When a class attribute accepts an arbitrary expression, the underlying class needs to be a complete type. --- clang/lib/Sema/SemaAccess.cpp | 3 +++ clang/test/SemaSYCL/attr-add-ir-attributes.cpp | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/clang/lib/Sema/SemaAccess.cpp b/clang/lib/Sema/SemaAccess.cpp index 019bf012e4331..e6600aab7be51 100644 --- a/clang/lib/Sema/SemaAccess.cpp +++ b/clang/lib/Sema/SemaAccess.cpp @@ -301,6 +301,7 @@ static AccessResult IsDerivedFromInclusive(const CXXRecordDecl *Derived, const CXXRecordDecl *Target) { assert(Derived->getCanonicalDecl() == Derived); assert(Target->getCanonicalDecl() == Target); + assert(Derived->getDefinition() && "Expecting a complete type"); if (Derived == Target) return AR_accessible; @@ -776,6 +777,8 @@ static AccessResult HasAccess(Sema &S, // [B3] and [M3] } else { assert(Access == AS_protected); + if (!ECRecord->getDefinition()) + continue; switch (IsDerivedFromInclusive(ECRecord, NamingClass)) { case AR_accessible: break; case AR_inaccessible: continue; diff --git a/clang/test/SemaSYCL/attr-add-ir-attributes.cpp b/clang/test/SemaSYCL/attr-add-ir-attributes.cpp index f670f983da017..bd4ea2a685cde 100644 --- a/clang/test/SemaSYCL/attr-add-ir-attributes.cpp +++ b/clang/test/SemaSYCL/attr-add-ir-attributes.cpp @@ -991,3 +991,16 @@ struct __attribute__((sycl_special_class)) InvalidSpecialClassStruct32 { struct [[__sycl_detail__::add_ir_attributes_kernel_parameter("Attr1", 1)]] InvalidKernelParameterSubjectStruct; // expected-error {{'add_ir_attributes_kernel_parameter' attribute only applies to parameters}} [[__sycl_detail__::add_ir_attributes_kernel_parameter("Attr1", 1)]] void InvalidKernelParameterSubjectFunction() {} // expected-error {{'add_ir_attributes_kernel_parameter' attribute only applies to parameters}} [[__sycl_detail__::add_ir_attributes_kernel_parameter("Attr1", 1)]] int InvalidKernelParameterSubjectVar; // expected-error {{'add_ir_attributes_kernel_parameter' attribute only applies to parameters}} + +struct A { + protected: + static constexpr const char *ir_attribute_name = ""; // expected-note {{declared protected here}} + static constexpr auto ir_attribute_value = nullptr; // expected-note {{declared protected here}} +}; + +template +struct [[__sycl_detail__::add_ir_attributes_global_variable( + Ts::ir_attribute_name, Ts::ir_attribute_value)]] B { // expected-error {{'ir_attribute_name' is a protected member of 'A'}} // expected-error {{'ir_attribute_value' is a protected member of 'A'}} +}; + +B v; // expected-note {{in instantiation of template class 'B' requested here}} From 80b63a28bad691727c90764e90f60df0d541b23f Mon Sep 17 00:00:00 2001 From: Nick Sarnie Date: Thu, 14 Nov 2024 06:30:31 +0900 Subject: [PATCH 03/18] [CI] Only run one post commit job on a push to a pull request in sycl-devops-pr (#16079) Kind of a really specific case, but if someone pushes to `sycl-devops-pr` to run postcommit and then makes a PR from the same branch, both the initial pull request event and every subsequent push to the branch will cause two postcommits to run, one from the push to the branch and one from the PR. Use a unique key that will be the same in both cases so only one is run and the other is cancelled. Nobody really uses this branch besides CI devs so we don't need to overengineer it so it never runs two in the first place IMO. --------- Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-post-commit.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 1abd497a9c97c..15c66c8d4bdfa 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -20,8 +20,11 @@ on: - ./devops/actions/cached_checkout concurrency: - # Cancel a currently running workflow from the same PR or commit hash. - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + # Cancel a currently running workflow from the same PR or commit hash. + # We need to use the user's branch name (which is in different variables + # for pull request events and push events) so that making a PR from a + # sycl-devops-pr branch doesn't cause two postcommit runs. + group: "${{ github.actor }}-${{ github.head_ref || github.ref_name }}" cancel-in-progress: true permissions: read-all From 853917d8f46457bae50ff2afc1f28747c4670f12 Mon Sep 17 00:00:00 2001 From: aelovikov-intel Date: Wed, 13 Nov 2024 17:55:13 -0800 Subject: [PATCH 04/18] [SYCL] Don't use boost/mp11 for oneapi properties sorting (#16075) We want to get rid of it for the upstreaming purposes. --- .../ext/intel/esimd/memory_properties.hpp | 4 +- .../annotated_ptr/annotated_ptr.hpp | 2 + .../sycl/ext/oneapi/properties/properties.hpp | 66 ++++++++++++++++--- .../ext/oneapi/properties/property_utils.hpp | 21 ------ .../include_deps/sycl_detail_core.hpp.cpp | 27 -------- 5 files changed, 62 insertions(+), 58 deletions(-) diff --git a/sycl/include/sycl/ext/intel/esimd/memory_properties.hpp b/sycl/include/sycl/ext/intel/esimd/memory_properties.hpp index 94b3b2cebd61d..da9ca3d5506d3 100644 --- a/sycl/include/sycl/ext/intel/esimd/memory_properties.hpp +++ b/sycl/include/sycl/ext/intel/esimd/memory_properties.hpp @@ -77,8 +77,8 @@ class properties // Deduction guides template properties(PropertyValueTs... props) - -> properties::type>; + -> properties::type>; #endif /// The 'alignment' property is used to specify the alignment of memory diff --git a/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp b/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp index ea90f3d9d1cef..b7e90788175a8 100644 --- a/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp +++ b/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp @@ -19,6 +19,8 @@ #include #include +#include + #include #include #include diff --git a/sycl/include/sycl/ext/oneapi/properties/properties.hpp b/sycl/include/sycl/ext/oneapi/properties/properties.hpp index cecb310b97eb7..190a16ce5d4c3 100644 --- a/sycl/include/sycl/ext/oneapi/properties/properties.hpp +++ b/sycl/include/sycl/ext/oneapi/properties/properties.hpp @@ -132,6 +132,54 @@ constexpr bool properties_are_valid_for_ctad = []() constexpr { template struct properties_type_list; template struct invalid_properties_type_list {}; + +template struct properties_sorter { + // Not using "auto" due to MSVC bug in v19.36 and older. v19.37 and later is + // able to compile "auto" just fine. See https://godbolt.org/z/eW3rjjs7n. + static constexpr std::array sorted_indices = + []() constexpr { + int idx = 0; + int N = sizeof...(property_tys); + // std::sort isn't constexpr until C++20. Also, it's possible there will + // be a compiler builtin to sort types, in which case we should start + // using that. + std::array to_sort{ + std::pair{PropertyID::value, idx++}...}; + auto swap_pair = [](auto &x, auto &y) constexpr { + auto tmp_first = x.first; + auto tmp_second = x.second; + x.first = y.first; + x.second = y.second; + y.first = tmp_first; + y.second = tmp_second; + }; + for (int i = 0; i < N; ++i) + for (int j = i; j < N; ++j) + if (to_sort[j].first < to_sort[i].first) + swap_pair(to_sort[i], to_sort[j]); + + std::array sorted_indices{}; + for (int i = 0; i < N; ++i) + sorted_indices[i] = to_sort[i].second; + + return sorted_indices; + }(); + + template struct helper; + template + struct helper> { + using type = properties_type_list< + nth_type_t...>; + }; + + using type = typename helper< + std::make_integer_sequence>::type; +}; +// Specialization to avoid zero-size array creation. +template <> struct properties_sorter<> { + using type = properties_type_list<>; +}; + } // namespace detail template class __SYCL_EBO properties; @@ -271,17 +319,19 @@ class __SYCL_EBO properties> }; // Deduction guides -template >> -properties(PropertyValueTs... props) - -> properties::type>; + detail::properties_are_valid_for_ctad>> +properties(unsorted_property_tys... props) + -> properties< + typename detail::properties_sorter::type>; -template >> -properties(PropertyValueTs... props) - -> properties>; + !detail::properties_are_valid_for_ctad>> +properties(unsorted_property_tys... props) + -> properties< + detail::invalid_properties_type_list>; using empty_properties_t = decltype(properties{}); diff --git a/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp b/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp index aee53419498eb..3cf38f8d1dad0 100644 --- a/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp +++ b/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp @@ -8,10 +8,6 @@ #pragma once -#include // for mp_sort_q -#include // for mp_list -#include // for mp_rename -#include // for mp_bool #include #include @@ -94,23 +90,6 @@ template struct SelectNonVoid { using type = RHS; }; -// Sort types accoring to their PropertyID. -struct SortByPropertyId { - template - using fn = sycl::detail::boost::mp11::mp_bool<(PropertyID::value < - PropertyID::value)>; -}; -template struct Sorted { - static_assert(detail::AllPropertyValues>::value, - "Unrecognized property in property list."); - using properties = sycl::detail::boost::mp11::mp_list; - using sortedProperties = - sycl::detail::boost::mp11::mp_sort_q; - using type = - sycl::detail::boost::mp11::mp_rename; -}; - //****************************************************************************** // Property merging //****************************************************************************** diff --git a/sycl/test/include_deps/sycl_detail_core.hpp.cpp b/sycl/test/include_deps/sycl_detail_core.hpp.cpp index 4abe5f39073c7..dc959046444af 100644 --- a/sycl/test/include_deps/sycl_detail_core.hpp.cpp +++ b/sycl/test/include_deps/sycl_detail_core.hpp.cpp @@ -110,33 +110,6 @@ // CHECK-NEXT: ext/oneapi/properties/property_value.hpp // CHECK-NEXT: ext/oneapi/properties/properties.hpp // CHECK-NEXT: ext/oneapi/properties/property_utils.hpp -// CHECK-NEXT: detail/boost/mp11/algorithm.hpp -// CHECK-NEXT: detail/boost/mp11/list.hpp -// CHECK-NEXT: detail/boost/mp11/integral.hpp -// CHECK-NEXT: detail/boost/mp11/version.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_value.hpp -// CHECK-NEXT: detail/boost/mp11/detail/config.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_list.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_list_v.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_is_list.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_is_value_list.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_front.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_rename.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_defer.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_append.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_count.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_plus.hpp -// CHECK-NEXT: detail/boost/mp11/utility.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_fold.hpp -// CHECK-NEXT: detail/boost/mp11/set.hpp -// CHECK-NEXT: detail/boost/mp11/function.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_min_element.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_void.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_copy_if.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_remove_if.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_map_find.hpp -// CHECK-NEXT: detail/boost/mp11/detail/mp_with_index.hpp -// CHECK-NEXT: detail/boost/mp11/integer_sequence.hpp // CHECK-NEXT: ext/oneapi/experimental/graph.hpp // CHECK-NEXT: handler.hpp // CHECK-NEXT: detail/cl.h From 347c2e640a000a5e5fd9f387529d7ec118c9aa3e Mon Sep 17 00:00:00 2001 From: Marcos Maronas Date: Thu, 14 Nov 2024 10:06:47 +0000 Subject: [PATCH 05/18] [SYCL] Make CollectorLibraryWrapper and BinaryWrapper classes comply with Rule of Three. (#16074) `CollectorLibraryWrapper` and `BinaryWrapper` had a custom destructor, but no copy constructor and no copy assignment operator, so they were not complying with the Rule of Three. Explicitly add the two latter as deleted to comply. --- clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp | 3 +++ sycl/tools/sycl-trace/collector.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp b/clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp index 66853d5daefa2..8079f9fa22e1b 100644 --- a/clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp +++ b/clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp @@ -1359,6 +1359,9 @@ class BinaryWrapper { ObjcopyPath = *ObjcopyPathOrErr; } + BinaryWrapper(const BinaryWrapper &BW) = delete; + BinaryWrapper &operator=(const BinaryWrapper &BW) = delete; + ~BinaryWrapper() { if (TempFiles.empty()) return; diff --git a/sycl/tools/sycl-trace/collector.cpp b/sycl/tools/sycl-trace/collector.cpp index bdfbb377b8ecc..a58cc24cdfd24 100644 --- a/sycl/tools/sycl-trace/collector.cpp +++ b/sycl/tools/sycl-trace/collector.cpp @@ -44,6 +44,9 @@ class CollectorLibraryWrapper { public: CollectorLibraryWrapper(const std::string &LibraryName) : MLibraryName(LibraryName){}; + CollectorLibraryWrapper(const CollectorLibraryWrapper &Other) = delete; + CollectorLibraryWrapper & + operator=(const CollectorLibraryWrapper &Other) = delete; ~CollectorLibraryWrapper() { clear(); }; const std::string InitFuncName = "init"; From c0015204bfd926e979ec37395af03a3daca35b39 Mon Sep 17 00:00:00 2001 From: Yang Zhao Date: Thu, 14 Nov 2024 18:26:54 +0800 Subject: [PATCH 06/18] [DeviceASAN] Enable e2e test "private_nullptr.cpp" (#15995) --- .../AddressSanitizer/nullpointer/private_nullptr.cpp | 8 ++------ .../e2e_test_requirements/no-xfail-without-tracker.cpp | 5 ++--- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp b/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp index 6b013a2aee1e2..4ac02b8d32343 100644 --- a/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp +++ b/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp @@ -6,9 +6,6 @@ // RUN: %{build} %device_asan_flags -O2 -g -o %t3.out // RUN: %{run} not %t3.out 2>&1 | FileCheck %s -// FIXME: There's an issue in gfx driver, so this test pending here. -// XFAIL: * - #include #include @@ -22,15 +19,14 @@ int main() { sycl::nd_range<1>(N, 1), [=](sycl::nd_item<1> item) { auto private_array = sycl::ext::oneapi::experimental::static_address_cast< - sycl::access::address_space::private_space, - sycl::access::decorated::no>(array); + sycl::access::address_space::private_space>(array); private_array[0] = 0; }); Q.wait(); }); // CHECK: ERROR: DeviceSanitizer: null-pointer-access on Unknown Memory // CHECK: WRITE of size 4 at kernel {{<.*MyKernel>}} LID(0, 0, 0) GID({{.*}}, 0, 0) - // CHECK: {{.*private_nullptr.cpp}}:[[@LINE-5]] + // CHECK: {{.*private_nullptr.cpp}}:[[@LINE-6]] return 0; } diff --git a/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp b/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp index 7274f59992c72..dbf8dac7112b3 100644 --- a/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp +++ b/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp @@ -51,13 +51,12 @@ // tests to match the required format and in that case you should just update // (i.e. reduce) the number and the list below. // -// NUMBER-OF-XFAIL-WITHOUT-TRACKER: 142 +// NUMBER-OF-XFAIL-WITHOUT-TRACKER: 141 // // List of improperly XFAIL-ed tests. // Remove the CHECK once the test has been properly XFAIL-ed. // -// CHECK: AddressSanitizer/nullpointer/private_nullptr.cpp -// CHECK-NEXT: Basic/aspects.cpp +// CHECK: Basic/aspects.cpp // CHECK-NEXT: Basic/buffer/reinterpret.cpp // CHECK-NEXT: Basic/device_event.cpp // CHECK-NEXT: Basic/diagnostics/handler.cpp From 4157203f96755f0f9a05aaa7d9a867d791f472ce Mon Sep 17 00:00:00 2001 From: Nikita Kornev Date: Thu, 14 Nov 2024 11:11:05 +0000 Subject: [PATCH 07/18] [SYCL][E2E] Remove RUNx lines (#16032) This PR updates the tests containing RUNx lines. Some of them are turned back on. The rest is updated. --- sycl/test-e2e/Basic/fpga_tests/fpga_io_pipes.cpp | 5 ++--- sycl/test-e2e/Graph/Explicit/host_task_last.cpp | 6 ++++-- sycl/test-e2e/Graph/RecordReplay/host_task_last.cpp | 6 ++++-- sycl/test-e2e/OptionalKernelFeatures/fp64-conv-emu.cpp | 5 ++--- sycl/test-e2e/Regression/isordered.cpp | 3 ++- sycl/test-e2e/Regression/mad_sat.cpp | 2 +- sycl/test-e2e/SharedLib/use_with_dlopen.cpp | 6 ++++-- sycl/test-e2e/SharedLib/use_with_dlopen_verify_cache.cpp | 5 +++-- 8 files changed, 22 insertions(+), 16 deletions(-) diff --git a/sycl/test-e2e/Basic/fpga_tests/fpga_io_pipes.cpp b/sycl/test-e2e/Basic/fpga_tests/fpga_io_pipes.cpp index ed6ff3fc6dccb..1eb50966b76ee 100644 --- a/sycl/test-e2e/Basic/fpga_tests/fpga_io_pipes.cpp +++ b/sycl/test-e2e/Basic/fpga_tests/fpga_io_pipes.cpp @@ -1,6 +1,5 @@ -// REQUIRES: accelerator -// RUN: %{build} -o %t.out -// RUNx: %{run} %t.out +// RUN: %{build} -fsyntax-only -o %t.out +// TODO: launch the test if the feature is supported. //==------------ fpga_io_pipes.cpp - SYCL FPGA pipes test ------------------==// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. diff --git a/sycl/test-e2e/Graph/Explicit/host_task_last.cpp b/sycl/test-e2e/Graph/Explicit/host_task_last.cpp index fe078facd4fae..a64475a6530ff 100644 --- a/sycl/test-e2e/Graph/Explicit/host_task_last.cpp +++ b/sycl/test-e2e/Graph/Explicit/host_task_last.cpp @@ -3,9 +3,11 @@ // Extra run to check for leaks in Level Zero using UR_L0_LEAKS_DEBUG // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} -// Disabled due to https://github.com/intel/llvm/issues/14473 +// clang-format off // Extra run to check for immediate-command-list in Level Zero -// RUNx: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} +// TODO: enable the run-line below when the issue is fixed - https://github.com/intel/llvm/issues/14473 +// %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} +// clang-format on // REQUIRES: aspect-usm_shared_allocations diff --git a/sycl/test-e2e/Graph/RecordReplay/host_task_last.cpp b/sycl/test-e2e/Graph/RecordReplay/host_task_last.cpp index 450ab65d05942..28eee1491a264 100644 --- a/sycl/test-e2e/Graph/RecordReplay/host_task_last.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/host_task_last.cpp @@ -3,9 +3,11 @@ // Extra run to check for leaks in Level Zero using UR_L0_LEAKS_DEBUG // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} -// Disabled due to https://github.com/intel/llvm/issues/14473 +// clang-format off // Extra run to check for immediate-command-list in Level Zero -// RUNx: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} +// TODO: enable the run below when the issue is fixed - https://github.com/intel/llvm/issues/14473 +// %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} +// clang-format on // REQUIRES: aspect-usm_shared_allocations diff --git a/sycl/test-e2e/OptionalKernelFeatures/fp64-conv-emu.cpp b/sycl/test-e2e/OptionalKernelFeatures/fp64-conv-emu.cpp index 5094a1d0af48f..81934fd4d2184 100644 --- a/sycl/test-e2e/OptionalKernelFeatures/fp64-conv-emu.cpp +++ b/sycl/test-e2e/OptionalKernelFeatures/fp64-conv-emu.cpp @@ -1,9 +1,8 @@ -// REQUIRES: ocloc, gpu, linux +// REQUIRES: ocloc, gpu, linux, aspect-fp64 // UNSUPPORTED: cuda, hip // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend "-device pvc" -fsycl-fp64-conv-emu -O0 %s -o %t_opt.out -// TODO: Enable when GPU driver is updated. -// RUNx: %{run} %t_opt.out +// RUN: %{run} %t_opt.out // Tests that aspect::fp64 is not emitted correctly when -fsycl-fp64-conv-emu // flag is used. diff --git a/sycl/test-e2e/Regression/isordered.cpp b/sycl/test-e2e/Regression/isordered.cpp index 7d3d0d32b688c..05ec9c0b73574 100644 --- a/sycl/test-e2e/Regression/isordered.cpp +++ b/sycl/test-e2e/Regression/isordered.cpp @@ -1,5 +1,6 @@ +// REQUIRES: aspect-fp64, aspect-fp16 // RUN: %{build} -o %t.out -// RUNx: %{run} %t.out +// RUN: %{run} %t.out #include diff --git a/sycl/test-e2e/Regression/mad_sat.cpp b/sycl/test-e2e/Regression/mad_sat.cpp index 401a2644d1743..964997171672f 100644 --- a/sycl/test-e2e/Regression/mad_sat.cpp +++ b/sycl/test-e2e/Regression/mad_sat.cpp @@ -1,5 +1,5 @@ // RUN: %{build} -Wno-error=integer-overflow -Wno-error=implicitly-unsigned-literal -o %t.out -// RUNx: %{run} %t.out +// RUN: %{run} %t.out #include diff --git a/sycl/test-e2e/SharedLib/use_with_dlopen.cpp b/sycl/test-e2e/SharedLib/use_with_dlopen.cpp index b904b8c3b1aa0..d042e8d711ebb 100644 --- a/sycl/test-e2e/SharedLib/use_with_dlopen.cpp +++ b/sycl/test-e2e/SharedLib/use_with_dlopen.cpp @@ -14,8 +14,10 @@ // RUN: %{run} %t3.out // This causes SEG. FAULT. -// RUNx: %{compile} -o %t4.out -DRUN_LAST -// RUNx: %{run} %t4.out +// Enable the lines below when the issue is fixed: +// https://github.com/intel/llvm/issues/16031 +// %{compile} -o %t4.out -DRUN_LAST +// %{run} %t4.out #include diff --git a/sycl/test-e2e/SharedLib/use_with_dlopen_verify_cache.cpp b/sycl/test-e2e/SharedLib/use_with_dlopen_verify_cache.cpp index fcc50a6acaaf4..ef90a0a3c9651 100644 --- a/sycl/test-e2e/SharedLib/use_with_dlopen_verify_cache.cpp +++ b/sycl/test-e2e/SharedLib/use_with_dlopen_verify_cache.cpp @@ -15,8 +15,9 @@ // clang-format off // This causes SEG. FAULT. -// RUNx: %{compile} -DRUN_LAST -// RUNx: env SYCL_UR_TRACE=2 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-LAST,CHECK --implicit-check-not=piProgramBuild +// Enable the lines below when the issue is fixed - https://github.com/intel/llvm/issues/16031 +// %{compile} -DRUN_LAST +// env SYCL_UR_TRACE=2 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-LAST,CHECK --implicit-check-not=piProgramBuild // clang-format on #include From 0d5dc84b5e00a79576716851d0a274558dfac5af Mon Sep 17 00:00:00 2001 From: Sergey Semenov Date: Thu, 14 Nov 2024 04:48:26 -0800 Subject: [PATCH 08/18] [SYCL] Align is_compatible with compile_target checks (#16060) is_compatible used a different logic compared to the checks used in the standard image selection path. This change makes both use a single code path, which adds compile_target related checks to is_compatible. --- sycl/source/detail/compiler.hpp | 3 + .../program_manager/program_manager.cpp | 100 ++++++++++++------ .../program_manager/program_manager.hpp | 3 + sycl/source/kernel_bundle.cpp | 31 +----- .../program_manager/CompileTarget.cpp | 12 ++- 5 files changed, 83 insertions(+), 66 deletions(-) diff --git a/sycl/source/detail/compiler.hpp b/sycl/source/detail/compiler.hpp index 827ee61ef8110..35f313ceec3f5 100644 --- a/sycl/source/detail/compiler.hpp +++ b/sycl/source/detail/compiler.hpp @@ -31,6 +31,9 @@ #define __SYCL_DEVICE_BINARY_TARGET_NVPTX64 "nvptx64" #define __SYCL_DEVICE_BINARY_TARGET_AMDGCN "amdgcn" #define __SYCL_DEVICE_BINARY_TARGET_NATIVE_CPU "native_cpu" +// JIT compilation targets for CUDA & HIP devices. +#define __SYCL_DEVICE_BINARY_TARGET_LLVM_NVPTX64 "llvm_nvptx64" +#define __SYCL_DEVICE_BINARY_TARGET_LLVM_AMDGCN "llvm_amdgcn" /// Device binary image property set names recognized by the SYCL runtime. /// Name must be consistent with diff --git a/sycl/source/detail/program_manager/program_manager.cpp b/sycl/source/detail/program_manager/program_manager.cpp index 0c188b9fef718..276dc0795f003 100644 --- a/sycl/source/detail/program_manager/program_manager.cpp +++ b/sycl/source/detail/program_manager/program_manager.cpp @@ -1341,7 +1341,7 @@ void CheckJITCompilationForImage(const RTDeviceBinaryImage *const &Image, const char *getArchName(const device &Device) { namespace syclex = sycl::ext::oneapi::experimental; - auto Arch = Device.get_info(); + auto Arch = getSyclObjImpl(Device)->getDeviceArch(); switch (Arch) { #define __SYCL_ARCHITECTURE(ARCH, VAL) \ case syclex::architecture::ARCH: \ @@ -1369,45 +1369,14 @@ RTDeviceBinaryImage *getBinImageFromMultiMap( // Here, we aim to select all the device images from the // [ItBegin, ItEnd) range that are AOT compiled for Device - // (checked using info::device::architecture) or JIT compiled. + // (checked using info::device::architecture) or JIT compiled. // This selection will then be passed to urDeviceSelectBinary // for final selection. - std::string_view ArchName = getArchName(Device); std::vector DeviceFilteredImgs; DeviceFilteredImgs.reserve(std::distance(ItBegin, ItEnd)); for (auto It = ItBegin; It != ItEnd; ++It) { - auto PropRange = It->second->getDeviceRequirements(); - auto PropIt = - std::find_if(PropRange.begin(), PropRange.end(), [&](const auto &Prop) { - return Prop->Name == std::string_view("compile_target"); - }); - auto AddImg = [&]() { DeviceFilteredImgs.push_back(It->second); }; - - // Device image has no compile_target property, so it is JIT compiled. - if (PropIt == PropRange.end()) { - AddImg(); - continue; - } - - // Device image has the compile_target property, so it is AOT compiled for - // some device, check if that architecture is Device's architecture. - auto CompileTargetByteArray = DeviceBinaryProperty(*PropIt).asByteArray(); - CompileTargetByteArray.dropBytes(8); - std::string_view CompileTarget( - reinterpret_cast(&CompileTargetByteArray[0]), - CompileTargetByteArray.size()); - // Note: there are no explicit targets for CPUs, so on x86_64, - // intel_cpu_spr, and intel_cpu_gnr, we use a spir64_x86_64 - // compile target image. - // TODO: When dedicated targets for CPU are added, (i.e. - // -fsycl-targets=intel_cpu_spr etc.) remove this special - // handling of CPU targets. - if ((ArchName == CompileTarget) || - (CompileTarget == "spir64_x86_64" && - (ArchName == "x86_64" || ArchName == "intel_cpu_spr" || - ArchName == "intel_cpu_gnr"))) { - AddImg(); - } + if (doesImageTargetMatchDevice(*It->second, Device)) + DeviceFilteredImgs.push_back(It->second); } if (DeviceFilteredImgs.empty()) @@ -3405,6 +3374,67 @@ checkDevSupportDeviceRequirements(const device &Dev, return {}; } +bool doesImageTargetMatchDevice(const RTDeviceBinaryImage &Img, + const device &Dev) { + auto PropRange = Img.getDeviceRequirements(); + auto PropIt = + std::find_if(PropRange.begin(), PropRange.end(), [&](const auto &Prop) { + return Prop->Name == std::string_view("compile_target"); + }); + // Device image has no compile_target property, check target. + if (PropIt == PropRange.end()) { + sycl::backend BE = Dev.get_backend(); + const char *Target = Img.getRawData().DeviceTargetSpec; + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64) == 0) { + return (BE == sycl::backend::opencl || + BE == sycl::backend::ext_oneapi_level_zero); + } + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64_X86_64) == 0) { + return Dev.is_cpu(); + } + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64_GEN) == 0) { + return Dev.is_gpu() && (BE == sycl::backend::opencl || + BE == sycl::backend::ext_oneapi_level_zero); + } + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64_FPGA) == 0) { + return Dev.is_accelerator(); + } + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_NVPTX64) == 0 || + strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_LLVM_NVPTX64) == 0) { + return BE == sycl::backend::ext_oneapi_cuda; + } + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_AMDGCN) == 0 || + strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_LLVM_AMDGCN) == 0) { + return BE == sycl::backend::ext_oneapi_hip; + } + if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_NATIVE_CPU) == 0) { + return BE == sycl::backend::ext_oneapi_native_cpu; + } + assert(false && "Unexpected image target"); + return false; + } + + // Device image has the compile_target property, so it is AOT compiled for + // some device, check if that architecture is Device's architecture. + auto CompileTargetByteArray = DeviceBinaryProperty(*PropIt).asByteArray(); + // Drop 8 bytes describing the size of the byte array. + CompileTargetByteArray.dropBytes(8); + std::string_view CompileTarget( + reinterpret_cast(&CompileTargetByteArray[0]), + CompileTargetByteArray.size()); + std::string_view ArchName = getArchName(Dev); + // Note: there are no explicit targets for CPUs, so on x86_64, + // intel_cpu_spr, and intel_cpu_gnr, we use a spir64_x86_64 + // compile target image. + // TODO: When dedicated targets for CPU are added, (i.e. + // -fsycl-targets=intel_cpu_spr etc.) remove this special + // handling of CPU targets. + return ((ArchName == CompileTarget) || + (CompileTarget == "spir64_x86_64" && + (ArchName == "x86_64" || ArchName == "intel_cpu_spr" || + ArchName == "intel_cpu_gnr"))); +} + } // namespace detail } // namespace _V1 } // namespace sycl diff --git a/sycl/source/detail/program_manager/program_manager.hpp b/sycl/source/detail/program_manager/program_manager.hpp index 8ab12229fc6c5..0586a41a83540 100644 --- a/sycl/source/detail/program_manager/program_manager.hpp +++ b/sycl/source/detail/program_manager/program_manager.hpp @@ -58,6 +58,9 @@ checkDevSupportDeviceRequirements(const device &Dev, const RTDeviceBinaryImage &BinImages, const NDRDescT &NDRDesc = {}); +bool doesImageTargetMatchDevice(const RTDeviceBinaryImage &Img, + const device &Dev); + // This value must be the same as in libdevice/device_itt.h. // See sycl/doc/design/ITTAnnotations.md for more info. static constexpr uint32_t inline ITTSpecConstId = 0xFF747469; diff --git a/sycl/source/kernel_bundle.cpp b/sycl/source/kernel_bundle.cpp index 5e81084c9aaaa..a5bf9245c6d82 100644 --- a/sycl/source/kernel_bundle.cpp +++ b/sycl/source/kernel_bundle.cpp @@ -307,35 +307,6 @@ std::vector get_kernel_ids() { bool is_compatible(const std::vector &KernelIDs, const device &Dev) { if (KernelIDs.empty()) return true; - // TODO: also need to check that the architecture specified by the - // "-fsycl-targets" flag matches the device when we are able to get the - // device's arch. - auto doesImageTargetMatchDevice = [](const device &Dev, - const detail::RTDeviceBinaryImage &Img) { - const char *Target = Img.getRawData().DeviceTargetSpec; - auto BE = Dev.get_backend(); - if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64) == 0) { - return (BE == sycl::backend::opencl || - BE == sycl::backend::ext_oneapi_level_zero); - } else if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64_X86_64) == - 0) { - return Dev.is_cpu(); - } else if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64_GEN) == 0) { - return Dev.is_gpu() && (BE == sycl::backend::opencl || - BE == sycl::backend::ext_oneapi_level_zero); - } else if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_SPIRV64_FPGA) == 0) { - return Dev.is_accelerator(); - } else if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_NVPTX64) == 0) { - return BE == sycl::backend::ext_oneapi_cuda; - } else if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_AMDGCN) == 0) { - return BE == sycl::backend::ext_oneapi_hip; - } else if (strcmp(Target, __SYCL_DEVICE_BINARY_TARGET_NATIVE_CPU) == 0) { - return BE == sycl::backend::ext_oneapi_native_cpu; - } - - return false; - }; - // One kernel may be contained in several binary images depending on the // number of targets. This kernel is compatible with the device if there is // at least one image (containing this kernel) whose aspects are supported by @@ -347,7 +318,7 @@ bool is_compatible(const std::vector &KernelIDs, const device &Dev) { if (std::none_of(BinImages.begin(), BinImages.end(), [&](const detail::RTDeviceBinaryImage *Img) { return doesDevSupportDeviceRequirements(Dev, *Img) && - doesImageTargetMatchDevice(Dev, *Img); + doesImageTargetMatchDevice(*Img, Dev); })) return false; } diff --git a/sycl/unittests/program_manager/CompileTarget.cpp b/sycl/unittests/program_manager/CompileTarget.cpp index 4d0bfaae055c1..f39e4d717c59e 100644 --- a/sycl/unittests/program_manager/CompileTarget.cpp +++ b/sycl/unittests/program_manager/CompileTarget.cpp @@ -59,12 +59,14 @@ class NDRangeKernel; class RangeKernel; class NoDeviceKernel; class JITFallbackKernel; +class SKLOnlyKernel; MOCK_INTEGRATION_HEADER(SingleTaskKernel) MOCK_INTEGRATION_HEADER(NDRangeKernel) MOCK_INTEGRATION_HEADER(RangeKernel) MOCK_INTEGRATION_HEADER(NoDeviceKernel) MOCK_INTEGRATION_HEADER(JITFallbackKernel) +MOCK_INTEGRATION_HEADER(SKLOnlyKernel) static sycl::unittest::MockDeviceImage Img[] = { sycl::unittest::generateDefaultImage({"SingleTaskKernel"}), @@ -93,7 +95,8 @@ static sycl::unittest::MockDeviceImage Img[] = { sycl::unittest::generateDefaultImage({"JITFallbackKernel"}), sycl::unittest::generateImageWithCompileTarget("JITFallbackKernel", "intel_gpu_bdw"), -}; + sycl::unittest::generateImageWithCompileTarget("SKLOnlyKernel", + "intel_gpu_skl")}; static sycl::unittest::MockDeviceImageArray ImgArray{Img}; @@ -336,3 +339,10 @@ TEST_F(CompileTargetTest, JITFallbackKernel) { ASSERT_EQ(createWithILLog.size(), 1U); EXPECT_EQ(createWithILLog.back(), "JITFallbackKernel"); } + +TEST_F(CompileTargetTest, IsCompatible) { + device Skl{archSelector(syclex::architecture::intel_gpu_skl)}; + EXPECT_TRUE(sycl::is_compatible(Skl)); + device Pvc{archSelector(syclex::architecture::intel_gpu_pvc)}; + EXPECT_FALSE(sycl::is_compatible(Pvc)); +} From 2e7c2ef3cea8b533f2d2430c09d6b5915cc6bce0 Mon Sep 17 00:00:00 2001 From: Nikita Kornev Date: Thu, 14 Nov 2024 13:12:23 +0000 Subject: [PATCH 09/18] [SYCL][E2E] Update unsupported tests with issue (#16008) Update the format of UNSUPPORTED tests that already have an issue link --- .../nullpointer/global_nullptr.cpp | 2 +- .../AtomicRef/assignment_atomic64_generic.cpp | 2 +- sycl/test-e2e/AtomicRef/exchange.cpp | 2 +- .../accessor/host_task_accessor_deduction.cpp | 2 +- sycl/test-e2e/Basic/buffer/subbuffer.cpp | 2 +- sycl/test-e2e/Basic/image/image_array.cpp | 2 +- sycl/test-e2e/ESIMD/addc.cpp | 2 +- sycl/test-e2e/ESIMD/named_barriers/loop.cpp | 2 +- .../ESIMD/named_barriers/loop_extended.cpp | 2 +- sycl/test-e2e/ESIMD/subb.cpp | 2 +- .../Explicit/add_nodes_after_finalize.cpp | 2 +- sycl/test-e2e/Graph/Explicit/basic_usm.cpp | 2 +- .../Graph/Explicit/basic_usm_host.cpp | 2 +- .../Graph/Explicit/basic_usm_mixed.cpp | 2 +- .../Graph/Explicit/basic_usm_shared.cpp | 2 +- .../Explicit/host_task2_multiple_roots.cpp | 4 +- .../Explicit/host_task_multiple_deps.cpp | 2 +- .../Explicit/host_task_multiple_roots.cpp | 2 +- .../Graph/Explicit/multiple_exec_graphs.cpp | 2 +- .../Graph/Explicit/queue_constructor_usm.cpp | 2 +- .../Graph/Explicit/queue_shortcuts.cpp | 2 +- sycl/test-e2e/Graph/Explicit/sub_graph.cpp | 2 +- .../RecordReplay/add_nodes_after_finalize.cpp | 2 +- .../test-e2e/Graph/RecordReplay/after_use.cpp | 2 +- .../Graph/RecordReplay/barrier_with_work.cpp | 2 +- .../test-e2e/Graph/RecordReplay/basic_usm.cpp | 2 +- .../Graph/RecordReplay/basic_usm_host.cpp | 2 +- .../Graph/RecordReplay/basic_usm_mixed.cpp | 2 +- .../Graph/RecordReplay/basic_usm_shared.cpp | 2 +- .../host_task2_multiple_roots.cpp | 2 +- .../RecordReplay/host_task_multiple_deps.cpp | 2 +- .../RecordReplay/host_task_multiple_roots.cpp | 2 +- .../RecordReplay/multiple_exec_graphs.cpp | 2 +- .../RecordReplay/queue_constructor_usm.cpp | 2 +- .../Graph/RecordReplay/queue_shortcuts.cpp | 2 +- .../test-e2e/Graph/RecordReplay/sub_graph.cpp | 2 +- .../GroupAlgorithm/reduce_sycl2020.cpp | 2 +- .../InOrderEventsExt/get_last_event.cpp | 2 +- .../ballot_group_algorithms.cpp | 2 +- .../Plugin/level_zero_device_free_mem.cpp | 3 +- sycl/test-e2e/ProfilingTag/default_queue.cpp | 4 +- .../ProfilingTag/in_order_profiling_queue.cpp | 6 +- sycl/test-e2e/ProfilingTag/in_order_queue.cpp | 4 +- .../test-e2e/ProfilingTag/profiling_queue.cpp | 6 +- .../Regression/in_order_barrier_profiling.cpp | 2 +- .../USM/memops2d/copy2d_device_to_host.cpp | 6 +- .../USM/memops2d/copy2d_dhost_to_shared.cpp | 2 +- .../USM/memops2d/copy2d_host_to_device.cpp | 6 +- .../USM/memops2d/copy2d_host_to_shared.cpp | 2 +- .../USM/memops2d/copy2d_shared_to_dhost.cpp | 2 +- .../USM/memops2d/copy2d_shared_to_host.cpp | 2 +- .../USM/memops2d/memcpy2d_device_to_host.cpp | 6 +- .../USM/memops2d/memcpy2d_dhost_to_shared.cpp | 2 +- .../USM/memops2d/memcpy2d_host_to_device.cpp | 6 +- .../USM/memops2d/memcpy2d_host_to_shared.cpp | 2 +- .../USM/memops2d/memcpy2d_shared_to_dhost.cpp | 2 +- .../USM/memops2d/memcpy2d_shared_to_host.cpp | 2 +- sycl/test-e2e/USM/usm_pooling.cpp | 2 +- .../VirtualFunctions/misc/group-barrier.cpp | 2 +- sycl/test-e2e/syclcompat/launch/launch.cpp | 2 +- .../syclcompat/launch/launch_policy_lmem.cpp | 2 +- .../no-unsupported-without-info.cpp | 65 +------------------ 62 files changed, 82 insertions(+), 136 deletions(-) diff --git a/sycl/test-e2e/AddressSanitizer/nullpointer/global_nullptr.cpp b/sycl/test-e2e/AddressSanitizer/nullpointer/global_nullptr.cpp index 598aa6aea4c6a..d712dcdeeb1ef 100644 --- a/sycl/test-e2e/AddressSanitizer/nullpointer/global_nullptr.cpp +++ b/sycl/test-e2e/AddressSanitizer/nullpointer/global_nullptr.cpp @@ -6,8 +6,8 @@ // RUN: %{build} %device_asan_flags -O2 -g -o %t3.out // RUN: %{run} not %t3.out 2>&1 | FileCheck %s -// See https://github.com/intel/llvm/issues/15453 // UNSUPPORTED: gpu-intel-dg2 +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15453 #include diff --git a/sycl/test-e2e/AtomicRef/assignment_atomic64_generic.cpp b/sycl/test-e2e/AtomicRef/assignment_atomic64_generic.cpp index 65601968444d9..1469e40139e07 100644 --- a/sycl/test-e2e/AtomicRef/assignment_atomic64_generic.cpp +++ b/sycl/test-e2e/AtomicRef/assignment_atomic64_generic.cpp @@ -2,8 +2,8 @@ // RUN: %{build} -fsycl-device-code-split=per_kernel -o %t.out // RUN: %{run} %t.out -// https://github.com/intel/llvm/issues/15791 // UNSUPPORTED: hip_amd +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15791 #include "assignment.h" #include diff --git a/sycl/test-e2e/AtomicRef/exchange.cpp b/sycl/test-e2e/AtomicRef/exchange.cpp index ad026ed93ee01..0252142480c52 100644 --- a/sycl/test-e2e/AtomicRef/exchange.cpp +++ b/sycl/test-e2e/AtomicRef/exchange.cpp @@ -1,8 +1,8 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// https://github.com/intel/llvm/issues/15791 // UNSUPPORTED: hip_amd +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15791 #include "exchange.h" diff --git a/sycl/test-e2e/Basic/accessor/host_task_accessor_deduction.cpp b/sycl/test-e2e/Basic/accessor/host_task_accessor_deduction.cpp index 509781c2bb29f..e6da8d355a0f6 100644 --- a/sycl/test-e2e/Basic/accessor/host_task_accessor_deduction.cpp +++ b/sycl/test-e2e/Basic/accessor/host_task_accessor_deduction.cpp @@ -2,5 +2,5 @@ // RUN: %{run} %t.out // Disabled on PVC without igc-dev due to timeout. -// https://github.com/intel/llvm/issues/14826 // UNSUPPORTED: arch-intel_gpu_pvc && !igc-dev +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14826 diff --git a/sycl/test-e2e/Basic/buffer/subbuffer.cpp b/sycl/test-e2e/Basic/buffer/subbuffer.cpp index ceed97d739a7b..8e98fa02bffb5 100644 --- a/sycl/test-e2e/Basic/buffer/subbuffer.cpp +++ b/sycl/test-e2e/Basic/buffer/subbuffer.cpp @@ -1,8 +1,8 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// See https://github.com/intel/llvm/issues/15151 // UNSUPPORTED: (opencl && gpu) +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15151 // //==---------- subbuffer.cpp --- sub-buffer basic test ---------------------==// diff --git a/sycl/test-e2e/Basic/image/image_array.cpp b/sycl/test-e2e/Basic/image/image_array.cpp index 0516f4ee3a63f..41a69d12e7edc 100644 --- a/sycl/test-e2e/Basic/image/image_array.cpp +++ b/sycl/test-e2e/Basic/image/image_array.cpp @@ -4,8 +4,8 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// See https://github.com/intel/llvm/issues/15398 // UNSUPPORTED: gpu +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15398 //==------------------- image.cpp - SYCL image basic test -----------------==// // diff --git a/sycl/test-e2e/ESIMD/addc.cpp b/sycl/test-e2e/ESIMD/addc.cpp index 0a286d5fc08eb..30a73d900ea3f 100644 --- a/sycl/test-e2e/ESIMD/addc.cpp +++ b/sycl/test-e2e/ESIMD/addc.cpp @@ -7,8 +7,8 @@ //===----------------------------------------------------------------------===// // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// https://github.com/intel/llvm/issues/14868 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14868 // The test verifies ESIMD API that adds 2 32-bit integer scalars/vectors with // carry returning the result as 2 parts: carry flag the input modified operand diff --git a/sycl/test-e2e/ESIMD/named_barriers/loop.cpp b/sycl/test-e2e/ESIMD/named_barriers/loop.cpp index bad6863f62d4b..9b526125153c7 100644 --- a/sycl/test-e2e/ESIMD/named_barriers/loop.cpp +++ b/sycl/test-e2e/ESIMD/named_barriers/loop.cpp @@ -11,8 +11,8 @@ // RUN: %{run} %t.out // Disabled on PVC without igc-dev due to flaky failures. -// https://github.com/intel/llvm/issues/14826 // UNSUPPORTED: arch-intel_gpu_pvc && !igc-dev +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14826 // Test checks support of named barrier in a loop in ESIMD kernel. // SLM and surface size is 32 bytes, 16 bytes per iteration. diff --git a/sycl/test-e2e/ESIMD/named_barriers/loop_extended.cpp b/sycl/test-e2e/ESIMD/named_barriers/loop_extended.cpp index 2b520d4849973..35053824ed2af 100644 --- a/sycl/test-e2e/ESIMD/named_barriers/loop_extended.cpp +++ b/sycl/test-e2e/ESIMD/named_barriers/loop_extended.cpp @@ -11,8 +11,8 @@ // RUN: %{run} %t.out // Disabled on PVC due to flaky failures. -// https://github.com/intel/llvm/issues/14826 // UNSUPPORTED: arch-intel_gpu_pvc +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14826 // Test checks support of named barrier in a loop in ESIMD kernel. // First iteration has 1 barrier and 1 producer, second - 2 barriers and 2 diff --git a/sycl/test-e2e/ESIMD/subb.cpp b/sycl/test-e2e/ESIMD/subb.cpp index ff970e3f17a1d..d577be1662860 100644 --- a/sycl/test-e2e/ESIMD/subb.cpp +++ b/sycl/test-e2e/ESIMD/subb.cpp @@ -7,8 +7,8 @@ //===----------------------------------------------------------------------===// // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// https://github.com/intel/llvm/issues/14868 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14868 // The test verifies ESIMD API that substracts 2 32-bit integer scalars/vectors // with borrow returning the result as 2 parts: borrow flag the input modified diff --git a/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp b/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp index b17bda93b84b6..ed04e776ef96c 100644 --- a/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp +++ b/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm.cpp index 06c91a61df147..6f22da28dbfe3 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp index ef3bc533e8fc9..191ed00528487 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp @@ -8,8 +8,8 @@ // REQUIRES: aspect-usm_host_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp index fafcc39440edb..b5231758fb20b 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp @@ -9,8 +9,8 @@ // REQUIRES: aspect-usm_shared_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp index 98cfde00ca097..f669504a2b7b6 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp @@ -8,8 +8,8 @@ // REQUIRES: aspect-usm_shared_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/host_task2_multiple_roots.cpp b/sycl/test-e2e/Graph/Explicit/host_task2_multiple_roots.cpp index b4cb1a126dad6..26215d4841751 100644 --- a/sycl/test-e2e/Graph/Explicit/host_task2_multiple_roots.cpp +++ b/sycl/test-e2e/Graph/Explicit/host_task2_multiple_roots.cpp @@ -12,12 +12,12 @@ // UNSUPPORTED: cuda && windows // Test is flaky on Windows for all targets, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 // Failed in Nightly on Linux -// https://github.com/intel/llvm/issues/14852 // UNSUPPORTED: linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/host_task_multiple_deps.cpp b/sycl/test-e2e/Graph/Explicit/host_task_multiple_deps.cpp index ce5ac85d19d9d..60f600d0e92b9 100644 --- a/sycl/test-e2e/Graph/Explicit/host_task_multiple_deps.cpp +++ b/sycl/test-e2e/Graph/Explicit/host_task_multiple_deps.cpp @@ -8,8 +8,8 @@ // REQUIRES: aspect-usm_shared_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/host_task_multiple_roots.cpp b/sycl/test-e2e/Graph/Explicit/host_task_multiple_roots.cpp index 9e12160e8e5ff..06bc955e72728 100644 --- a/sycl/test-e2e/Graph/Explicit/host_task_multiple_roots.cpp +++ b/sycl/test-e2e/Graph/Explicit/host_task_multiple_roots.cpp @@ -12,8 +12,8 @@ // UNSUPPORTED: cuda && windows // Test is flaky on Windows for all targets, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp b/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp index d1f201ce48cf2..984f8c94f8acb 100644 --- a/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp +++ b/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/queue_constructor_usm.cpp b/sycl/test-e2e/Graph/Explicit/queue_constructor_usm.cpp index 2adceebbad72d..1ebd6efb0056a 100644 --- a/sycl/test-e2e/Graph/Explicit/queue_constructor_usm.cpp +++ b/sycl/test-e2e/Graph/Explicit/queue_constructor_usm.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp b/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp index 6cf88fd52602d..97a6a6bcaa868 100644 --- a/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp +++ b/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph.cpp index 4f31fc6345c97..e1dd429092593 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp b/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp index 793ac3c63f9bb..1a3615f167e90 100644 --- a/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp @@ -7,8 +7,8 @@ // // // Temporarily disabled until failure is addressed. -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/after_use.cpp b/sycl/test-e2e/Graph/RecordReplay/after_use.cpp index ffcf425c8c460..7a9ea5eb0e883 100644 --- a/sycl/test-e2e/Graph/RecordReplay/after_use.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/after_use.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 // This test attempts recording a set of kernels after they have already been // executed once before. diff --git a/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp b/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp index e6929209914c3..0f1deee775c3c 100644 --- a/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #include "../graph_common.hpp" diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp index 1d1909ba85d85..abd71729ff6d7 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp index 8ebe6b967f825..afd91b64ed547 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp @@ -8,8 +8,8 @@ // REQUIRES: aspect-usm_host_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp index 8ab43818beec5..8d1ca2676d1eb 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp @@ -9,8 +9,8 @@ // REQUIRES: aspect-usm_shared_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp index 4c581e12001af..02f53df76dd0c 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp @@ -8,8 +8,8 @@ // REQUIRES: aspect-usm_shared_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/host_task2_multiple_roots.cpp b/sycl/test-e2e/Graph/RecordReplay/host_task2_multiple_roots.cpp index 794a0f9ec4112..1d18b14f6496e 100644 --- a/sycl/test-e2e/Graph/RecordReplay/host_task2_multiple_roots.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/host_task2_multiple_roots.cpp @@ -12,8 +12,8 @@ // UNSUPPORTED: cuda && windows // Test is flaky on Windows for all targets, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_deps.cpp b/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_deps.cpp index 68ff195f81753..abc4820373d05 100644 --- a/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_deps.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_deps.cpp @@ -8,8 +8,8 @@ // REQUIRES: aspect-usm_shared_allocations // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_roots.cpp b/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_roots.cpp index 051a814c10c64..d279aebabe9af 100644 --- a/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_roots.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/host_task_multiple_roots.cpp @@ -12,8 +12,8 @@ // UNSUPPORTED: cuda && windows // Test is flaky on Windows for all targets, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp b/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp index 93c0776c974cc..2c83dc5c70f8b 100644 --- a/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/queue_constructor_usm.cpp b/sycl/test-e2e/Graph/RecordReplay/queue_constructor_usm.cpp index a5be84a1f4019..17b58a2e97cfd 100644 --- a/sycl/test-e2e/Graph/RecordReplay/queue_constructor_usm.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/queue_constructor_usm.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp b/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp index 0bb2a802daa6e..97dc35375c92a 100644 --- a/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp index 65d2b5cee7f3c..e15098842dfe0 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp @@ -6,8 +6,8 @@ // RUN: %if level_zero %{env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --implicit-check-not=LEAK %} // Test is flaky on Windows, disable until it can be fixed -// https://github.com/intel/llvm/issues/11852 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/11852 #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/GroupAlgorithm/reduce_sycl2020.cpp b/sycl/test-e2e/GroupAlgorithm/reduce_sycl2020.cpp index dce0ee222d864..67b29d213032b 100644 --- a/sycl/test-e2e/GroupAlgorithm/reduce_sycl2020.cpp +++ b/sycl/test-e2e/GroupAlgorithm/reduce_sycl2020.cpp @@ -2,8 +2,8 @@ // RUN: %{run} %t.out // Disabled on PVC without igc-dev due to timeout. -// https://github.com/intel/llvm/issues/14826 // UNSUPPORTED: arch-intel_gpu_pvc && !igc-dev +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14826 #include "support.h" diff --git a/sycl/test-e2e/InOrderEventsExt/get_last_event.cpp b/sycl/test-e2e/InOrderEventsExt/get_last_event.cpp index 71d9b18f37a35..dba225c5e6501 100644 --- a/sycl/test-e2e/InOrderEventsExt/get_last_event.cpp +++ b/sycl/test-e2e/InOrderEventsExt/get_last_event.cpp @@ -1,5 +1,5 @@ -// https://github.com/intel/llvm/issues/14324 // UNSUPPORTED: windows +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14324 // RUN: %{build} -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp index 3c677ac6f4de5..8f6b6a8f17197 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp @@ -9,8 +9,8 @@ // REQUIRES: aspect-ext_oneapi_ballot_group // Fails in Nightly testing on the self-hosted CUDA runner: -// https://github.com/intel/llvm/issues/12995. // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/12995 #include #include diff --git a/sycl/test-e2e/Plugin/level_zero_device_free_mem.cpp b/sycl/test-e2e/Plugin/level_zero_device_free_mem.cpp index 6b8b4cc7d7767..62b32c90544b6 100644 --- a/sycl/test-e2e/Plugin/level_zero_device_free_mem.cpp +++ b/sycl/test-e2e/Plugin/level_zero_device_free_mem.cpp @@ -8,7 +8,8 @@ // REQUIRES: gpu-intel-dg2 // REQUIRES: level_zero, level_zero_dev_kit // UNSUPPORTED: gpu-intel-gen12 -// The query of free memory is not supported on integrated devices +// UNSUPPORTED-INTENDED: The query of free memory is not supported on integrated +// devices // // RUN: %{build} %level_zero_options -o %t.out // RUN: env ZES_ENABLE_SYSMAN=1 %{run} %t.out 2>&1 | FileCheck %s diff --git a/sycl/test-e2e/ProfilingTag/default_queue.cpp b/sycl/test-e2e/ProfilingTag/default_queue.cpp index 4277deae3b7df..0990f08401394 100644 --- a/sycl/test-e2e/ProfilingTag/default_queue.cpp +++ b/sycl/test-e2e/ProfilingTag/default_queue.cpp @@ -5,13 +5,13 @@ // Tests the get_profiling_tag extension function on an out-of-order queue. // HIP backend currently returns invalid values for submission time queries. -// https://github.com/intel/llvm/issues/12904 // UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/12904 // CUDA backend seems to fail sporadically for expected profiling tag time // query orderings. -// https://github.com/intel/llvm/issues/14053 // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14053 #include "common.hpp" diff --git a/sycl/test-e2e/ProfilingTag/in_order_profiling_queue.cpp b/sycl/test-e2e/ProfilingTag/in_order_profiling_queue.cpp index 2b8871ef5a3b6..53b193744a80b 100644 --- a/sycl/test-e2e/ProfilingTag/in_order_profiling_queue.cpp +++ b/sycl/test-e2e/ProfilingTag/in_order_profiling_queue.cpp @@ -13,17 +13,17 @@ // UNSUPPORTED: opencl && gpu // HIP backend currently returns invalid values for submission time queries. -// https://github.com/intel/llvm/issues/12904 // UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/12904 // CUDA backend seems to fail sporadically for expected profiling tag time // query orderings. -// https://github.com/intel/llvm/issues/14053 // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14053 // FPGA emulator seems to return unexpected start time for the fallback barrier. -// https://github.com/intel/llvm/issues/14315 // UNSUPPORTED: accelerator +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14315 #include "common.hpp" diff --git a/sycl/test-e2e/ProfilingTag/in_order_queue.cpp b/sycl/test-e2e/ProfilingTag/in_order_queue.cpp index f9b579a2f7905..d87f4d6118e15 100644 --- a/sycl/test-e2e/ProfilingTag/in_order_queue.cpp +++ b/sycl/test-e2e/ProfilingTag/in_order_queue.cpp @@ -5,13 +5,13 @@ // Tests the get_profiling_tag extension function on an in-order queue. // HIP backend currently returns invalid values for submission time queries. -// https://github.com/intel/llvm/issues/12904 // UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/12904 // CUDA backend seems to fail sporadically for expected profiling tag time // query orderings. -// https://github.com/intel/llvm/issues/14053 // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14053 #include "common.hpp" diff --git a/sycl/test-e2e/ProfilingTag/profiling_queue.cpp b/sycl/test-e2e/ProfilingTag/profiling_queue.cpp index a028278ed957a..d7c98f06060ad 100644 --- a/sycl/test-e2e/ProfilingTag/profiling_queue.cpp +++ b/sycl/test-e2e/ProfilingTag/profiling_queue.cpp @@ -13,16 +13,16 @@ // UNSUPPORTED: opencl && gpu // HIP backend currently returns invalid values for submission time queries. -// https://github.com/intel/llvm/issues/12904 // UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/12904 // FPGA emulator seems to return unexpected start time for the fallback barrier. -// https://github.com/intel/llvm/issues/14315 // UNSUPPORTED: accelerator +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14315 // Flaky on CUDA -// https://github.com/intel/llvm/issues/14053 // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14053 #include "common.hpp" diff --git a/sycl/test-e2e/Regression/in_order_barrier_profiling.cpp b/sycl/test-e2e/Regression/in_order_barrier_profiling.cpp index ef6ec20bc309a..f4aba7b5ce4a9 100644 --- a/sycl/test-e2e/Regression/in_order_barrier_profiling.cpp +++ b/sycl/test-e2e/Regression/in_order_barrier_profiling.cpp @@ -10,8 +10,8 @@ //===----------------------------------------------------------------------===// // Level Zero adapter has a similar in-order queue barrier optimization that // leads to incorrect profiling values. -// https://github.com/intel/llvm/issues/14186 // UNSUPPORTED: level_zero || opencl +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14186 #include #include diff --git a/sycl/test-e2e/USM/memops2d/copy2d_device_to_host.cpp b/sycl/test-e2e/USM/memops2d/copy2d_device_to_host.cpp index fa23db186d9d2..33a0f974c2a6b 100644 --- a/sycl/test-e2e/USM/memops2d/copy2d_device_to_host.cpp +++ b/sycl/test-e2e/USM/memops2d/copy2d_device_to_host.cpp @@ -10,9 +10,11 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out +// UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/10157 + // Temporarily disabled until the failure is addressed. -// For HIP see https://github.com/intel/llvm/issues/10157. -// UNSUPPORTED: (level_zero && windows) || hip +// UNSUPPORTED: level_zero && windows #include "copy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/copy2d_dhost_to_shared.cpp b/sycl/test-e2e/USM/memops2d/copy2d_dhost_to_shared.cpp index 1f0e6ddebd7d4..317447d645b67 100644 --- a/sycl/test-e2e/USM/memops2d/copy2d_dhost_to_shared.cpp +++ b/sycl/test-e2e/USM/memops2d/copy2d_dhost_to_shared.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "copy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/copy2d_host_to_device.cpp b/sycl/test-e2e/USM/memops2d/copy2d_host_to_device.cpp index 733292ee77d92..42db26f05cd70 100644 --- a/sycl/test-e2e/USM/memops2d/copy2d_host_to_device.cpp +++ b/sycl/test-e2e/USM/memops2d/copy2d_host_to_device.cpp @@ -10,9 +10,11 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out +// UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/10157 + // Temporarily disabled until the failure is addressed. -// For HIP see https://github.com/intel/llvm/issues/10157. -// UNSUPPORTED: (level_zero && windows) || hip +// UNSUPPORTED: level_zero && windows #include "copy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/copy2d_host_to_shared.cpp b/sycl/test-e2e/USM/memops2d/copy2d_host_to_shared.cpp index 20eff1e6a0421..48bf7fe13abb6 100644 --- a/sycl/test-e2e/USM/memops2d/copy2d_host_to_shared.cpp +++ b/sycl/test-e2e/USM/memops2d/copy2d_host_to_shared.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "copy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/copy2d_shared_to_dhost.cpp b/sycl/test-e2e/USM/memops2d/copy2d_shared_to_dhost.cpp index 6998f29fbd8e5..ab766f59c3d10 100644 --- a/sycl/test-e2e/USM/memops2d/copy2d_shared_to_dhost.cpp +++ b/sycl/test-e2e/USM/memops2d/copy2d_shared_to_dhost.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "copy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/copy2d_shared_to_host.cpp b/sycl/test-e2e/USM/memops2d/copy2d_shared_to_host.cpp index 5842227bf812b..de99f08d24096 100644 --- a/sycl/test-e2e/USM/memops2d/copy2d_shared_to_host.cpp +++ b/sycl/test-e2e/USM/memops2d/copy2d_shared_to_host.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "copy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/memcpy2d_device_to_host.cpp b/sycl/test-e2e/USM/memops2d/memcpy2d_device_to_host.cpp index e88a7948ec340..ff7b6c920e2a9 100644 --- a/sycl/test-e2e/USM/memops2d/memcpy2d_device_to_host.cpp +++ b/sycl/test-e2e/USM/memops2d/memcpy2d_device_to_host.cpp @@ -10,9 +10,11 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out +// UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/10157 + // Temporarily disabled until the failure is addressed. -// For HIP see https://github.com/intel/llvm/issues/10157. -// UNSUPPORTED: (level_zero && windows) || hip +// UNSUPPORTED: level_zero && windows #include "memcpy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/memcpy2d_dhost_to_shared.cpp b/sycl/test-e2e/USM/memops2d/memcpy2d_dhost_to_shared.cpp index bfced7b334e6f..f01317710c35d 100644 --- a/sycl/test-e2e/USM/memops2d/memcpy2d_dhost_to_shared.cpp +++ b/sycl/test-e2e/USM/memops2d/memcpy2d_dhost_to_shared.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "memcpy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_device.cpp b/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_device.cpp index c1450cc8641c9..7ddb6b0b58b0d 100644 --- a/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_device.cpp +++ b/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_device.cpp @@ -10,9 +10,11 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out +// UNSUPPORTED: hip +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/10157 + // Temporarily disabled until the failure is addressed. -// For HIP see https://github.com/intel/llvm/issues/10157. -// UNSUPPORTED: (level_zero && windows) || hip +// UNSUPPORTED: level_zero && windows #include "memcpy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_shared.cpp b/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_shared.cpp index 8dfd9a8ecdfc1..0418678424dfc 100644 --- a/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_shared.cpp +++ b/sycl/test-e2e/USM/memops2d/memcpy2d_host_to_shared.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "memcpy2d_common.hpp" diff --git a/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_dhost.cpp b/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_dhost.cpp index a5b8ed17e2523..7e2dcb8a9bd4d 100644 --- a/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_dhost.cpp +++ b/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_dhost.cpp @@ -10,8 +10,8 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) diff --git a/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_host.cpp b/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_host.cpp index 3c50e0eec4d78..645adac407f90 100644 --- a/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_host.cpp +++ b/sycl/test-e2e/USM/memops2d/memcpy2d_shared_to_host.cpp @@ -13,8 +13,8 @@ // Temporarily disabled until the failure is addressed. // UNSUPPORTED: (level_zero && windows) -// https://github.com/intel/llvm/issues/15648 // UNSUPPORTED: (gpu-intel-dg2 || hip_amd) && linux +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15648 #include "memcpy2d_common.hpp" diff --git a/sycl/test-e2e/USM/usm_pooling.cpp b/sycl/test-e2e/USM/usm_pooling.cpp index b850d5d5d417b..63a083e5d47a3 100644 --- a/sycl/test-e2e/USM/usm_pooling.cpp +++ b/sycl/test-e2e/USM/usm_pooling.cpp @@ -1,8 +1,8 @@ // REQUIRES: level_zero // RUN: %{build} -o %t.out -// https://github.com/intel/llvm/issues/12397 // UNSUPPORTED: gpu-intel-dg2 +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/12397 // Allocate 2 items of 2MB. Free 2. Allocate 3 more of 2MB. diff --git a/sycl/test-e2e/VirtualFunctions/misc/group-barrier.cpp b/sycl/test-e2e/VirtualFunctions/misc/group-barrier.cpp index a69aada295c25..f01a25d4179f4 100644 --- a/sycl/test-e2e/VirtualFunctions/misc/group-barrier.cpp +++ b/sycl/test-e2e/VirtualFunctions/misc/group-barrier.cpp @@ -4,13 +4,13 @@ // XFAIL: cpu // XFAIL-TRACKER: https://github.com/intel/llvm/issues/15080 // UNSUPPORTED: gpu +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15068 // On GPU this test (its older version which used nd_item instead of group) // used to fail with UR_RESULT_ERROR_PROGRAM_LINK_FAILURE. // SPIR-V files produced by SYCL_DUMP_IMAGES could be linked just fine (using // both llvm-spirv -r + llvm-link and ocloc). // Current version hangs and therefore it is marked as unsupported to avoid // wasting time in CI and potentially blocking a machine. -// Reported in https://github.com/intel/llvm/issues/15068 // // This test checks that group operations (barrier in this case) work correctly // inside virtual functions. diff --git a/sycl/test-e2e/syclcompat/launch/launch.cpp b/sycl/test-e2e/syclcompat/launch/launch.cpp index a45d833c13364..35fb14d297136 100644 --- a/sycl/test-e2e/syclcompat/launch/launch.cpp +++ b/sycl/test-e2e/syclcompat/launch/launch.cpp @@ -19,8 +19,8 @@ * Description: * launch and launch with dinamyc local memory tests **************************************************************************/ -// https://github.com/intel/llvm/issues/14387 // UNSUPPORTED: gpu-intel-dg2 +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/14387 // RUN: %{build} -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/syclcompat/launch/launch_policy_lmem.cpp b/sycl/test-e2e/syclcompat/launch/launch_policy_lmem.cpp index 1265b8068509c..935e0a26b5e37 100644 --- a/sycl/test-e2e/syclcompat/launch/launch_policy_lmem.cpp +++ b/sycl/test-e2e/syclcompat/launch/launch_policy_lmem.cpp @@ -26,8 +26,8 @@ // RUN: %{build} -fsycl-device-code-split=per_kernel -o %t.out // RUN: %{run} %t.out -// https://github.com/intel/llvm/issues/15275 // UNSUPPORTED: linux && opencl && (gpu-intel-gen12 || gpu-intel-dg2) +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15275 #include #include diff --git a/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp b/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp index 091823658e746..ca458439cc4d0 100644 --- a/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp +++ b/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp @@ -54,7 +54,7 @@ // tests to match the required format and in that case you should just update // (i.e. reduce) the number and the list below. // -// NUMBER-OF-UNSUPPORTED-WITHOUT-INFO: 486 +// NUMBER-OF-UNSUPPORTED-WITHOUT-INFO: 423 // // List of improperly UNSUPPORTED tests. // Remove the CHECK once the test has been properly UNSUPPORTED. @@ -64,17 +64,13 @@ // CHECK-NEXT: AOT/multiple-devices.cpp // CHECK-NEXT: AddressCast/dynamic_address_cast.cpp // CHECK-NEXT: AddressCast/static_address_cast.cpp -// CHECK-NEXT: AddressSanitizer/nullpointer/global_nullptr.cpp // CHECK-NEXT: AmdNvidiaJIT/kernel_and_bundle.cpp // CHECK-NEXT: Assert/assert_in_simultaneous_kernels.cpp // CHECK-NEXT: Assert/assert_in_simultaneously_multiple_tus.cpp // CHECK-NEXT: Assert/check_resource_leak.cpp // CHECK-NEXT: Assert/check_resource_leak.cpp -// CHECK-NEXT: AtomicRef/assignment_atomic64_generic.cpp -// CHECK-NEXT: AtomicRef/exchange.cpp // CHECK-NEXT: BFloat16/bfloat16_vec.cpp // CHECK-NEXT: Basic/buffer/buffer_create.cpp -// CHECK-NEXT: Basic/buffer/subbuffer.cpp // CHECK-NEXT: Basic/build_log.cpp // CHECK-NEXT: Basic/code_location_e2e.cpp // CHECK-NEXT: Basic/free_function_queries/free_function_queries.cpp @@ -91,7 +87,6 @@ // CHECK-NEXT: Basic/image/image_accessor_readwrite.cpp // CHECK-NEXT: Basic/image/image_accessor_readwrite_half.cpp // CHECK-NEXT: Basic/image/image_array.cpp -// CHECK-NEXT: Basic/image/image_array.cpp // CHECK-NEXT: Basic/image/image_max_size.cpp // CHECK-NEXT: Basic/image/image_read.cpp // CHECK-NEXT: Basic/image/image_read_fp16.cpp @@ -143,7 +138,6 @@ // CHECK-NEXT: ESIMD/PerformanceTests/invoke_simd_smoke.cpp // CHECK-NEXT: ESIMD/PerformanceTests/matrix_transpose.cpp // CHECK-NEXT: ESIMD/PerformanceTests/stencil2.cpp -// CHECK-NEXT: ESIMD/addc.cpp // CHECK-NEXT: ESIMD/api/bin_and_cmp_ops_heavy.cpp // CHECK-NEXT: ESIMD/api/replicate_smoke.cpp // CHECK-NEXT: ESIMD/api/simd_copy_to_from.cpp @@ -162,8 +156,6 @@ // CHECK-NEXT: ESIMD/lsc/lsc_usm_store_u8_u16.cpp // CHECK-NEXT: ESIMD/lsc/lsc_usm_store_u8_u16_64.cpp // CHECK-NEXT: ESIMD/matrix_transpose2.cpp -// CHECK-NEXT: ESIMD/named_barriers/loop.cpp -// CHECK-NEXT: ESIMD/named_barriers/loop_extended.cpp // CHECK-NEXT: ESIMD/preemption.cpp // CHECK-NEXT: ESIMD/private_memory/private_memory.cpp // CHECK-NEXT: ESIMD/regression/bitreverse.cpp @@ -172,12 +164,6 @@ // CHECK-NEXT: ESIMD/slm_alloc_many_kernels_many_funcs.cpp // CHECK-NEXT: ESIMD/slm_alloc_many_kernels_one_func.cpp // CHECK-NEXT: ESIMD/slm_init_no_inline.cpp -// CHECK-NEXT: ESIMD/subb.cpp -// CHECK-NEXT: Graph/Explicit/add_nodes_after_finalize.cpp -// CHECK-NEXT: Graph/Explicit/basic_usm.cpp -// CHECK-NEXT: Graph/Explicit/basic_usm_host.cpp -// CHECK-NEXT: Graph/Explicit/basic_usm_mixed.cpp -// CHECK-NEXT: Graph/Explicit/basic_usm_shared.cpp // CHECK-NEXT: Graph/Explicit/buffer_copy_host2target.cpp // CHECK-NEXT: Graph/Explicit/buffer_copy_host2target_2d.cpp // CHECK-NEXT: Graph/Explicit/buffer_copy_host2target_offset.cpp @@ -185,34 +171,19 @@ // CHECK-NEXT: Graph/Explicit/buffer_copy_target2host_2d.cpp // CHECK-NEXT: Graph/Explicit/buffer_copy_target2host_offset.cpp // CHECK-NEXT: Graph/Explicit/host_task2_multiple_roots.cpp -// CHECK-NEXT: Graph/Explicit/host_task2_multiple_roots.cpp -// CHECK-NEXT: Graph/Explicit/host_task2_multiple_roots.cpp -// CHECK-NEXT: Graph/Explicit/host_task_multiple_deps.cpp -// CHECK-NEXT: Graph/Explicit/host_task_multiple_roots.cpp // CHECK-NEXT: Graph/Explicit/host_task_multiple_roots.cpp // CHECK-NEXT: Graph/Explicit/interop-level-zero-get-native-mem.cpp // CHECK-NEXT: Graph/Explicit/interop-level-zero-launch-kernel.cpp // CHECK-NEXT: Graph/Explicit/memadvise.cpp -// CHECK-NEXT: Graph/Explicit/multiple_exec_graphs.cpp // CHECK-NEXT: Graph/Explicit/prefetch.cpp -// CHECK-NEXT: Graph/Explicit/queue_constructor_usm.cpp -// CHECK-NEXT: Graph/Explicit/queue_shortcuts.cpp // CHECK-NEXT: Graph/Explicit/spec_constants_handler_api.cpp // CHECK-NEXT: Graph/Explicit/spec_constants_kernel_bundle_api.cpp -// CHECK-NEXT: Graph/Explicit/sub_graph.cpp // CHECK-NEXT: Graph/Explicit/usm_copy.cpp // CHECK-NEXT: Graph/Explicit/usm_fill.cpp // CHECK-NEXT: Graph/Explicit/usm_fill_host.cpp // CHECK-NEXT: Graph/Explicit/usm_fill_shared.cpp // CHECK-NEXT: Graph/Explicit/usm_memset.cpp // CHECK-NEXT: Graph/Explicit/work_group_size_prop.cpp -// CHECK-NEXT: Graph/RecordReplay/add_nodes_after_finalize.cpp -// CHECK-NEXT: Graph/RecordReplay/after_use.cpp -// CHECK-NEXT: Graph/RecordReplay/barrier_with_work.cpp -// CHECK-NEXT: Graph/RecordReplay/basic_usm.cpp -// CHECK-NEXT: Graph/RecordReplay/basic_usm_host.cpp -// CHECK-NEXT: Graph/RecordReplay/basic_usm_mixed.cpp -// CHECK-NEXT: Graph/RecordReplay/basic_usm_shared.cpp // CHECK-NEXT: Graph/RecordReplay/buffer_copy_host2target.cpp // CHECK-NEXT: Graph/RecordReplay/buffer_copy_host2target_2d.cpp // CHECK-NEXT: Graph/RecordReplay/buffer_copy_host2target_offset.cpp @@ -220,20 +191,13 @@ // CHECK-NEXT: Graph/RecordReplay/buffer_copy_target2host_2d.cpp // CHECK-NEXT: Graph/RecordReplay/buffer_copy_target2host_offset.cpp // CHECK-NEXT: Graph/RecordReplay/host_task2_multiple_roots.cpp -// CHECK-NEXT: Graph/RecordReplay/host_task2_multiple_roots.cpp -// CHECK-NEXT: Graph/RecordReplay/host_task_multiple_deps.cpp -// CHECK-NEXT: Graph/RecordReplay/host_task_multiple_roots.cpp // CHECK-NEXT: Graph/RecordReplay/host_task_multiple_roots.cpp // CHECK-NEXT: Graph/RecordReplay/interop-level-zero-get-native-mem.cpp // CHECK-NEXT: Graph/RecordReplay/interop-level-zero-launch-kernel.cpp // CHECK-NEXT: Graph/RecordReplay/memadvise.cpp -// CHECK-NEXT: Graph/RecordReplay/multiple_exec_graphs.cpp // CHECK-NEXT: Graph/RecordReplay/prefetch.cpp -// CHECK-NEXT: Graph/RecordReplay/queue_constructor_usm.cpp -// CHECK-NEXT: Graph/RecordReplay/queue_shortcuts.cpp // CHECK-NEXT: Graph/RecordReplay/spec_constants_handler_api.cpp // CHECK-NEXT: Graph/RecordReplay/spec_constants_kernel_bundle_api.cpp -// CHECK-NEXT: Graph/RecordReplay/sub_graph.cpp // CHECK-NEXT: Graph/RecordReplay/usm_copy.cpp // CHECK-NEXT: Graph/RecordReplay/usm_copy_in_order.cpp // CHECK-NEXT: Graph/RecordReplay/usm_fill.cpp @@ -245,12 +209,10 @@ // CHECK-NEXT: Graph/UnsupportedDevice/device_query.cpp // CHECK-NEXT: GroupAlgorithm/SYCL2020/reduce_over_group_size.cpp // CHECK-NEXT: GroupAlgorithm/barrier.cpp -// CHECK-NEXT: GroupAlgorithm/reduce_sycl2020.cpp // CHECK-NEXT: GroupAlgorithm/root_group.cpp // CHECK-NEXT: HierPar/hier_par_wgscope.cpp // CHECK-NEXT: HostInteropTask/host-task-failure.cpp // CHECK-NEXT: HostInteropTask/interop-task.cpp -// CHECK-NEXT: InOrderEventsExt/get_last_event.cpp // CHECK-NEXT: InvokeSimd/Feature/ImplicitSubgroup/SPMD_invoke_ESIMD_external.cpp // CHECK-NEXT: InvokeSimd/Feature/ImplicitSubgroup/popcnt.cpp // CHECK-NEXT: InvokeSimd/Feature/popcnt.cpp @@ -358,7 +320,6 @@ // CHECK-NEXT: NewOffloadDriver/aot-gpu.cpp // CHECK-NEXT: NewOffloadDriver/spirv_device_obj_smoke.cpp // CHECK-NEXT: NonUniformGroups/ballot_group.cpp -// CHECK-NEXT: NonUniformGroups/ballot_group_algorithms.cpp // CHECK-NEXT: NonUniformGroups/opportunistic_group.cpp // CHECK-NEXT: NonUniformGroups/tangle_group.cpp // CHECK-NEXT: NonUniformGroups/tangle_group_algorithms.cpp @@ -381,7 +342,6 @@ // CHECK-NEXT: Plugin/level_zero_batch_event_status.cpp // CHECK-NEXT: Plugin/level_zero_batch_test.cpp // CHECK-NEXT: Plugin/level_zero_batch_test_copy_with_compute.cpp -// CHECK-NEXT: Plugin/level_zero_device_free_mem.cpp // CHECK-NEXT: Plugin/level_zero_device_scope_events.cpp // CHECK-NEXT: Plugin/level_zero_dynamic_batch_test.cpp // CHECK-NEXT: Plugin/level_zero_imm_cmdlist_per_thread.cpp @@ -394,17 +354,7 @@ // CHECK-NEXT: Printf/int.cpp // CHECK-NEXT: Printf/mixed-address-space.cpp // CHECK-NEXT: Printf/percent-symbol.cpp -// CHECK-NEXT: ProfilingTag/default_queue.cpp -// CHECK-NEXT: ProfilingTag/default_queue.cpp -// CHECK-NEXT: ProfilingTag/in_order_profiling_queue.cpp -// CHECK-NEXT: ProfilingTag/in_order_profiling_queue.cpp // CHECK-NEXT: ProfilingTag/in_order_profiling_queue.cpp -// CHECK-NEXT: ProfilingTag/in_order_profiling_queue.cpp -// CHECK-NEXT: ProfilingTag/in_order_queue.cpp -// CHECK-NEXT: ProfilingTag/in_order_queue.cpp -// CHECK-NEXT: ProfilingTag/profiling_queue.cpp -// CHECK-NEXT: ProfilingTag/profiling_queue.cpp -// CHECK-NEXT: ProfilingTag/profiling_queue.cpp // CHECK-NEXT: ProfilingTag/profiling_queue.cpp // CHECK-NEXT: ProgramManager/uneven_kernel_split.cpp // CHECK-NEXT: Reduction/reduction_big_data.cpp @@ -447,7 +397,6 @@ // CHECK-NEXT: Regression/get_subgroup_sizes.cpp // CHECK-NEXT: Regression/get_subgroup_sizes.cpp // CHECK-NEXT: Regression/image_access.cpp -// CHECK-NEXT: Regression/in_order_barrier_profiling.cpp // CHECK-NEXT: Regression/invalid_reqd_wg_size_correct_exception.cpp // CHECK-NEXT: Regression/kernel_bundle_ignore_sycl_external.cpp // CHECK-NEXT: Regression/kernel_bundle_ignore_sycl_external.cpp @@ -501,16 +450,12 @@ // CHECK-NEXT: USM/memops2d/copy2d_dhost_to_dhost.cpp // CHECK-NEXT: USM/memops2d/copy2d_dhost_to_host.cpp // CHECK-NEXT: USM/memops2d/copy2d_dhost_to_shared.cpp -// CHECK-NEXT: USM/memops2d/copy2d_dhost_to_shared.cpp // CHECK-NEXT: USM/memops2d/copy2d_host_to_device.cpp // CHECK-NEXT: USM/memops2d/copy2d_host_to_dhost.cpp // CHECK-NEXT: USM/memops2d/copy2d_host_to_host.cpp // CHECK-NEXT: USM/memops2d/copy2d_host_to_shared.cpp -// CHECK-NEXT: USM/memops2d/copy2d_host_to_shared.cpp // CHECK-NEXT: USM/memops2d/copy2d_shared_to_device.cpp // CHECK-NEXT: USM/memops2d/copy2d_shared_to_dhost.cpp -// CHECK-NEXT: USM/memops2d/copy2d_shared_to_dhost.cpp -// CHECK-NEXT: USM/memops2d/copy2d_shared_to_host.cpp // CHECK-NEXT: USM/memops2d/copy2d_shared_to_host.cpp // CHECK-NEXT: USM/memops2d/copy2d_shared_to_shared.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_device_to_device.cpp @@ -521,21 +466,15 @@ // CHECK-NEXT: USM/memops2d/memcpy2d_dhost_to_dhost.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_dhost_to_host.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_dhost_to_shared.cpp -// CHECK-NEXT: USM/memops2d/memcpy2d_dhost_to_shared.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_host_to_device.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_host_to_dhost.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_host_to_host.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_host_to_shared.cpp -// CHECK-NEXT: USM/memops2d/memcpy2d_host_to_shared.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_shared_to_device.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_shared_to_dhost.cpp -// CHECK-NEXT: USM/memops2d/memcpy2d_shared_to_dhost.cpp -// CHECK-NEXT: USM/memops2d/memcpy2d_shared_to_host.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_shared_to_host.cpp // CHECK-NEXT: USM/memops2d/memcpy2d_shared_to_shared.cpp // CHECK-NEXT: USM/pointer_query_descendent_device.cpp -// CHECK-NEXT: USM/usm_pooling.cpp -// CHECK-NEXT: VirtualFunctions/misc/group-barrier.cpp // CHECK-NEXT: syclcompat/atomic/atomic_arith.cpp // CHECK-NEXT: syclcompat/atomic/atomic_bitwise.cpp // CHECK-NEXT: syclcompat/atomic/atomic_class.cpp @@ -543,5 +482,3 @@ // CHECK-NEXT: syclcompat/atomic/atomic_memory_acq_rel.cpp // CHECK-NEXT: syclcompat/atomic/atomic_minmax.cpp // CHECK-NEXT: syclcompat/kernel/kernel_lin.cpp -// CHECK-NEXT: syclcompat/launch/launch.cpp -// CHECK-NEXT: syclcompat/launch/launch_policy_lmem.cpp From adc98e3d3f1fdb3370ffbcc3f81e7a8dff61c068 Mon Sep 17 00:00:00 2001 From: Steffen Larsen Date: Thu, 14 Nov 2024 16:19:40 +0100 Subject: [PATCH 10/18] Revert "[DeviceASAN] Enable e2e test "private_nullptr.cpp"" (#16084) Reverts intel/llvm#15995 @AllanZyne - It looks like this still fails on Arc in post-commit. --- .../AddressSanitizer/nullpointer/private_nullptr.cpp | 8 ++++++-- .../e2e_test_requirements/no-xfail-without-tracker.cpp | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp b/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp index 4ac02b8d32343..6b013a2aee1e2 100644 --- a/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp +++ b/sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp @@ -6,6 +6,9 @@ // RUN: %{build} %device_asan_flags -O2 -g -o %t3.out // RUN: %{run} not %t3.out 2>&1 | FileCheck %s +// FIXME: There's an issue in gfx driver, so this test pending here. +// XFAIL: * + #include #include @@ -19,14 +22,15 @@ int main() { sycl::nd_range<1>(N, 1), [=](sycl::nd_item<1> item) { auto private_array = sycl::ext::oneapi::experimental::static_address_cast< - sycl::access::address_space::private_space>(array); + sycl::access::address_space::private_space, + sycl::access::decorated::no>(array); private_array[0] = 0; }); Q.wait(); }); // CHECK: ERROR: DeviceSanitizer: null-pointer-access on Unknown Memory // CHECK: WRITE of size 4 at kernel {{<.*MyKernel>}} LID(0, 0, 0) GID({{.*}}, 0, 0) - // CHECK: {{.*private_nullptr.cpp}}:[[@LINE-6]] + // CHECK: {{.*private_nullptr.cpp}}:[[@LINE-5]] return 0; } diff --git a/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp b/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp index dbf8dac7112b3..7274f59992c72 100644 --- a/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp +++ b/sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp @@ -51,12 +51,13 @@ // tests to match the required format and in that case you should just update // (i.e. reduce) the number and the list below. // -// NUMBER-OF-XFAIL-WITHOUT-TRACKER: 141 +// NUMBER-OF-XFAIL-WITHOUT-TRACKER: 142 // // List of improperly XFAIL-ed tests. // Remove the CHECK once the test has been properly XFAIL-ed. // -// CHECK: Basic/aspects.cpp +// CHECK: AddressSanitizer/nullpointer/private_nullptr.cpp +// CHECK-NEXT: Basic/aspects.cpp // CHECK-NEXT: Basic/buffer/reinterpret.cpp // CHECK-NEXT: Basic/device_event.cpp // CHECK-NEXT: Basic/diagnostics/handler.cpp From e8be8fb96ed480fe2e479d294140b6a93b64a2f1 Mon Sep 17 00:00:00 2001 From: aelovikov-intel Date: Thu, 14 Nov 2024 07:54:32 -0800 Subject: [PATCH 11/18] [SYCL] Don't use boost/mp11 for properties filtering (#16076) We want to get rid of it for the upstreaming purposes. --- .../annotated_ptr/annotated_ptr.hpp | 26 ++++------- .../ext/oneapi/properties/property_utils.hpp | 44 +++++++++++++++++++ 2 files changed, 53 insertions(+), 17 deletions(-) diff --git a/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp b/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp index b7e90788175a8..c9a59a8d85c0c 100644 --- a/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp +++ b/sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp @@ -19,8 +19,6 @@ #include #include -#include - #include #include #include @@ -56,16 +54,10 @@ template using contains_alignment = detail::ContainsProperty>; -// properties filter -template typename filter> -using PropertiesFilter = - sycl::detail::boost::mp11::mp_copy_if; - // filter properties that are applied on annotations -template -using annotation_filter = - properties, - propagateToPtrAnnotation>>; +template +using annotation_filter = decltype(filter_properties( + std::declval())); } // namespace detail template struct annotationHelper {}; @@ -110,8 +102,8 @@ class annotated_ref> { // implicit conversion with annotaion operator T() const { #ifdef __SYCL_DEVICE_ONLY__ - return annotationHelper>::load( - m_Ptr); + return annotationHelper< + T, detail::annotation_filter>::load(m_Ptr); #else return *m_Ptr; #endif @@ -121,8 +113,8 @@ class annotated_ref> { template >> T operator=(O &&Obj) const { #ifdef __SYCL_DEVICE_ONLY__ - return annotationHelper>::store( - m_Ptr, Obj); + return annotationHelper< + T, detail::annotation_filter>::store(m_Ptr, Obj); #else return *m_Ptr = std::forward(Obj); #endif @@ -387,8 +379,8 @@ __SYCL_TYPE(annotated_ptr) annotated_ptr> { T *get() const noexcept { #ifdef __SYCL_DEVICE_ONLY__ - return annotationHelper>::annotate( - m_Ptr); + return annotationHelper< + T, detail::annotation_filter>::annotate(m_Ptr); #else return m_Ptr; #endif diff --git a/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp b/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp index 3cf38f8d1dad0..2a1d89a4ebc96 100644 --- a/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp +++ b/sycl/include/sycl/ext/oneapi/properties/property_utils.hpp @@ -305,6 +305,50 @@ struct ConditionalPropertyMetaInfo : std::conditional_t, IgnoredPropertyMetaInfo> {}; +template