Skip to content

Commit c159697

Browse files
vasilytricbb-sycl
authored andcommitted
[SYCL][ESIMD] Enable verification for 32 simd vector length (intel#758)
1 parent 0abcb5c commit c159697

File tree

4 files changed

+109
-10
lines changed

4 files changed

+109
-10
lines changed

SYCL/ESIMD/api/functional/ctors/ctor_array_core.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,16 @@ int main(int, char **) {
3232

3333
bool passed = true;
3434

35+
<<<<<<< HEAD
3536
const auto types = get_tested_types<tested_types::core>();
3637
const auto sizes = get_all_sizes();
3738
const auto contexts =
3839
unnamed_type_pack<ctors::initializer, ctors::var_decl,
3940
ctors::rval_in_expr, ctors::const_ref>::generate();
41+
=======
42+
const auto types = get_tested_types<tested_types::all>();
43+
const auto dims = get_all_dimensions();
44+
>>>>>>> 7ff842b8f ([SYCL][ESIMD] Enable verification for 32 simd vector length (#758))
4045

4146
passed &=
4247
for_all_combinations<ctors::run_test>(types, sizes, contexts, queue);

SYCL/ESIMD/api/functional/ctors/ctor_fill_core.cpp

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ int main(int, char **) {
3535
// invocation contexts, base and step values accumulating the result in
3636
// boolean flag.
3737

38+
<<<<<<< HEAD
3839
{
3940
// Validate basic functionality works for every invocation context
4041
const auto types = named_type_pack<char, int>::generate("char", "int");
@@ -60,6 +61,104 @@ int main(int, char **) {
6061
}
6162
{
6263
// Validate basic functionality works for every type
64+
=======
65+
const auto two_dims = values_pack<1, 8>();
66+
const auto char_int_types = named_type_pack<char, int>({"char", "int"});
67+
68+
// Run for specific combinations of types, vector length, base and step values
69+
// and invocation contexts.
70+
// The first init_val value it's a base value and the second init_val value
71+
// it's a step value.
72+
passed &=
73+
ctors::run_verification<ctors::initializer, ctors::init_val::min_half,
74+
ctors::init_val::zero>(queue, two_dims,
75+
char_int_types);
76+
77+
passed &= ctors::run_verification<ctors::initializer, ctors::init_val::zero,
78+
ctors::init_val::positive>(queue, two_dims,
79+
char_int_types);
80+
passed &=
81+
ctors::run_verification<ctors::initializer, ctors::init_val::min_half,
82+
ctors::init_val::positive>(queue, two_dims,
83+
char_int_types);
84+
85+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min_half,
86+
ctors::init_val::zero>(queue, two_dims,
87+
char_int_types);
88+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::zero,
89+
ctors::init_val::positive>(queue, two_dims,
90+
char_int_types);
91+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min_half,
92+
ctors::init_val::positive>(queue, two_dims,
93+
char_int_types);
94+
95+
passed &=
96+
ctors::run_verification<ctors::rval_in_express, ctors::init_val::min_half,
97+
ctors::init_val::zero>(queue, two_dims,
98+
char_int_types);
99+
passed &=
100+
ctors::run_verification<ctors::rval_in_express, ctors::init_val::zero,
101+
ctors::init_val::positive>(queue, two_dims,
102+
char_int_types);
103+
passed &=
104+
ctors::run_verification<ctors::rval_in_express, ctors::init_val::min_half,
105+
ctors::init_val::positive>(queue, two_dims,
106+
char_int_types);
107+
108+
passed &= ctors::run_verification<ctors::const_ref, ctors::init_val::min_half,
109+
ctors::init_val::zero>(queue, two_dims,
110+
char_int_types);
111+
passed &= ctors::run_verification<ctors::const_ref, ctors::init_val::zero,
112+
ctors::init_val::positive>(queue, two_dims,
113+
char_int_types);
114+
passed &= ctors::run_verification<ctors::const_ref, ctors::init_val::min_half,
115+
ctors::init_val::positive>(queue, two_dims,
116+
char_int_types);
117+
118+
const auto all_dims = get_all_dimensions();
119+
const auto all_types = get_tested_types<tested_types::all>();
120+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
121+
ctors::init_val::zero>(queue, all_dims,
122+
all_types);
123+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max_half,
124+
ctors::init_val::zero>(queue, all_dims,
125+
all_types);
126+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::zero,
127+
ctors::init_val::positive>(queue, all_dims,
128+
all_types);
129+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max_half,
130+
ctors::init_val::positive>(queue, all_dims,
131+
all_types);
132+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::zero,
133+
ctors::init_val::negative>(queue, all_dims,
134+
all_types);
135+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max_half,
136+
ctors::init_val::negative>(queue, all_dims,
137+
all_types);
138+
139+
const auto single_dim = values_pack<8>();
140+
const auto uint_types = get_tested_types<tested_types::uint>();
141+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
142+
ctors::init_val::positive>(
143+
queue, single_dim, uint_types);
144+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
145+
ctors::init_val::negative>(
146+
queue, single_dim, uint_types);
147+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
148+
ctors::init_val::positive>(
149+
queue, single_dim, uint_types);
150+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
151+
ctors::init_val::negative>(
152+
queue, single_dim, uint_types);
153+
154+
const auto sint_types = get_tested_types<tested_types::sint>();
155+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
156+
ctors::init_val::positive>(
157+
queue, single_dim, uint_types);
158+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
159+
ctors::init_val::negative>(
160+
queue, single_dim, uint_types);
161+
>>>>>>> 7ff842b8f ([SYCL][ESIMD] Enable verification for 32 simd vector length (#758))
63162

64163
const auto types = get_tested_types<tested_types::core>();
65164
const auto sizes = get_all_sizes();

SYCL/ESIMD/api/functional/ctors/ctor_move.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@
2121
// source simd instance. It is expected for a new simd instance to store
2222
// bitwise same data as the one passed as the source simd constructor.
2323

24-
// The following issues for simd<T,32> observed:
25-
// - freeze with T in {char, unsigned char, singned char};
26-
// - runtime failure with T in {short, unsigned short}.
27-
// TODO Remove once the freeze is fixed
28-
#define SKIP_VECTOR_LEN_32
29-
3024
// The test proxy is used to verify the move constructor was called actually.
3125
#define __ESIMD_ENABLE_TEST_PROXY
3226

@@ -222,11 +216,7 @@ template <typename DataT, int NumElems, typename TestCaseT> class run_test {
222216
int main(int, char **) {
223217
bool passed = true;
224218
const auto types = get_tested_types<tested_types::all>();
225-
#ifdef SKIP_VECTOR_LEN_32
226-
const auto dims = values_pack<1, 8, 16>();
227-
#else
228219
const auto dims = get_all_dimensions();
229-
#endif
230220

231221
sycl::queue queue(esimd_test::ESIMDSelector{},
232222
esimd_test::createExceptionHandler());

SYCL/ESIMD/api/functional/ctors/ctor_vector_core.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ int main(int, char **) {
4141

4242
bool passed = true;
4343

44+
<<<<<<< HEAD
4445
const auto types = get_tested_types<tested_types::core>();
4546
const auto sizes = get_all_sizes();
4647
const auto contexts =
4748
unnamed_type_pack<ctors::initializer, ctors::var_decl,
4849
ctors::rval_in_expr, ctors::const_ref>::generate();
50+
=======
51+
const auto types = get_tested_types<tested_types::all>();
52+
const auto dims = get_all_dimensions();
53+
>>>>>>> 7ff842b8f ([SYCL][ESIMD] Enable verification for 32 simd vector length (#758))
4954

5055
// Run test for all combinations possible
5156
passed &=

0 commit comments

Comments
 (0)