diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2017-11-29 16:06:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-29 16:06:10 +0100 |
commit | 5b5ac89485e6cd5995667bdf7f38d142bf634870 (patch) | |
tree | 0f364712f459998cb9ce4b8aa2b539b131aa6e7e | |
parent | aca317fce93ddb796e7cbc38468d92719c85f28c (diff) | |
parent | 164b83e251da2333be25ad1768cef205a0023262 (diff) |
Merge pull request #4311 from vespa-engine/havardpe/use-tensor-match-when-possible
optimize for NN bias addition
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp index eba2452c41d..30c9f17348e 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_view.cpp @@ -241,16 +241,16 @@ DenseTensorView::accept(TensorVisitor &visitor) const Tensor::UP DenseTensorView::join(join_fun_t function, const Tensor &arg) const { - if (function == eval::operation::Mul::f) { - if (fast_type() == arg.type()) { - return joinDenseTensors(*this, arg, "match", - [](double lhsValue, double rhsValue) - { return (lhsValue * rhsValue); }); - } else { - return dense::apply(*this, arg, - [](double lhsValue, double rhsValue) - { return lhsValue * rhsValue; }); + if (fast_type() == arg.type()) { + if (function == eval::operation::Mul::f) { + return joinDenseTensors(*this, arg, "mul", + [](double a, double b) { return (a * b); }); } + if (function == eval::operation::Add::f) { + return joinDenseTensors(*this, arg, "add", + [](double a, double b) { return (a + b); }); + } + return joinDenseTensors(*this, arg, "join", function); } return dense::apply(*this, arg, function); } |