aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/workloads
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-03-19 13:53:16 +0000
committerJim Flynn <jim.flynn@arm.com>2020-03-19 21:47:24 +0000
commitb60dd243d3d8131f246f2b122309b998287151d2 (patch)
treeaf5e84f753236078006c32957a7d35f4ac708563 /src/backends/neon/workloads
parenta0687eef149fbf57bb6db0621ec65724f550b1ed (diff)
downloadarmnn-b60dd243d3d8131f246f2b122309b998287151d2.tar.gz
IVGCVSW-4565 TENSOR_BOOL8 data type not supported in AndroidNN Driver
* Enabled Boolean and Int32 data types in Reference Comparison inputs * Added decoder for Boolean data type * Refactored ClGreaterWorkload to work with any data type * Refactored NeonGreaterWorkload to work with any data type !android-nn-driver:2902 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I92772810b744b388831c9dca0119ebf8cb7a447e
Diffstat (limited to 'src/backends/neon/workloads')
-rw-r--r--src/backends/neon/workloads/NeonGreaterWorkload.cpp11
-rw-r--r--src/backends/neon/workloads/NeonGreaterWorkload.hpp8
2 files changed, 4 insertions, 15 deletions
diff --git a/src/backends/neon/workloads/NeonGreaterWorkload.cpp b/src/backends/neon/workloads/NeonGreaterWorkload.cpp
index 6380dfada5..1ec5ac4be0 100644
--- a/src/backends/neon/workloads/NeonGreaterWorkload.cpp
+++ b/src/backends/neon/workloads/NeonGreaterWorkload.cpp
@@ -23,9 +23,8 @@ arm_compute::Status NeonGreaterWorkloadValidate(const TensorInfo& input0,
&aclOutput);
}
-template <DataType T>
-NeonGreaterWorkload<T>::NeonGreaterWorkload(const GreaterQueueDescriptor& descriptor, const WorkloadInfo& info)
- : MultiTypedWorkload<GreaterQueueDescriptor, T, DataType::Boolean>(descriptor, info)
+NeonGreaterWorkload::NeonGreaterWorkload(const GreaterQueueDescriptor& descriptor, const WorkloadInfo& info)
+ : BaseWorkload<GreaterQueueDescriptor>(descriptor, info)
{
m_Data.ValidateInputsOutputs("NeonGreaterWorkload", 2, 1);
@@ -36,14 +35,10 @@ NeonGreaterWorkload<T>::NeonGreaterWorkload(const GreaterQueueDescriptor& descri
m_GreaterLayer.configure(&input0, &input1, &output);
}
-template <DataType T>
-void NeonGreaterWorkload<T>::Execute() const
+void NeonGreaterWorkload::Execute() const
{
ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonGreaterWorkload_Execute");
m_GreaterLayer.run();
}
-template class NeonGreaterWorkload<DataType::Float32>;
-template class NeonGreaterWorkload<DataType::QAsymmU8>;
-
} //namespace armnn \ No newline at end of file
diff --git a/src/backends/neon/workloads/NeonGreaterWorkload.hpp b/src/backends/neon/workloads/NeonGreaterWorkload.hpp
index bcab27e7a6..503e60e784 100644
--- a/src/backends/neon/workloads/NeonGreaterWorkload.hpp
+++ b/src/backends/neon/workloads/NeonGreaterWorkload.hpp
@@ -16,12 +16,9 @@ arm_compute::Status NeonGreaterWorkloadValidate(const TensorInfo& input0,
const TensorInfo& input1,
const TensorInfo& output);
-template <DataType T>
-class NeonGreaterWorkload : public MultiTypedWorkload<GreaterQueueDescriptor, T, DataType::Boolean>
+class NeonGreaterWorkload : public BaseWorkload<GreaterQueueDescriptor>
{
public:
- using MultiTypedWorkload<GreaterQueueDescriptor, T, DataType::Boolean>::m_Data;
-
NeonGreaterWorkload(const GreaterQueueDescriptor& descriptor, const WorkloadInfo& info);
virtual void Execute() const override;
@@ -30,7 +27,4 @@ private:
mutable arm_compute::NEGreater m_GreaterLayer;
};
-using NeonGreaterFloat32Workload = NeonGreaterWorkload<DataType::Float32>;
-using NeonGreaterUint8Workload = NeonGreaterWorkload<DataType::QAsymmU8>;
-
} //namespace armnn \ No newline at end of file