Skip to content

Commit e749f01

Browse files
jinz2014Jin Z
andauthored
[SYCL][E2E] Add the FP16 tests to marray_relational.cpp (#12102)
Thanks for your review. Co-authored-by: Jin Z <[email protected]>
1 parent a6d3445 commit e749f01

File tree

1 file changed

+42
-10
lines changed

1 file changed

+42
-10
lines changed

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

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,52 @@
4747
#define EXPECTED(TYPE, ...) ((TYPE[]){__VA_ARGS__})
4848

4949
int main() {
50-
sycl::queue deviceQueue;
50+
sycl::device Dev;
51+
sycl::queue deviceQueue(Dev);
5152

52-
sycl::marray<float, 2> ma1{1.0, 2.0};
53-
sycl::marray<float, 2> ma2{1.0, 2.0};
54-
sycl::marray<float, 2> ma3{2.0, 1.0};
55-
sycl::marray<float, 2> ma4{2.0, 2.0};
56-
sycl::marray<float, 3> ma5{2.0, 2.0, 1.0};
57-
sycl::marray<float, 3> ma6{1.0, 5.0, 8.0};
53+
sycl::marray<sycl::half, 2> ma1_f16{1.f, 2.f};
54+
sycl::marray<sycl::half, 2> ma2_f16{1.f, 2.f};
55+
sycl::marray<sycl::half, 2> ma3_f16{2.f, 1.f};
56+
sycl::marray<sycl::half, 2> ma4_f16{2.f, 2.f};
57+
sycl::marray<sycl::half, 3> ma5_f16{2.f, 2.f, 1.f};
58+
sycl::marray<sycl::half, 3> ma6_f16{1.f, 5.f, 8.f};
59+
sycl::marray<sycl::half, 2> ma8_f16{1.f, 1.f};
60+
sycl::marray<sycl::half, 2> ma9_f16{0.5f, 0.5f};
61+
sycl::marray<sycl::half, 2> ma10_f16{2.f, 2.f};
62+
63+
sycl::marray<float, 2> ma1{1.f, 2.f};
64+
sycl::marray<float, 2> ma2{1.f, 2.f};
65+
sycl::marray<float, 2> ma3{2.f, 1.f};
66+
sycl::marray<float, 2> ma4{2.f, 2.f};
67+
sycl::marray<float, 3> ma5{2.f, 2.f, 1.f};
68+
sycl::marray<float, 3> ma6{1.f, 5.f, 8.f};
5869
sycl::marray<int, 3> ma7{50, 2, 31};
59-
sycl::marray<float, 2> ma8{1.0, 1.0};
60-
sycl::marray<float, 2> ma9{0.5, 0.5};
61-
sycl::marray<float, 2> ma10{2.0, 2.0};
70+
sycl::marray<float, 2> ma8{1.f, 1.f};
71+
sycl::marray<float, 2> ma9{0.5f, 0.5f};
72+
sycl::marray<float, 2> ma10{2.f, 2.f};
6273
sycl::marray<bool, 3> c(1, 0, 1);
6374

75+
if (Dev.has(sycl::aspect::fp16)) {
76+
TEST(sycl::isequal, bool, EXPECTED(bool, 1, 1), 2, ma1_f16, ma2_f16);
77+
TEST(sycl::isnotequal, bool, EXPECTED(bool, 0, 0), 2, ma1_f16, ma2_f16);
78+
TEST(sycl::isgreater, bool, EXPECTED(bool, 0, 1), 2, ma1_f16, ma3_f16);
79+
TEST(sycl::isgreaterequal, bool, EXPECTED(bool, 0, 1), 2, ma1_f16, ma4_f16);
80+
TEST(sycl::isless, bool, EXPECTED(bool, 0, 1), 2, ma3_f16, ma1_f16);
81+
TEST(sycl::islessequal, bool, EXPECTED(bool, 0, 1), 2, ma4_f16, ma1_f16);
82+
TEST(sycl::islessgreater, bool, EXPECTED(bool, 0, 0), 2, ma1_f16, ma2_f16);
83+
TEST(sycl::isfinite, bool, EXPECTED(bool, 1, 1), 2, ma1_f16);
84+
TEST(sycl::isinf, bool, EXPECTED(bool, 0, 0), 2, ma1_f16);
85+
TEST(sycl::isnan, bool, EXPECTED(bool, 0, 0), 2, ma1_f16);
86+
TEST(sycl::isnormal, bool, EXPECTED(bool, 1, 1), 2, ma1_f16);
87+
TEST(sycl::isordered, bool, EXPECTED(bool, 1, 1), 2, ma1_f16, ma2_f16);
88+
TEST(sycl::isunordered, bool, EXPECTED(bool, 0, 0), 2, ma1_f16, ma2_f16);
89+
TEST(sycl::signbit, bool, EXPECTED(bool, 0, 0), 2, ma1_f16);
90+
TEST(sycl::bitselect, sycl::half, EXPECTED(float, 1.0, 1.0), 2, ma8_f16,
91+
ma9_f16, ma10_f16);
92+
TEST(sycl::select, sycl::half, EXPECTED(float, 1.0, 2.0, 8.0), 3, ma5_f16,
93+
ma6_f16, c);
94+
}
95+
6496
TEST(sycl::isequal, bool, EXPECTED(bool, 1, 1), 2, ma1, ma2);
6597
TEST(sycl::isnotequal, bool, EXPECTED(bool, 0, 0), 2, ma1, ma2);
6698
TEST(sycl::isgreater, bool, EXPECTED(bool, 0, 1), 2, ma1, ma3);

0 commit comments

Comments
 (0)