Skip to content

Commit 6413874

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

File tree

4 files changed

+123
-10
lines changed

4 files changed

+123
-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 dims = get_all_dimensions();
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 &= for_all_combinations<ctors::run_test>(types, dims, contexts, queue);
4247

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

Lines changed: 113 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");
@@ -144,6 +145,118 @@ int main(int, char **) {
144145
}
145146
}
146147
}
148+
=======
149+
const auto two_dims = values_pack<1, 8>();
150+
const auto char_int_types = named_type_pack<char, int>({"char", "int"});
151+
152+
// Run for specific combinations of types, vector length, base and step values
153+
// and invocation contexts.
154+
// The first init_val value it's a base value and the second init_val value
155+
// it's a step value.
156+
passed &=
157+
ctors::run_verification<ctors::initializer, ctors::init_val::min_half,
158+
ctors::init_val::zero>(queue, two_dims,
159+
char_int_types);
160+
161+
passed &= ctors::run_verification<ctors::initializer, ctors::init_val::zero,
162+
ctors::init_val::positive>(queue, two_dims,
163+
char_int_types);
164+
passed &=
165+
ctors::run_verification<ctors::initializer, ctors::init_val::min_half,
166+
ctors::init_val::positive>(queue, two_dims,
167+
char_int_types);
168+
169+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min_half,
170+
ctors::init_val::zero>(queue, two_dims,
171+
char_int_types);
172+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::zero,
173+
ctors::init_val::positive>(queue, two_dims,
174+
char_int_types);
175+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min_half,
176+
ctors::init_val::positive>(queue, two_dims,
177+
char_int_types);
178+
179+
passed &=
180+
ctors::run_verification<ctors::rval_in_express, ctors::init_val::min_half,
181+
ctors::init_val::zero>(queue, two_dims,
182+
char_int_types);
183+
passed &=
184+
ctors::run_verification<ctors::rval_in_express, ctors::init_val::zero,
185+
ctors::init_val::positive>(queue, two_dims,
186+
char_int_types);
187+
passed &=
188+
ctors::run_verification<ctors::rval_in_express, ctors::init_val::min_half,
189+
ctors::init_val::positive>(queue, two_dims,
190+
char_int_types);
191+
192+
passed &= ctors::run_verification<ctors::const_ref, ctors::init_val::min_half,
193+
ctors::init_val::zero>(queue, two_dims,
194+
char_int_types);
195+
passed &= ctors::run_verification<ctors::const_ref, ctors::init_val::zero,
196+
ctors::init_val::positive>(queue, two_dims,
197+
char_int_types);
198+
passed &= ctors::run_verification<ctors::const_ref, ctors::init_val::min_half,
199+
ctors::init_val::positive>(queue, two_dims,
200+
char_int_types);
201+
202+
const auto all_dims = get_all_dimensions();
203+
const auto all_types = get_tested_types<tested_types::all>();
204+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
205+
ctors::init_val::zero>(queue, all_dims,
206+
all_types);
207+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max_half,
208+
ctors::init_val::zero>(queue, all_dims,
209+
all_types);
210+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::zero,
211+
ctors::init_val::positive>(queue, all_dims,
212+
all_types);
213+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max_half,
214+
ctors::init_val::positive>(queue, all_dims,
215+
all_types);
216+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::zero,
217+
ctors::init_val::negative>(queue, all_dims,
218+
all_types);
219+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max_half,
220+
ctors::init_val::negative>(queue, all_dims,
221+
all_types);
222+
223+
const auto single_dim = values_pack<8>();
224+
const auto uint_types = get_tested_types<tested_types::uint>();
225+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
226+
ctors::init_val::positive>(
227+
queue, single_dim, uint_types);
228+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
229+
ctors::init_val::negative>(
230+
queue, single_dim, uint_types);
231+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
232+
ctors::init_val::positive>(
233+
queue, single_dim, uint_types);
234+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
235+
ctors::init_val::negative>(
236+
queue, single_dim, uint_types);
237+
238+
const auto sint_types = get_tested_types<tested_types::sint>();
239+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::min,
240+
ctors::init_val::positive>(
241+
queue, single_dim, uint_types);
242+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
243+
ctors::init_val::negative>(
244+
queue, single_dim, uint_types);
245+
246+
const auto fp_types = get_tested_types<tested_types::fp>();
247+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::neg_inf,
248+
ctors::init_val::max>(queue, single_dim,
249+
fp_types);
250+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::max,
251+
ctors::init_val::neg_inf>(queue, single_dim,
252+
fp_types);
253+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::nan,
254+
ctors::init_val::negative>(
255+
queue, single_dim, fp_types);
256+
passed &= ctors::run_verification<ctors::var_dec, ctors::init_val::negative,
257+
ctors::init_val::nan>(queue, single_dim,
258+
fp_types);
259+
>>>>>>> 7ff842b8f ([SYCL][ESIMD] Enable verification for 32 simd vector length (#758))
147260

148261
std::cout << (passed ? "=== Test passed\n" : "=== Test FAILED\n");
149262
return passed ? 0 : 1;

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 dims = get_all_dimensions();
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 &= for_all_combinations<ctors::run_test>(types, dims, contexts, queue);

0 commit comments

Comments
 (0)