aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/kernels/CpuMulKernel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/kernels/CpuMulKernel.cpp')
-rw-r--r--src/cpu/kernels/CpuMulKernel.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/cpu/kernels/CpuMulKernel.cpp b/src/cpu/kernels/CpuMulKernel.cpp
index 2f04bf9f26..f767f087b9 100644
--- a/src/cpu/kernels/CpuMulKernel.cpp
+++ b/src/cpu/kernels/CpuMulKernel.cpp
@@ -1657,10 +1657,26 @@ void CpuMulKernel::run_op(ITensorPack &tensors, const Window &window, const Thre
(*_func_float)(src1, src2, dst, window, _scale);
}
}
+
const char *CpuMulKernel::name() const
{
return "CpuMulKernel";
}
+
+size_t CpuMulKernel::get_mws(const CPUInfo &platform, size_t thread_count) const
+{
+ ARM_COMPUTE_UNUSED(platform, thread_count);
+
+ if(_split_dimension == Window::DimX)
+ {
+ // Don't split the work load too small if the tensor has been reinterpreted as 1D.
+ // This number is loosely chosen as threading overhead in each platform varies wildly.
+ return 10240;
+ }
+
+ return default_mws;
+}
+
namespace
{
Status validate_arguments_complex(const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst)