aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/operators/CpuSub.cpp
diff options
context:
space:
mode:
authorJakub Sujak <jakub.sujak@arm.com>2022-09-17 13:08:56 +0100
committerPablo Marquez Tello <pablo.tello@arm.com>2022-10-07 10:07:42 +0000
commit842ad211c11417ba456a2dca7e89988db98eb256 (patch)
treede816f1d53973961b229b09a9767c23c2628dad4 /src/cpu/operators/CpuSub.cpp
parentad9a7ed2f9969381af0b9c97438a3402e16d9483 (diff)
downloadComputeLibrary-842ad211c11417ba456a2dca7e89988db98eb256.tar.gz
Optimize Neon™ SUB operator by squashing execution window
Resolves: COMPMID-5462 Change-Id: I2c7151c8faf4016cc33592fff04d492d7cbc8fd6 Signed-off-by: Jakub Sujak <jakub.sujak@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8366 Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gunes Bayir <gunes.bayir@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu/operators/CpuSub.cpp')
-rw-r--r--src/cpu/operators/CpuSub.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/cpu/operators/CpuSub.cpp b/src/cpu/operators/CpuSub.cpp
index f0a7770cea..91a5b6e63c 100644
--- a/src/cpu/operators/CpuSub.cpp
+++ b/src/cpu/operators/CpuSub.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Arm Limited.
+ * Copyright (c) 2021-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -27,6 +27,8 @@
#include "src/common/utils/Log.h"
+#include "arm_compute/runtime/NEON/NEScheduler.h"
+
namespace arm_compute
{
namespace cpu
@@ -45,5 +47,12 @@ Status CpuSub::validate(const ITensorInfo *src0, const ITensorInfo *src1, const
ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled());
return kernels::CpuSubKernel::validate(src0, src1, dst, policy);
}
+
+void CpuSub::run(ITensorPack &tensors)
+{
+ const auto split_dimension = static_cast<kernels::CpuSubKernel *>(_kernel.get())->get_split_dimension();
+
+ NEScheduler::get().schedule_op(_kernel.get(), split_dimension, _kernel->window(), tensors);
+}
} // namespace cpu
} // namespace arm_compute