diff options
author | Matthew Bentham <matthew.bentham@arm.com> | 2019-01-08 17:52:37 +0000 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2019-01-08 18:00:12 +0000 |
commit | d80a7126b0abdd532a9f731559827a23f2e565e0 (patch) | |
tree | e04f6454e2353469dd9806b2a589c54b61dd777d /src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp | |
parent | a1d3c6a49f35d7d3f11cc7e1b588d1d5401bdbf1 (diff) | |
download | armnn-d80a7126b0abdd532a9f731559827a23f2e565e0.tar.gz |
Refactor: Don't include all ComputeLibrary function definitions everywhere.
Just include the function definition that is specifically needed for each workload.
Also, tighten up the scope where Compute Library functions are available.
Knocks about 30seconds off a 4m30s single-threaded compile of the Neon workloads.
Change-Id: Idac438f3bc77ff978295fbc9505cb42447def145
Diffstat (limited to 'src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp')
-rw-r--r-- | src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp b/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp index c4241ece19..778e78213c 100644 --- a/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp +++ b/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp @@ -5,6 +5,9 @@ #include "NeonMultiplicationFloatWorkload.hpp" +#include "NeonWorkloadUtils.hpp" + +#include <arm_compute/runtime/NEON/functions/NEPixelWiseMultiplication.h> namespace armnn { @@ -41,18 +44,20 @@ NeonMultiplicationFloatWorkload::NeonMultiplicationFloatWorkload(const Multiplic // At the time of writing, configure() will fail if a rounding policy other than TO_ZERO is supplied to it, // when providing a scale of 1.0 for F32 tensors, even though the provided rounding policy appears to be // ignored for F32 tensors. - m_PixelWiseMultiplication.configure(&input1, - &input2, - &output, - 1.0f, - arm_compute::ConvertPolicy::SATURATE, - arm_compute::RoundingPolicy::TO_ZERO); + auto layer = std::make_unique<arm_compute::NEPixelWiseMultiplication>(); + layer->configure(&input1, + &input2, + &output, + 1.0f, + arm_compute::ConvertPolicy::SATURATE, + arm_compute::RoundingPolicy::TO_ZERO); + m_PixelWiseMultiplication.reset(layer.release()); } void NeonMultiplicationFloatWorkload::Execute() const { ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonMultiplicationFloatWorkload_Execute"); - m_PixelWiseMultiplication.run(); + m_PixelWiseMultiplication->run(); } } //namespace armnn |