From 20d9fa8ac3d90d6190f134a9f03c2f76d63dc32b Mon Sep 17 00:00:00 2001 From: "Larsen, Steffen" Date: Mon, 21 Nov 2022 01:30:39 -0800 Subject: [PATCH 1/2] [SYCL][ESIMD] Check requirements in ctor_broadcast ctor_broadcast_fp_extra uses fp16 and fp64 but does not check for the requirement before running the kernels on the device. This commit adds the requirement check to ctor_broadcast. Signed-off-by: Larsen, Steffen --- SYCL/ESIMD/api/functional/ctors/ctor_broadcast.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SYCL/ESIMD/api/functional/ctors/ctor_broadcast.hpp b/SYCL/ESIMD/api/functional/ctors/ctor_broadcast.hpp index eb8a214f35..50a8ddfbae 100644 --- a/SYCL/ESIMD/api/functional/ctors/ctor_broadcast.hpp +++ b/SYCL/ESIMD/api/functional/ctors/ctor_broadcast.hpp @@ -146,6 +146,13 @@ class run_test { bool run_verification(sycl::queue &queue, SrcT ref_value, const std::string &src_data_type, const std::string &dst_data_type) { + bool passed = true; + + auto device = queue.get_device(); + if (should_skip_test_with(device) || + should_skip_test_with(device)) + return passed; + shared_vector result(NumElems, shared_allocator(queue)); shared_vector shared_ref_data(1, shared_allocator(queue)); shared_ref_data[0] = ref_value; @@ -164,7 +171,6 @@ class run_test { queue.wait_and_throw(); const DstT expected = static_cast(ref_value); - bool passed = true; for (size_t i = 0; i < result.size(); ++i) { const DstT &retrieved = result[i]; From 1c82021c4c343d9a3ae4b1ffbd60c31c51ec98c3 Mon Sep 17 00:00:00 2001 From: "Larsen, Steffen" Date: Mon, 28 Nov 2022 01:13:08 -0800 Subject: [PATCH 2/2] Enable on Windows Signed-off-by: Larsen, Steffen --- SYCL/ESIMD/api/functional/ctors/ctor_broadcast_fp_extra.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/SYCL/ESIMD/api/functional/ctors/ctor_broadcast_fp_extra.cpp b/SYCL/ESIMD/api/functional/ctors/ctor_broadcast_fp_extra.cpp index e35ad8ea19..5f7e8c0626 100644 --- a/SYCL/ESIMD/api/functional/ctors/ctor_broadcast_fp_extra.cpp +++ b/SYCL/ESIMD/api/functional/ctors/ctor_broadcast_fp_extra.cpp @@ -14,9 +14,6 @@ // RUN: %clangxx -fsycl %s -fsycl-device-code-split=per_kernel -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out // -// XFAIL: windows -// TODO: This test currently fails on windows. Remove above XFAIL when fixed. -// // Test for simd broadcast constructor. // This test uses fp extra data types, sizes and different simd constructor // invocation contexts.