Skip to content

Commit d55067f

Browse files
jinz2014Jin Z
andauthored
[SYCL][E2E] add the FP16 tests in marray_geometric (intel#12082)
--------- Co-authored-by: Jin Z <5zj@cousteau.ftpn.ornl.gov>
1 parent 62ca0cb commit d55067f

File tree

1 file changed

+57
-3
lines changed

1 file changed

+57
-3
lines changed

sycl/test-e2e/Basic/built-ins/marray_geometric.cpp

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@ int main() {
4747
sycl::device Dev;
4848
sycl::queue Queue(Dev);
4949
// 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+
5059
sycl::marray<float, 2> MFloatD2 = {1.f, 2.f};
5160
sycl::marray<float, 2> MFloatD2_2 = {3.f, 5.f};
5261
sycl::marray<float, 3> MFloatD3 = {1.f, 2.f, 3.f};
@@ -62,6 +71,15 @@ int main() {
6271
sycl::marray<double, 4> MDoubleD4_2 = {1.0, 5.0, 7.0, 4.0};
6372
// clang-format on
6473

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+
6583
TEST(sycl::cross, float, 3, EXPECTED(float, -1.f, -4.f, 3.f), 0, MFloatD3,
6684
MFloatD3_2);
6785
TEST(sycl::cross, float, 4, EXPECTED(float, -1.f, -4.f, 3.f, 0.f), 0,
@@ -73,15 +91,31 @@ int main() {
7391
MDoubleD4, MDoubleD4_2);
7492
}
7593

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+
76102
TEST2(sycl::dot, float, 13.f, 0, MFloatD2, MFloatD2_2);
77103
TEST2(sycl::dot, float, 32.f, 0, MFloatD3, MFloatD3_2);
78104
TEST2(sycl::dot, float, 48.f, 0, MFloatD4, MFloatD4_2);
79105
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);
83109
}
84110

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+
85119
TEST2(sycl::length, float, 2.236068f, 1e-6, MFloatD2);
86120
TEST2(sycl::length, float, 3.741657f, 1e-6, MFloatD3);
87121
TEST2(sycl::length, float, 5.477225f, 1e-6, MFloatD4);
@@ -91,6 +125,14 @@ int main() {
91125
TEST2(sycl::length, double, 5.477225, 1e-6, MDoubleD4);
92126
}
93127

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+
94136
TEST2(sycl::distance, float, 3.605551f, 1e-6, MFloatD2, MFloatD2_2);
95137
TEST2(sycl::distance, float, 5.f, 0, MFloatD3, MFloatD3_2);
96138
TEST2(sycl::distance, float, 5.f, 0, MFloatD4, MFloatD4_2);
@@ -100,6 +142,18 @@ int main() {
100142
TEST2(sycl::distance, double, 5.0, 0, MDoubleD4, MDoubleD4_2);
101143
}
102144

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+
103157
TEST(sycl::normalize, float, 2, EXPECTED(float, 0.447213f, 0.894427f), 1e-6,
104158
MFloatD2);
105159
TEST(sycl::normalize, float, 3,

0 commit comments

Comments
 (0)