aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2017-11-29 16:06:10 +0100
committerGitHub <noreply@github.com>2017-11-29 16:06:10 +0100
commit5b5ac89485e6cd5995667bdf7f38d142bf634870 (patch)
tree0f364712f459998cb9ce4b8aa2b539b131aa6e7e
parentaca317fce93ddb796e7cbc38468d92719c85f28c (diff)
parent164b83e251da2333be25ad1768cef205a0023262 (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.cpp18
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);
}