aboutsummaryrefslogtreecommitdiffstats
path: root/eval/src/tests/instruction/mixed_inner_product_function
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-01-20 12:00:14 +0000
committerArne Juul <arnej@verizonmedia.com>2021-01-20 12:00:14 +0000
commitd9de256ebd110b89cd3a0fd379a9993da2a1c753 (patch)
tree89f54ffb508aae869e52b4b3b00a0fbc27b0cb73 /eval/src/tests/instruction/mixed_inner_product_function
parent54d51a45c008773c3b65da62969b4c40bce3f52d (diff)
also test without optimization
Diffstat (limited to 'eval/src/tests/instruction/mixed_inner_product_function')
-rw-r--r--eval/src/tests/instruction/mixed_inner_product_function/mixed_inner_product_function_test.cpp32
1 files changed, 19 insertions, 13 deletions
diff --git a/eval/src/tests/instruction/mixed_inner_product_function/mixed_inner_product_function_test.cpp b/eval/src/tests/instruction/mixed_inner_product_function/mixed_inner_product_function_test.cpp
index 0c91a7f9b70..b71b2c4d74c 100644
--- a/eval/src/tests/instruction/mixed_inner_product_function/mixed_inner_product_function_test.cpp
+++ b/eval/src/tests/instruction/mixed_inner_product_function/mixed_inner_product_function_test.cpp
@@ -56,29 +56,35 @@ EvalFixture::ParamRepo make_params() {
EvalFixture::ParamRepo param_repo = make_params();
void assert_mixed_optimized(const vespalib::string &expr) {
- EvalFixture fixture(prod_factory, expr, param_repo, true);
- EXPECT_EQ(fixture.result(), EvalFixture::ref(expr, param_repo));
- auto info = fixture.find_all<MixedInnerProductFunction>();
+ EvalFixture slow_fixture(prod_factory, expr, param_repo, false);
+ EvalFixture fast_fixture(prod_factory, expr, param_repo, true);
+ EXPECT_EQ(slow_fixture.result(), EvalFixture::ref(expr, param_repo));
+ EXPECT_EQ(fast_fixture.result(), EvalFixture::ref(expr, param_repo));
+ auto info = fast_fixture.find_all<MixedInnerProductFunction>();
ASSERT_EQ(info.size(), 1u);
EXPECT_TRUE(info[0]->result_is_mutable());
}
void assert_not_mixed_optimized(const vespalib::string &expr) {
- EvalFixture fixture(prod_factory, expr, param_repo, true);
- EXPECT_EQ(fixture.result(), EvalFixture::ref(expr, param_repo));
- auto info = fixture.find_all<MixedInnerProductFunction>();
+ EvalFixture slow_fixture(prod_factory, expr, param_repo, false);
+ EvalFixture fast_fixture(prod_factory, expr, param_repo, true);
+ EXPECT_EQ(slow_fixture.result(), EvalFixture::ref(expr, param_repo));
+ EXPECT_EQ(fast_fixture.result(), EvalFixture::ref(expr, param_repo));
+ auto info = fast_fixture.find_all<MixedInnerProductFunction>();
ASSERT_EQ(info.size(), 0u);
}
void assert_dense_optimized(const vespalib::string &expr) {
- EvalFixture fixture(prod_factory, expr, param_repo, true);
- EXPECT_EQ(fixture.result(), EvalFixture::ref(expr, param_repo));
- auto info = fixture.find_all<MixedInnerProductFunction>();
+ EvalFixture slow_fixture(prod_factory, expr, param_repo, false);
+ EvalFixture fast_fixture(prod_factory, expr, param_repo, true);
+ EXPECT_EQ(slow_fixture.result(), EvalFixture::ref(expr, param_repo));
+ EXPECT_EQ(fast_fixture.result(), EvalFixture::ref(expr, param_repo));
+ auto info = fast_fixture.find_all<MixedInnerProductFunction>();
ASSERT_EQ(info.size(), 0u);
- auto info2 = fixture.find_all<DenseDotProductFunction>();
- auto info3 = fixture.find_all<DenseMatMulFunction>();
- auto info4 = fixture.find_all<DenseMultiMatMulFunction>();
- auto info5 = fixture.find_all<DenseXWProductFunction>();
+ auto info2 = fast_fixture.find_all<DenseDotProductFunction>();
+ auto info3 = fast_fixture.find_all<DenseMatMulFunction>();
+ auto info4 = fast_fixture.find_all<DenseMultiMatMulFunction>();
+ auto info5 = fast_fixture.find_all<DenseXWProductFunction>();
ASSERT_EQ(info2.size() + info3.size() + info4.size() + info5.size(), 1u);
}