diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2019-04-03 17:48:18 +0100 |
---|---|---|
committer | Sadik Armagan <sadik.armagan@arm.com> | 2019-04-08 15:48:28 +0000 |
commit | 2e6dc3a1c5d47825535db7993ba77eb1596ae99b (patch) | |
tree | 48e73fa1862d17534804d1699bedb76120e88c9f /src/backends/reference/workloads/RefElementwiseWorkload.hpp | |
parent | 0324f48e64edb99a5c8d819394545d97e0c2ae97 (diff) | |
download | armnn-2e6dc3a1c5d47825535db7993ba77eb1596ae99b.tar.gz |
IVGCVSW-2861 Refactor the Reference Elementwise workload
* Refactor Reference Comparison workload
* Removed templating based on the DataType
* Implemented BaseIterator to do decode/encode
Change-Id: I18f299f47ee23772f90152c1146b42f07465e105
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Kevin May <kevin.may@arm.com>
Diffstat (limited to 'src/backends/reference/workloads/RefElementwiseWorkload.hpp')
-rw-r--r-- | src/backends/reference/workloads/RefElementwiseWorkload.hpp | 69 |
1 files changed, 11 insertions, 58 deletions
diff --git a/src/backends/reference/workloads/RefElementwiseWorkload.hpp b/src/backends/reference/workloads/RefElementwiseWorkload.hpp index 371904977a..81af19627e 100644 --- a/src/backends/reference/workloads/RefElementwiseWorkload.hpp +++ b/src/backends/reference/workloads/RefElementwiseWorkload.hpp @@ -15,90 +15,43 @@ namespace armnn { -template <typename Functor, - typename armnn::DataType DataType, - typename ParentDescriptor, - typename armnn::StringMapping::Id DebugString> -class RefElementwiseWorkload - : public TypedWorkload<ParentDescriptor, DataType> +template <typename Functor, typename ParentDescriptor, typename armnn::StringMapping::Id DebugString> +class RefElementwiseWorkload : public BaseWorkload<ParentDescriptor> { public: - - using TypedWorkload<ParentDescriptor, DataType>::m_Data; - using TypedWorkload<ParentDescriptor, DataType>::TypedWorkload; + using BaseWorkload<ParentDescriptor>::m_Data; + using BaseWorkload<ParentDescriptor>::BaseWorkload; void Execute() const override; }; -using RefAdditionFloat32Workload = - RefElementwiseWorkload<std::plus<float>, - DataType::Float32, - AdditionQueueDescriptor, - StringMapping::RefAdditionWorkload_Execute>; - -using RefAdditionUint8Workload = +using RefAdditionWorkload = RefElementwiseWorkload<std::plus<float>, - DataType::QuantisedAsymm8, AdditionQueueDescriptor, StringMapping::RefAdditionWorkload_Execute>; -using RefSubtractionFloat32Workload = - RefElementwiseWorkload<std::minus<float>, - DataType::Float32, - SubtractionQueueDescriptor, - StringMapping::RefSubtractionWorkload_Execute>; - -using RefSubtractionUint8Workload = +using RefSubtractionWorkload = RefElementwiseWorkload<std::minus<float>, - DataType::QuantisedAsymm8, SubtractionQueueDescriptor, StringMapping::RefSubtractionWorkload_Execute>; -using RefMultiplicationFloat32Workload = - RefElementwiseWorkload<std::multiplies<float>, - DataType::Float32, - MultiplicationQueueDescriptor, - StringMapping::RefMultiplicationWorkload_Execute>; - -using RefMultiplicationUint8Workload = +using RefMultiplicationWorkload = RefElementwiseWorkload<std::multiplies<float>, - DataType::QuantisedAsymm8, MultiplicationQueueDescriptor, StringMapping::RefMultiplicationWorkload_Execute>; -using RefDivisionFloat32Workload = - RefElementwiseWorkload<std::divides<float>, - DataType::Float32, - DivisionQueueDescriptor, - StringMapping::RefDivisionWorkload_Execute>; - -using RefDivisionUint8Workload = +using RefDivisionWorkload = RefElementwiseWorkload<std::divides<float>, - DataType::QuantisedAsymm8, DivisionQueueDescriptor, StringMapping::RefDivisionWorkload_Execute>; -using RefMaximumFloat32Workload = - RefElementwiseWorkload<armnn::maximum<float>, - DataType::Float32, - MaximumQueueDescriptor, - StringMapping::RefMaximumWorkload_Execute>; - -using RefMaximumUint8Workload = +using RefMaximumWorkload = RefElementwiseWorkload<armnn::maximum<float>, - DataType::QuantisedAsymm8, MaximumQueueDescriptor, StringMapping::RefMaximumWorkload_Execute>; -using RefMinimumFloat32Workload = - RefElementwiseWorkload<minimum<float>, - DataType::Float32, - MinimumQueueDescriptor, - StringMapping::RefMinimumWorkload_Execute>; - -using RefMinimumUint8Workload = - RefElementwiseWorkload<minimum<float>, - DataType::QuantisedAsymm8, +using RefMinimumWorkload = + RefElementwiseWorkload<armnn::minimum<float>, MinimumQueueDescriptor, StringMapping::RefMinimumWorkload_Execute>; } // armnn |