Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit 75647b3

Browse files
author
Pavel V Chupin
committed
Merge remote-tracking branch 'upstream/intel' into win_env
2 parents ef9c80e + f931c8f commit 75647b3

File tree

249 files changed

+4715
-1822
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

249 files changed

+4715
-1822
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ SYCL/DeviceCodeSplit @AlexeySachkov @Fznamznon
2323

2424
# Device library
2525
SYCL/DeviceLib @vzakhari
26+
SYCL/DeviceLib/ITTAnnotations @vzakhari @MrSidims @AGindinson
2627

2728
# dot_product API
2829
SYCL/DotProduct @rdeodhar
2930

3031
# Explicit SIMD
31-
SYCL/ESIMD @kbobrovs @DenisBakhvalov
32+
SYCL/ESIMD @kbobrovs @v-klochkov
3233

3334
# Functor
3435
SYCL/Functor @AlexeySachkov

SYCL/Assert/assert_in_kernels.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// REQUIRES: linux
2-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
3-
// UNSUPPORTED: cuda
4-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
2+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
3+
// UNSUPPORTED: cuda || hip
4+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
55
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
66
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
77
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_kernels_ndebug.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
2-
// UNSUPPORTED: cuda
1+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
2+
// UNSUPPORTED: cuda || hip
33
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -DNDEBUG %S/assert_in_kernels.cpp -o %t.out
44
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_CHECK_PLACEHOLDER
55
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_kernels_win.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// REQUIRES: windows
2-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
2+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
33
// RUN: %CPU_RUN_PLACEHOLDER %t.out &> %t.txt || true
44
// RUN: %CPU_RUN_PLACEHOLDER FileCheck %s --input-file %t.txt
55
// RUN: %GPU_RUN_PLACEHOLDER %t.out &> %t.txt || true

SYCL/Assert/assert_in_multiple_tus.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// REQUIRES: linux
2-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
3-
// UNSUPPORTED: cuda
4-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -I %S/Inputs %s %S/Inputs/kernels_in_file2.cpp -o %t.out
2+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
3+
// UNSUPPORTED: cuda || hip
4+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple -I %S/Inputs %s %S/Inputs/kernels_in_file2.cpp -o %t.out
55
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
66
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
77
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_multiple_tus_one_ndebug.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// REQUIRES: linux
2-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
3-
// UNSUPPORTED: cuda
4-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -DDEFINE_NDEBUG_INFILE2 -I %S/Inputs %S/assert_in_multiple_tus.cpp %S/Inputs/kernels_in_file2.cpp -o %t.out
2+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
3+
// UNSUPPORTED: cuda || hip
4+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple -DDEFINE_NDEBUG_INFILE2 -I %S/Inputs %S/assert_in_multiple_tus.cpp %S/Inputs/kernels_in_file2.cpp -o %t.out
55
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
66
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
77
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_multiple_tus_one_ndebug_win.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// REQUIRES: windows
2-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -DDEFINE_NDEBUG_INFILE2 -I %S/Inputs %S/assert_in_multiple_tus.cpp %S/Inputs/kernels_in_file2.cpp -o %t.out
2+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple -DDEFINE_NDEBUG_INFILE2 -I %S/Inputs %S/assert_in_multiple_tus.cpp %S/Inputs/kernels_in_file2.cpp -o %t.out
33
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
44
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
55
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_multiple_tus_win.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// REQUIRES: windows
2-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -I %S/Inputs %s %S/Inputs/kernels_in_file2.cpp -o %t.out
2+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple -I %S/Inputs %s %S/Inputs/kernels_in_file2.cpp -o %t.out
33
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
44
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
55
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_one_kernel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// REQUIRES: linux
2-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
3-
// UNSUPPORTED: cuda
4-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
2+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
3+
// UNSUPPORTED: cuda || hip
4+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
55
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
66
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
77
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_one_kernel_win.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// REQUIRES: windows
2-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
2+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
33
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
44
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
55
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER

SYCL/Assert/assert_in_simultaneous_kernels.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
// REQUIRES: linux
2-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
3-
// UNSUPPORTED: cuda
4-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out %threads_lib
2+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
3+
// UNSUPPORTED: cuda || hip
4+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple %s -o %t.out %threads_lib
55
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
6-
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
6+
//
7+
// Since this is a multi-threaded application enable memory tracking and
8+
// deferred release feature in the Level Zero plugin to avoid releasing memory
9+
// too early. This is necessary because currently SYCL RT sets indirect access
10+
// flag for all kernels and the Level Zero runtime doesn't support deferred
11+
// release yet.
12+
// RUN: %GPU_RUN_PLACEHOLDER env SYCL_PI_LEVEL_ZERO_TRACK_INDIRECT_ACCESS_MEMORY=1 %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
713
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER
814
//
915
// CHECK: {{.*}}assert_in_simultaneous_kernels.hpp:12: void assertFunc(): global id: [9,7,0], local id: [0,0,0]

SYCL/Assert/assert_in_simultaneous_kernels_win.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
// REQUIRES: windows
2-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out %threads_lib
2+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple %s -o %t.out %threads_lib
33
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
4-
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
4+
//
5+
// Since this is a multi-threaded application enable memory tracking and
6+
// deferred release feature in the Level Zero plugin to avoid releasing memory
7+
// too early. This is necessary because currently SYCL RT sets indirect access
8+
// flag for all kernels and the Level Zero runtime doesn't support deferred
9+
// release yet.
10+
// RUN: %GPU_RUN_PLACEHOLDER env SYCL_PI_LEVEL_ZERO_TRACK_INDIRECT_ACCESS_MEMORY=1 %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
511
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER
612
//
713
// FIXME Windows versionprints '(null)' instead of '<unknown func>' once in a

SYCL/Assert/assert_in_simultaneously_multiple_tus.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
2-
// UNSUPPORTED: cuda
3-
// FIXME disable the test on Linux on OpenCL on FPGA as there's some funny
4-
// failure taking place in this configuration on CI. The test should be enabled
5-
// with this configuration once it's debugged.
6-
// UNSUPPORTED: linux && opencl && fpga
7-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -I %S/Inputs %s %S/Inputs/kernels_in_file2.cpp -o %t.out %threads_lib
1+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
2+
// UNSUPPORTED: cuda || hip
3+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple -I %S/Inputs %s %S/Inputs/kernels_in_file2.cpp -o %t.out %threads_lib
84
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
9-
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
5+
//
6+
// Since this is a multi-threaded application enable memory tracking and
7+
// deferred release feature in the Level Zero plugin to avoid releasing memory
8+
// too early. This is necessary because currently SYCL RT sets indirect access
9+
// flag for all kernels and the Level Zero runtime doesn't support deferred
10+
// release yet.
11+
// RUN: %GPU_RUN_PLACEHOLDER env SYCL_PI_LEVEL_ZERO_TRACK_INDIRECT_ACCESS_MEMORY=1 %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
1012
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER
1113
//
1214
// CHECK: {{this message from file1|this message from file2}}

SYCL/Assert/assert_in_simultaneously_multiple_tus_one_ndebug.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
// FIXME unsuppoerted on CUDA until fallback libdevice becomes available
2-
// UNSUPPORTED: cuda
3-
// FIXME disable the test on Linux on OpenCL on FPGA as there's some funny
4-
// failure taking place in this configuration on CI. The test should be enabled
5-
// with this configuration once it's debugged.
6-
// UNSUPPORTED: linux && opencl && fpga
7-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -DDEFINE_NDEBUG_INFILE2 -I %S/Inputs %S/assert_in_simultaneously_multiple_tus.cpp %S/Inputs/kernels_in_file2.cpp -o %t.out %threads_lib
1+
// FIXME unsupported on CUDA and HIP until fallback libdevice becomes available
2+
// UNSUPPORTED: cuda || hip
3+
// RUN: %clangxx -DSYCL_ENABLE_FALLBACK_ASSERT -fsycl -fsycl-targets=%sycl_triple -DDEFINE_NDEBUG_INFILE2 -I %S/Inputs %S/assert_in_simultaneously_multiple_tus.cpp %S/Inputs/kernels_in_file2.cpp -o %t.out %threads_lib
84
// RUN: %CPU_RUN_PLACEHOLDER %t.out %CPU_ERR_REDIRECT %CPU_CHECK_PLACEHOLDER
9-
// RUN: %GPU_RUN_PLACEHOLDER %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
5+
//
6+
// Since this is a multi-threaded application enable memory tracking and
7+
// deferred release feature in the Level Zero plugin to avoid releasing memory
8+
// too early. This is necessary because currently SYCL RT sets indirect access
9+
// flag for all kernels and the Level Zero runtime doesn't support deferred
10+
// release yet.
11+
// RUN: %GPU_RUN_PLACEHOLDER env SYCL_PI_LEVEL_ZERO_TRACK_INDIRECT_ACCESS_MEMORY=1 %t.out %GPU_ERR_REDIRECT %GPU_CHECK_PLACEHOLDER
1012
// RUN: %ACC_RUN_PLACEHOLDER %t.out %ACC_ERR_REDIRECT %ACC_CHECK_PLACEHOLDER
1113
//
1214
// CHECK: this message from file1

SYCL/Basic/device_code_dae.cpp

Lines changed: 0 additions & 76 deletions
This file was deleted.

SYCL/Basic/device_event.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
// TODO: nd_item::barrier() is not implemented on HOST
66
// RUNx: %HOST_RUN_PLACEHOLDER %t.run
77
//
8-
// Crashes on AMD
9-
// XFAIL: hip_amd
8+
// Crashes on AMD, returns error "Barrier is not supported on the host device
9+
// yet." with Nvidia.
10+
// XFAIL: hip_amd || hip_nvidia
1011

1112
//==--------device_event.cpp - SYCL class device_event test ----------------==//
1213
//

SYCL/Basic/diagnostics/handler.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
22
// RUN: %BE_RUN_PLACEHOLDER %t.out | FileCheck %s
3+
//
4+
// Appears to fail on HIP Nvidia because 'no device of requested type available'
5+
// when constructing a queue with an exception_list.
6+
// XFAIL: hip_nvidia
37
//==------------------- handler.cpp ----------------------------------------==//
48
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
59
// See https://llvm.org/LICENSE.txt for license information.

SYCL/Basic/get_backend.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@ int main() {
4646
return_fail();
4747
}
4848

49-
program prog(c);
50-
if (prog.get_backend() != plt.get_backend()) {
51-
return_fail();
52-
}
53-
5449
default_selector sel;
5550
queue q(c, sel);
5651
if (q.get_backend() != plt.get_backend()) {

SYCL/Basic/group_async_copy.cpp

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.run
1+
// RUN: %clangxx -fsycl -std=c++17 -fsycl-targets=%sycl_triple %s -o %t.run
22
// RUN: %GPU_RUN_PLACEHOLDER %t.run
33
// RUN: %CPU_RUN_PLACEHOLDER %t.run
44
// RUN: %ACC_RUN_PLACEHOLDER %t.run
@@ -13,7 +13,11 @@
1313

1414
using namespace cl::sycl;
1515

16-
template <typename T> class KernelName;
16+
template <typename T> class TypeHelper;
17+
18+
template <typename T>
19+
using KernelName = class TypeHelper<typename std::conditional<
20+
std::is_same<T, std::byte>::value, unsigned char, T>::type>;
1721

1822
// Define the number of work items to enqueue.
1923
const size_t NElems = 32;
@@ -24,14 +28,14 @@ template <typename T> void initInputBuffer(buffer<T, 1> &Buf, size_t Stride) {
2428
auto Acc = Buf.template get_access<access::mode::write>();
2529
for (size_t I = 0; I < Buf.get_count(); I += WorkGroupSize) {
2630
for (size_t J = 0; J < WorkGroupSize; J++)
27-
Acc[I + J] = I + J + ((J % Stride == 0) ? 100 : 0);
31+
Acc[I + J] = static_cast<T>(I + J + ((J % Stride == 0) ? 100 : 0));
2832
}
2933
}
3034

3135
template <typename T> void initOutputBuffer(buffer<T, 1> &Buf) {
3236
auto Acc = Buf.template get_access<access::mode::write>();
3337
for (size_t I = 0; I < Buf.get_count(); I++)
34-
Acc[I] = 0;
38+
Acc[I] = static_cast<T>(0);
3539
}
3640

3741
template <typename T> struct is_vec : std::false_type {};
@@ -48,9 +52,8 @@ template <typename T> bool checkEqual(vec<T, 4> A, size_t B) {
4852
}
4953

5054
template <typename T>
51-
typename std::enable_if<!is_vec<T>::value, bool>::type checkEqual(T A,
52-
size_t B) {
53-
T TB = B;
55+
typename std::enable_if_t<!is_vec<T>::value, bool> checkEqual(T A, size_t B) {
56+
T TB = static_cast<T>(B);
5457
return A == TB;
5558
}
5659

@@ -67,7 +70,16 @@ template <typename T> std::string toString(vec<T, 4> A) {
6770
}
6871

6972
template <typename T = void>
70-
typename std::enable_if<!is_vec<T>::value, std::string>::type toString(T A) {
73+
typename std::enable_if_t<
74+
!is_vec<T>::value && std::is_same<T, std::byte>::value, std::string>
75+
toString(T A) {
76+
return std::to_string((unsigned char)A);
77+
}
78+
79+
template <typename T = void>
80+
typename std::enable_if_t<
81+
!is_vec<T>::value && !std::is_same<T, std::byte>::value, std::string>
82+
toString(T A) {
7183
return std::to_string(A);
7284
}
7385

@@ -156,6 +168,8 @@ int main() {
156168
return 1;
157169
if (test<cl::sycl::cl_bool>(Stride))
158170
return 1;
171+
if (test<std::byte>(Stride))
172+
return 1;
159173
}
160174

161175
std::cout << "Test passed.\n";

0 commit comments

Comments
 (0)