From b60dd243d3d8131f246f2b122309b998287151d2 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 19 Mar 2020 13:53:16 +0000 Subject: 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 Change-Id: I92772810b744b388831c9dca0119ebf8cb7a447e --- src/backends/cl/ClWorkloadFactory.cpp | 3 +-- src/backends/cl/workloads/ClGreaterWorkload.cpp | 12 +++--------- src/backends/cl/workloads/ClGreaterWorkload.hpp | 7 +------ 3 files changed, 5 insertions(+), 17 deletions(-) (limited to 'src/backends/cl') diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp index e7e4fa7e1b..4f707beebe 100644 --- a/src/backends/cl/ClWorkloadFactory.cpp +++ b/src/backends/cl/ClWorkloadFactory.cpp @@ -178,8 +178,7 @@ std::unique_ptr ClWorkloadFactory::CreateComparison(const ComparisonQ GreaterQueueDescriptor greaterQueueDescriptor; greaterQueueDescriptor.m_Inputs = descriptor.m_Inputs; greaterQueueDescriptor.m_Outputs = descriptor.m_Outputs; - - return MakeWorkload(greaterQueueDescriptor, info); + return MakeWorkload(greaterQueueDescriptor, info); } return MakeWorkload(descriptor, info); } diff --git a/src/backends/cl/workloads/ClGreaterWorkload.cpp b/src/backends/cl/workloads/ClGreaterWorkload.cpp index b086122bdc..2051cc3aa3 100644 --- a/src/backends/cl/workloads/ClGreaterWorkload.cpp +++ b/src/backends/cl/workloads/ClGreaterWorkload.cpp @@ -38,10 +38,8 @@ arm_compute::Status ClGreaterWorkloadValidate(const TensorInfo& input0, return aclStatus; } -template -ClGreaterWorkload::ClGreaterWorkload(const GreaterQueueDescriptor& descriptor, - const WorkloadInfo& info) - : MultiTypedWorkload(descriptor, info) +ClGreaterWorkload::ClGreaterWorkload(const GreaterQueueDescriptor& descriptor, const WorkloadInfo& info) + : BaseWorkload(descriptor, info) { m_Data.ValidateInputsOutputs("ClGreaterWorkload", 2, 1); @@ -52,14 +50,10 @@ ClGreaterWorkload::ClGreaterWorkload(const GreaterQueueDescriptor& descriptor m_GreaterLayer.configure(&input0, &input1, &output, arm_compute::ComparisonOperation::Greater); } -template -void ClGreaterWorkload::Execute() const +void ClGreaterWorkload::Execute() const { ARMNN_SCOPED_PROFILING_EVENT_CL("ClGreaterWorkload_Execute"); RunClFunction(m_GreaterLayer, CHECK_LOCATION()); } -template class ClGreaterWorkload; -template class ClGreaterWorkload; - } //namespace armnn diff --git a/src/backends/cl/workloads/ClGreaterWorkload.hpp b/src/backends/cl/workloads/ClGreaterWorkload.hpp index 862e168334..9b2a1710bc 100644 --- a/src/backends/cl/workloads/ClGreaterWorkload.hpp +++ b/src/backends/cl/workloads/ClGreaterWorkload.hpp @@ -16,19 +16,14 @@ arm_compute::Status ClGreaterWorkloadValidate(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output); -template -class ClGreaterWorkload : public MultiTypedWorkload +class ClGreaterWorkload : public BaseWorkload { public: ClGreaterWorkload(const GreaterQueueDescriptor& descriptor, const WorkloadInfo& info); void Execute() const override; private: - using MultiTypedWorkload::m_Data; mutable arm_compute::CLComparison m_GreaterLayer; }; -using ClGreaterFloat32Workload = ClGreaterWorkload; -using ClGreaterUint8Workload = ClGreaterWorkload; - } //namespace armnn -- cgit v1.2.1