aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/RefElementwiseWorkload.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference/workloads/RefElementwiseWorkload.hpp')
-rw-r--r--src/backends/reference/workloads/RefElementwiseWorkload.hpp51
1 files changed, 4 insertions, 47 deletions
diff --git a/src/backends/reference/workloads/RefElementwiseWorkload.hpp b/src/backends/reference/workloads/RefElementwiseWorkload.hpp
index a5ff376673..371904977a 100644
--- a/src/backends/reference/workloads/RefElementwiseWorkload.hpp
+++ b/src/backends/reference/workloads/RefElementwiseWorkload.hpp
@@ -20,56 +20,14 @@ template <typename Functor,
typename ParentDescriptor,
typename armnn::StringMapping::Id DebugString>
class RefElementwiseWorkload
-{
- // Needs specialization. The default is empty on purpose.
-};
-
-template <typename ParentDescriptor, typename Functor>
-class BaseFloat32ElementwiseWorkload : public Float32Workload<ParentDescriptor>
-{
-public:
- using Float32Workload<ParentDescriptor>::Float32Workload;
- void ExecuteImpl(const char * debugString) const;
-};
-
-template <typename Functor,
- typename ParentDescriptor,
- typename armnn::StringMapping::Id DebugString>
-class RefElementwiseWorkload<Functor, armnn::DataType::Float32, ParentDescriptor, DebugString>
- : public BaseFloat32ElementwiseWorkload<ParentDescriptor, Functor>
-{
-public:
- using BaseFloat32ElementwiseWorkload<ParentDescriptor, Functor>::BaseFloat32ElementwiseWorkload;
-
- virtual void Execute() const override
- {
- using Parent = BaseFloat32ElementwiseWorkload<ParentDescriptor, Functor>;
- Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString));
- }
-};
-
-template <typename ParentDescriptor, typename Functor>
-class BaseUint8ElementwiseWorkload : public Uint8Workload<ParentDescriptor>
+ : public TypedWorkload<ParentDescriptor, DataType>
{
public:
- using Uint8Workload<ParentDescriptor>::Uint8Workload;
- void ExecuteImpl(const char * debugString) const;
-};
-template <typename Functor,
- typename ParentDescriptor,
- typename armnn::StringMapping::Id DebugString>
-class RefElementwiseWorkload<Functor, armnn::DataType::QuantisedAsymm8, ParentDescriptor, DebugString>
- : public BaseUint8ElementwiseWorkload<ParentDescriptor, Functor>
-{
-public:
- using BaseUint8ElementwiseWorkload<ParentDescriptor, Functor>::BaseUint8ElementwiseWorkload;
+ using TypedWorkload<ParentDescriptor, DataType>::m_Data;
+ using TypedWorkload<ParentDescriptor, DataType>::TypedWorkload;
- virtual void Execute() const override
- {
- using Parent = BaseUint8ElementwiseWorkload<ParentDescriptor, Functor>;
- Parent::ExecuteImpl(StringMapping::Instance().Get(DebugString));
- }
+ void Execute() const override;
};
using RefAdditionFloat32Workload =
@@ -120,7 +78,6 @@ using RefDivisionUint8Workload =
DivisionQueueDescriptor,
StringMapping::RefDivisionWorkload_Execute>;
-
using RefMaximumFloat32Workload =
RefElementwiseWorkload<armnn::maximum<float>,
DataType::Float32,