diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-03-01 11:23:35 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-03-01 14:04:39 +0000 |
commit | 90e9e9ef8b3b8405adf0cf642d72c1a8b576b29c (patch) | |
tree | 4cbaeb2d481ec3abaa8d5df39f9d6d30b49166c5 /eval | |
parent | fb481d5f8520166ce414fde4b5afc1c307640186 (diff) |
use SmallVector in GenericReduce
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp | 8 | ||||
-rw-r--r-- | eval/src/vespa/eval/instruction/generic_reduce.cpp | 6 | ||||
-rw-r--r-- | eval/src/vespa/eval/instruction/generic_reduce.h | 8 |
3 files changed, 11 insertions, 11 deletions
diff --git a/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp b/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp index 4e4cc5fb50b..95236d15299 100644 --- a/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp +++ b/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp @@ -50,9 +50,9 @@ TensorSpec perform_generic_reduce(const TensorSpec &a, Aggr aggr, const std::vec TEST(GenericReduceTest, dense_reduce_plan_can_be_created) { auto type = ValueType::from_spec("tensor(a[2],aa{},b[2],bb[1],c[2],cc{},d[2],dd[1],e[2],ee{},f[2])"); auto plan = DenseReducePlan(type, type.reduce({"a", "d", "e"})); - std::vector<size_t> expect_loop_cnt = {2,4,4,2}; - std::vector<size_t> expect_in_stride = {32,2,8,1}; - std::vector<size_t> expect_out_stride = {0,0,2,1}; + SmallVector<size_t> expect_loop_cnt = {2,4,4,2}; + SmallVector<size_t> expect_in_stride = {32,2,8,1}; + SmallVector<size_t> expect_out_stride = {0,0,2,1}; EXPECT_EQ(plan.in_size, 64); EXPECT_EQ(plan.out_size, 8); EXPECT_EQ(plan.loop_cnt, expect_loop_cnt); @@ -63,7 +63,7 @@ TEST(GenericReduceTest, dense_reduce_plan_can_be_created) { TEST(GenericReduceTest, sparse_reduce_plan_can_be_created) { auto type = ValueType::from_spec("tensor(a{},aa[10],b{},c{},cc[5],d{},e{},ee[1],f{})"); auto plan = SparseReducePlan(type, type.reduce({"a", "d", "e"})); - std::vector<size_t> expect_keep_dims = {1,2,5}; + SmallVector<size_t> expect_keep_dims = {1,2,5}; EXPECT_EQ(plan.num_reduce_dims, 3); EXPECT_EQ(plan.keep_dims, expect_keep_dims); } diff --git a/eval/src/vespa/eval/instruction/generic_reduce.cpp b/eval/src/vespa/eval/instruction/generic_reduce.cpp index 2d4144d64b1..c60f77230a3 100644 --- a/eval/src/vespa/eval/instruction/generic_reduce.cpp +++ b/eval/src/vespa/eval/instruction/generic_reduce.cpp @@ -46,9 +46,9 @@ ReduceParam::~ReduceParam() = default; //----------------------------------------------------------------------------- struct SparseReduceState { - std::vector<string_id> full_address; - std::vector<string_id*> fetch_address; - std::vector<string_id*> keep_address; + SmallVector<string_id> full_address; + SmallVector<string_id*> fetch_address; + SmallVector<string_id*> keep_address; size_t subspace; SparseReduceState(const SparseReducePlan &plan) diff --git a/eval/src/vespa/eval/instruction/generic_reduce.h b/eval/src/vespa/eval/instruction/generic_reduce.h index 5faafb0325d..1d7221cf54d 100644 --- a/eval/src/vespa/eval/instruction/generic_reduce.h +++ b/eval/src/vespa/eval/instruction/generic_reduce.h @@ -17,9 +17,9 @@ namespace vespalib::eval::instruction { struct DenseReducePlan { size_t in_size; size_t out_size; - std::vector<size_t> loop_cnt; - std::vector<size_t> in_stride; - std::vector<size_t> out_stride; + SmallVector<size_t> loop_cnt; + SmallVector<size_t> in_stride; + SmallVector<size_t> out_stride; DenseReducePlan(const ValueType &type, const ValueType &res_type); ~DenseReducePlan(); template <typename F> void execute(size_t in_idx, const F &f) const { @@ -29,7 +29,7 @@ struct DenseReducePlan { struct SparseReducePlan { size_t num_reduce_dims; - std::vector<size_t> keep_dims; + SmallVector<size_t> keep_dims; bool should_forward_index() const; SparseReducePlan(const ValueType &type, const ValueType &res_type); ~SparseReducePlan(); |