@@ -47,6 +47,15 @@ int main() {
47
47
sycl::device Dev;
48
48
sycl::queue Queue (Dev);
49
49
// clang-format off
50
+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
51
+ sycl::marray<sycl::half, 2 > MHalfD2 = {1 .f , 2 .f };
52
+ sycl::marray<sycl::half, 2 > MHalfD2_2 = {3 .f , 5 .f };
53
+ sycl::marray<sycl::half, 3 > MHalfD3 = {1 .f , 2 .f , 3 .f };
54
+ sycl::marray<sycl::half, 3 > MHalfD3_2 = {1 .f , 5 .f , 7 .f };
55
+ sycl::marray<sycl::half, 4 > MHalfD4 = {1 .f , 2 .f , 3 .f , 4 .f };
56
+ sycl::marray<sycl::half, 4 > MHalfD4_2 = {1 .f , 5 .f , 7 .f , 4 .f };
57
+ #endif
58
+
50
59
sycl::marray<float , 2 > MFloatD2 = {1 .f , 2 .f };
51
60
sycl::marray<float , 2 > MFloatD2_2 = {3 .f , 5 .f };
52
61
sycl::marray<float , 3 > MFloatD3 = {1 .f , 2 .f , 3 .f };
@@ -62,6 +71,15 @@ int main() {
62
71
sycl::marray<double , 4 > MDoubleD4_2 = {1.0 , 5.0 , 7.0 , 4.0 };
63
72
// clang-format on
64
73
74
+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
75
+ if (Dev.has (sycl::aspect::fp16)) {
76
+ TEST (sycl::cross, sycl::half, 3 , EXPECTED (sycl::half, -1 .f , -4 .f , 3 .f ), 0 ,
77
+ MHalfD3, MHalfD3_2);
78
+ TEST (sycl::cross, sycl::half, 4 , EXPECTED (sycl::half, -1 .f , -4 .f , 3 .f , 0 .f ),
79
+ 0 , MHalfD4, MHalfD4_2);
80
+ }
81
+ #endif
82
+
65
83
TEST (sycl::cross, float , 3 , EXPECTED (float , -1 .f , -4 .f , 3 .f ), 0 , MFloatD3,
66
84
MFloatD3_2);
67
85
TEST (sycl::cross, float , 4 , EXPECTED (float , -1 .f , -4 .f , 3 .f , 0 .f ), 0 ,
@@ -73,15 +91,31 @@ int main() {
73
91
MDoubleD4, MDoubleD4_2);
74
92
}
75
93
94
+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
95
+ if (Dev.has (sycl::aspect::fp16)) {
96
+ TEST2 (sycl::dot, sycl::half, 13 .f , 0 , MHalfD2, MHalfD2_2);
97
+ TEST2 (sycl::dot, sycl::half, 32 .f , 0 , MHalfD3, MHalfD3_2);
98
+ TEST2 (sycl::dot, sycl::half, 48 .f , 0 , MHalfD4, MHalfD4_2);
99
+ }
100
+ #endif
101
+
76
102
TEST2 (sycl::dot, float , 13 .f , 0 , MFloatD2, MFloatD2_2);
77
103
TEST2 (sycl::dot, float , 32 .f , 0 , MFloatD3, MFloatD3_2);
78
104
TEST2 (sycl::dot, float , 48 .f , 0 , MFloatD4, MFloatD4_2);
79
105
if (Dev.has (sycl::aspect::fp64)) {
80
- TEST2 (sycl::dot, double , 13 , 0 , MDoubleD2, MDoubleD2_2);
81
- TEST2 (sycl::dot, double , 32 , 0 , MDoubleD3, MDoubleD3_2);
82
- TEST2 (sycl::dot, double , 48 , 0 , MDoubleD4, MDoubleD4_2);
106
+ TEST2 (sycl::dot, double , 13.0 , 0 , MDoubleD2, MDoubleD2_2);
107
+ TEST2 (sycl::dot, double , 32.0 , 0 , MDoubleD3, MDoubleD3_2);
108
+ TEST2 (sycl::dot, double , 48.0 , 0 , MDoubleD4, MDoubleD4_2);
83
109
}
84
110
111
+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
112
+ if (Dev.has (sycl::aspect::fp16)) {
113
+ TEST2 (sycl::length, sycl::half, 2 .236f , 1e-3 , MHalfD2);
114
+ TEST2 (sycl::length, sycl::half, 3 .742f , 1e-3 , MHalfD3);
115
+ TEST2 (sycl::length, sycl::half, 5 .477f , 1e-3 , MHalfD4);
116
+ }
117
+ #endif
118
+
85
119
TEST2 (sycl::length, float , 2 .236068f , 1e-6 , MFloatD2);
86
120
TEST2 (sycl::length, float , 3 .741657f , 1e-6 , MFloatD3);
87
121
TEST2 (sycl::length, float , 5 .477225f , 1e-6 , MFloatD4);
@@ -91,6 +125,14 @@ int main() {
91
125
TEST2 (sycl::length, double , 5.477225 , 1e-6 , MDoubleD4);
92
126
}
93
127
128
+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
129
+ if (Dev.has (sycl::aspect::fp16)) {
130
+ TEST2 (sycl::distance, sycl::half, 3 .605f , 1e-3 , MHalfD2, MHalfD2_2);
131
+ TEST2 (sycl::distance, sycl::half, 5 .f , 0 , MHalfD3, MHalfD3_2);
132
+ TEST2 (sycl::distance, sycl::half, 5 .f , 0 , MHalfD4, MHalfD4_2);
133
+ }
134
+ #endif
135
+
94
136
TEST2 (sycl::distance, float , 3 .605551f , 1e-6 , MFloatD2, MFloatD2_2);
95
137
TEST2 (sycl::distance, float , 5 .f , 0 , MFloatD3, MFloatD3_2);
96
138
TEST2 (sycl::distance, float , 5 .f , 0 , MFloatD4, MFloatD4_2);
@@ -100,6 +142,18 @@ int main() {
100
142
TEST2 (sycl::distance, double , 5.0 , 0 , MDoubleD4, MDoubleD4_2);
101
143
}
102
144
145
+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
146
+ if (Dev.has (sycl::aspect::fp16)) {
147
+ TEST (sycl::normalize, sycl::half, 2 ,
148
+ EXPECTED (sycl::half, 0 .447213f , 0 .894427f ), 1e-6 , MHalfD2);
149
+ TEST (sycl::normalize, sycl::half, 3 ,
150
+ EXPECTED (sycl::half, 0 .267261f , 0 .534522f , 0 .801784f ), 1e-6 , MHalfD3);
151
+ TEST (sycl::normalize, sycl::half, 4 ,
152
+ EXPECTED (sycl::half, 0 .182574f , 0 .365148f , 0 .547723f , 0 .730297f ), 1e-6 ,
153
+ MHalfD4);
154
+ }
155
+ #endif
156
+
103
157
TEST (sycl::normalize, float , 2 , EXPECTED (float , 0 .447213f , 0 .894427f ), 1e-6 ,
104
158
MFloatD2);
105
159
TEST (sycl::normalize, float , 3 ,
0 commit comments