From 13c3327f5cf829fd9d04a2ab46861e722cd74ca0 Mon Sep 17 00:00:00 2001 From: Eugene Zhulenev Date: Tue, 12 Nov 2019 10:12:28 -0800 Subject: Remove legacy block evaluation support --- unsupported/test/cxx11_tensor_executor.cpp | 212 ++++++++++------------------- 1 file changed, 71 insertions(+), 141 deletions(-) (limited to 'unsupported/test/cxx11_tensor_executor.cpp') diff --git a/unsupported/test/cxx11_tensor_executor.cpp b/unsupported/test/cxx11_tensor_executor.cpp index 0e70e1770..66b06e8ee 100644 --- a/unsupported/test/cxx11_tensor_executor.cpp +++ b/unsupported/test/cxx11_tensor_executor.cpp @@ -310,48 +310,6 @@ static void test_execute_shuffle_lvalue(Device d) } while (std::next_permutation(&shuffle[0], &shuffle[0] + NumDims)); } -template -static void test_execute_reduction(Device d) -{ - static_assert(NumDims >= 2, "NumDims must be greater or equal than 2"); - - static constexpr int ReducedDims = NumDims - 2; - static constexpr int Options = 0 | Layout; - - auto dims = RandomDims(5, 10); - Tensor src(dims); - src.setRandom(); - - // Pick two random and unique reduction dimensions. - int reduction0 = internal::random(0, NumDims - 1); - int reduction1 = internal::random(0, NumDims - 1); - while (reduction0 == reduction1) { - reduction1 = internal::random(0, NumDims - 1); - } - - DSizes reduction_axis; - reduction_axis[0] = reduction0; - reduction_axis[1] = reduction1; - - Tensor golden = src.sum(reduction_axis); - - // Now do the reduction using configured tensor executor. - Tensor dst(golden.dimensions()); - - auto expr = src.sum(reduction_axis); - - using Assign = TensorAssignOp; - using Executor = - internal::TensorExecutor; - - Executor::run(Assign(dst, expr), d); - - for (Index i = 0; i < dst.dimensions().TotalSize(); ++i) { - VERIFY_IS_EQUAL(dst.coeff(i), golden.coeff(i)); - } -} - template static void test_execute_reshape(Device d) @@ -663,57 +621,34 @@ static void test_async_execute_binary_expr(Device d) #define CALL_SUBTEST_PART(PART) \ CALL_SUBTEST_##PART -#define CALL_SUBTEST_COMBINATIONS_V1(PART, NAME, T, NUM_DIMS) \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))) - - // NOTE: Tiling V2 currently implemented for a limited types of expression, and only with default device. -#define CALL_SUBTEST_COMBINATIONS_V2(PART, NAME, T, NUM_DIMS) \ +#define CALL_SUBTEST_COMBINATIONS(PART, NAME, T, NUM_DIMS) \ CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ + CALL_SUBTEST_PART(PART)((NAME(default_device))); \ CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ + CALL_SUBTEST_PART(PART)((NAME(default_device))); \ CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ + CALL_SUBTEST_PART(PART)((NAME(default_device))); \ CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ - CALL_SUBTEST_PART(PART)((NAME(default_device))); \ + CALL_SUBTEST_PART(PART)((NAME(default_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ + CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ + CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ + CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))) + CALL_SUBTEST_PART(PART)((NAME(tp_device))) // NOTE: Currently only ThreadPoolDevice supports async expression evaluation. #define CALL_ASYNC_SUBTEST_COMBINATIONS(PART, NAME, T, NUM_DIMS) \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ + CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ + CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ + CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ CALL_SUBTEST_PART(PART)((NAME(tp_device))); \ - CALL_SUBTEST_PART(PART)((NAME(tp_device))) + CALL_SUBTEST_PART(PART)((NAME(tp_device))) EIGEN_DECLARE_TEST(cxx11_tensor_executor) { Eigen::DefaultDevice default_device; @@ -724,69 +659,64 @@ EIGEN_DECLARE_TEST(cxx11_tensor_executor) { Eigen::ThreadPool tp(num_threads); Eigen::ThreadPoolDevice tp_device(&tp, num_threads); - CALL_SUBTEST_COMBINATIONS_V2(1, test_execute_unary_expr, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(1, test_execute_unary_expr, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(1, test_execute_unary_expr, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(2, test_execute_binary_expr, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(2, test_execute_binary_expr, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(2, test_execute_binary_expr, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(3, test_execute_broadcasting, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(3, test_execute_broadcasting, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(3, test_execute_broadcasting, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(4, test_execute_chipping_rvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(4, test_execute_chipping_rvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(4, test_execute_chipping_rvalue, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(5, test_execute_chipping_lvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(5, test_execute_chipping_lvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(5, test_execute_chipping_lvalue, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(6, test_execute_shuffle_rvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(6, test_execute_shuffle_rvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(6, test_execute_shuffle_rvalue, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(7, test_execute_shuffle_lvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(7, test_execute_shuffle_lvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(7, test_execute_shuffle_lvalue, float, 5); - - CALL_SUBTEST_COMBINATIONS_V1(8, test_execute_reduction, float, 2); - CALL_SUBTEST_COMBINATIONS_V1(8, test_execute_reduction, float, 3); - CALL_SUBTEST_COMBINATIONS_V1(8, test_execute_reduction, float, 4); - CALL_SUBTEST_COMBINATIONS_V1(8, test_execute_reduction, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(9, test_execute_reshape, float, 2); - CALL_SUBTEST_COMBINATIONS_V2(9, test_execute_reshape, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(9, test_execute_reshape, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(9, test_execute_reshape, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(10, test_execute_slice_rvalue, float, 2); - CALL_SUBTEST_COMBINATIONS_V2(10, test_execute_slice_rvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(10, test_execute_slice_rvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(10, test_execute_slice_rvalue, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(11, test_execute_slice_lvalue, float, 2); - CALL_SUBTEST_COMBINATIONS_V2(11, test_execute_slice_lvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(11, test_execute_slice_lvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(11, test_execute_slice_lvalue, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(12, test_execute_broadcasting_of_forced_eval, float, 2); - CALL_SUBTEST_COMBINATIONS_V2(12, test_execute_broadcasting_of_forced_eval, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(12, test_execute_broadcasting_of_forced_eval, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(12, test_execute_broadcasting_of_forced_eval, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(13, test_execute_generator_op, float, 2); - CALL_SUBTEST_COMBINATIONS_V2(13, test_execute_generator_op, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(13, test_execute_generator_op, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(13, test_execute_generator_op, float, 5); - - CALL_SUBTEST_COMBINATIONS_V2(14, test_execute_reverse_rvalue, float, 1); - CALL_SUBTEST_COMBINATIONS_V2(14, test_execute_reverse_rvalue, float, 2); - CALL_SUBTEST_COMBINATIONS_V2(14, test_execute_reverse_rvalue, float, 3); - CALL_SUBTEST_COMBINATIONS_V2(14, test_execute_reverse_rvalue, float, 4); - CALL_SUBTEST_COMBINATIONS_V2(14, test_execute_reverse_rvalue, float, 5); + CALL_SUBTEST_COMBINATIONS(1, test_execute_unary_expr, float, 3); + CALL_SUBTEST_COMBINATIONS(1, test_execute_unary_expr, float, 4); + CALL_SUBTEST_COMBINATIONS(1, test_execute_unary_expr, float, 5); + + CALL_SUBTEST_COMBINATIONS(2, test_execute_binary_expr, float, 3); + CALL_SUBTEST_COMBINATIONS(2, test_execute_binary_expr, float, 4); + CALL_SUBTEST_COMBINATIONS(2, test_execute_binary_expr, float, 5); + + CALL_SUBTEST_COMBINATIONS(3, test_execute_broadcasting, float, 3); + CALL_SUBTEST_COMBINATIONS(3, test_execute_broadcasting, float, 4); + CALL_SUBTEST_COMBINATIONS(3, test_execute_broadcasting, float, 5); + + CALL_SUBTEST_COMBINATIONS(4, test_execute_chipping_rvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(4, test_execute_chipping_rvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(4, test_execute_chipping_rvalue, float, 5); + + CALL_SUBTEST_COMBINATIONS(5, test_execute_chipping_lvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(5, test_execute_chipping_lvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(5, test_execute_chipping_lvalue, float, 5); + + CALL_SUBTEST_COMBINATIONS(6, test_execute_shuffle_rvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(6, test_execute_shuffle_rvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(6, test_execute_shuffle_rvalue, float, 5); + + CALL_SUBTEST_COMBINATIONS(7, test_execute_shuffle_lvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(7, test_execute_shuffle_lvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(7, test_execute_shuffle_lvalue, float, 5); + + CALL_SUBTEST_COMBINATIONS(9, test_execute_reshape, float, 2); + CALL_SUBTEST_COMBINATIONS(9, test_execute_reshape, float, 3); + CALL_SUBTEST_COMBINATIONS(9, test_execute_reshape, float, 4); + CALL_SUBTEST_COMBINATIONS(9, test_execute_reshape, float, 5); + + CALL_SUBTEST_COMBINATIONS(10, test_execute_slice_rvalue, float, 2); + CALL_SUBTEST_COMBINATIONS(10, test_execute_slice_rvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(10, test_execute_slice_rvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(10, test_execute_slice_rvalue, float, 5); + + CALL_SUBTEST_COMBINATIONS(11, test_execute_slice_lvalue, float, 2); + CALL_SUBTEST_COMBINATIONS(11, test_execute_slice_lvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(11, test_execute_slice_lvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(11, test_execute_slice_lvalue, float, 5); + + CALL_SUBTEST_COMBINATIONS(12, test_execute_broadcasting_of_forced_eval, float, 2); + CALL_SUBTEST_COMBINATIONS(12, test_execute_broadcasting_of_forced_eval, float, 3); + CALL_SUBTEST_COMBINATIONS(12, test_execute_broadcasting_of_forced_eval, float, 4); + CALL_SUBTEST_COMBINATIONS(12, test_execute_broadcasting_of_forced_eval, float, 5); + + CALL_SUBTEST_COMBINATIONS(13, test_execute_generator_op, float, 2); + CALL_SUBTEST_COMBINATIONS(13, test_execute_generator_op, float, 3); + CALL_SUBTEST_COMBINATIONS(13, test_execute_generator_op, float, 4); + CALL_SUBTEST_COMBINATIONS(13, test_execute_generator_op, float, 5); + + CALL_SUBTEST_COMBINATIONS(14, test_execute_reverse_rvalue, float, 1); + CALL_SUBTEST_COMBINATIONS(14, test_execute_reverse_rvalue, float, 2); + CALL_SUBTEST_COMBINATIONS(14, test_execute_reverse_rvalue, float, 3); + CALL_SUBTEST_COMBINATIONS(14, test_execute_reverse_rvalue, float, 4); + CALL_SUBTEST_COMBINATIONS(14, test_execute_reverse_rvalue, float, 5); CALL_ASYNC_SUBTEST_COMBINATIONS(15, test_async_execute_unary_expr, float, 3); CALL_ASYNC_SUBTEST_COMBINATIONS(15, test_async_execute_unary_expr, float, 4); -- cgit v1.2.3