diff options
author | narpra01 <narumol.prangnawarat@arm.com> | 2018-09-10 09:50:09 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-09-25 14:54:29 +0100 |
commit | a6bf9121e7c26561ca7cb950020db6cb665596a2 (patch) | |
tree | adef704cc4483a9f85872d0f2d608120b080827a /src/armnn/backends | |
parent | 3b10515d20df79fceaaf3632ae396ea3e690a546 (diff) | |
download | armnn-a6bf9121e7c26561ca7cb950020db6cb665596a2.tar.gz |
IVGCVSW-1810 - Add no-op factory implementations of the CreateMean for all backend factories
Change-Id: Ic1054a32f59659d10f67a6b02527887ccf3c850f
Diffstat (limited to 'src/armnn/backends')
-rw-r--r-- | src/armnn/backends/ClWorkloadFactory.cpp | 12 | ||||
-rw-r--r-- | src/armnn/backends/ClWorkloadFactory.hpp | 3 | ||||
-rw-r--r-- | src/armnn/backends/NeonWorkloadFactory.cpp | 12 | ||||
-rw-r--r-- | src/armnn/backends/NeonWorkloadFactory.hpp | 3 | ||||
-rw-r--r-- | src/armnn/backends/RefWorkloadFactory.cpp | 6 | ||||
-rw-r--r-- | src/armnn/backends/RefWorkloadFactory.hpp | 3 | ||||
-rw-r--r-- | src/armnn/backends/WorkloadData.cpp | 6 | ||||
-rw-r--r-- | src/armnn/backends/WorkloadData.hpp | 6 | ||||
-rw-r--r-- | src/armnn/backends/WorkloadFactory.hpp | 3 |
9 files changed, 54 insertions, 0 deletions
diff --git a/src/armnn/backends/ClWorkloadFactory.cpp b/src/armnn/backends/ClWorkloadFactory.cpp index 8c9ca2081b..75a2af8b5a 100644 --- a/src/armnn/backends/ClWorkloadFactory.cpp +++ b/src/armnn/backends/ClWorkloadFactory.cpp @@ -250,6 +250,12 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateConvertFp32ToFp16( return std::make_unique<ClConvertFp32ToFp16Workload>(descriptor, info); } +std::unique_ptr<IWorkload> ClWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info); +} + void ClWorkloadFactory::Finalize() { m_MemoryManager.Finalize(); @@ -447,6 +453,12 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateSubtraction(const Subtractio return nullptr; } +std::unique_ptr<IWorkload> ClWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return nullptr; +} + void ClWorkloadFactory::Finalize() { } diff --git a/src/armnn/backends/ClWorkloadFactory.hpp b/src/armnn/backends/ClWorkloadFactory.hpp index dedbb50a6d..4403310802 100644 --- a/src/armnn/backends/ClWorkloadFactory.hpp +++ b/src/armnn/backends/ClWorkloadFactory.hpp @@ -114,6 +114,9 @@ public: virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& Info) const override; + virtual void Finalize() override; virtual void Release() override; diff --git a/src/armnn/backends/NeonWorkloadFactory.cpp b/src/armnn/backends/NeonWorkloadFactory.cpp index fe9fd55dc3..b3d84d14a3 100644 --- a/src/armnn/backends/NeonWorkloadFactory.cpp +++ b/src/armnn/backends/NeonWorkloadFactory.cpp @@ -244,6 +244,12 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateConvertFp32ToFp16( return std::make_unique<NeonConvertFp32ToFp16Workload>(descriptor, info); } +std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info); +} + void NeonWorkloadFactory::Finalize() { m_MemoryManager.Finalize(); @@ -441,6 +447,12 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateSubtraction(const Subtract return nullptr; } +std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return nullptr; +} + void NeonWorkloadFactory::Finalize() {} diff --git a/src/armnn/backends/NeonWorkloadFactory.hpp b/src/armnn/backends/NeonWorkloadFactory.hpp index 34d0e9529d..5410c22252 100644 --- a/src/armnn/backends/NeonWorkloadFactory.hpp +++ b/src/armnn/backends/NeonWorkloadFactory.hpp @@ -114,6 +114,9 @@ public: virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& Info) const override; + virtual void Finalize() override; virtual void Release() override; diff --git a/src/armnn/backends/RefWorkloadFactory.cpp b/src/armnn/backends/RefWorkloadFactory.cpp index 92e2506935..318f47c554 100644 --- a/src/armnn/backends/RefWorkloadFactory.cpp +++ b/src/armnn/backends/RefWorkloadFactory.cpp @@ -233,4 +233,10 @@ std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateSubtraction( return MakeWorkload<RefSubtractionFloat32Workload, RefSubtractionUint8Workload>(descriptor, info); } +std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateMean( + const MeanQueueDescriptor& descriptor, const WorkloadInfo& info) const +{ + return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info); +} + } // namespace armnn diff --git a/src/armnn/backends/RefWorkloadFactory.hpp b/src/armnn/backends/RefWorkloadFactory.hpp index 5fbc6e40bd..5e694d6bf1 100644 --- a/src/armnn/backends/RefWorkloadFactory.hpp +++ b/src/armnn/backends/RefWorkloadFactory.hpp @@ -129,6 +129,9 @@ public: virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + + virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& Info) const override; private: template <typename F32Workload, typename U8Workload, typename QueueDescriptorType> diff --git a/src/armnn/backends/WorkloadData.cpp b/src/armnn/backends/WorkloadData.cpp index e3cf83fc6c..c934a53a5e 100644 --- a/src/armnn/backends/WorkloadData.cpp +++ b/src/armnn/backends/WorkloadData.cpp @@ -824,4 +824,10 @@ void SubtractionQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) cons "second input"); } +void MeanQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const +{ + ValidateSingleInput(workloadInfo, "MeanQueueDescriptor"); + ValidateSingleOutput(workloadInfo, "MeanQueueDescriptor"); +} + } //namespace armnn diff --git a/src/armnn/backends/WorkloadData.hpp b/src/armnn/backends/WorkloadData.hpp index d50a237273..f8f7e326dc 100644 --- a/src/armnn/backends/WorkloadData.hpp +++ b/src/armnn/backends/WorkloadData.hpp @@ -196,6 +196,12 @@ struct SubtractionQueueDescriptor : QueueDescriptor void Validate(const WorkloadInfo& workloadInfo) const; }; +// Mean layer workload data. +struct MeanQueueDescriptor : QueueDescriptor +{ + void Validate(const WorkloadInfo& workloadInfo) const; +}; + // Batch norm layer workload data. struct BatchNormalizationQueueDescriptor : QueueDescriptorWithParameters<BatchNormalizationDescriptor> { diff --git a/src/armnn/backends/WorkloadFactory.hpp b/src/armnn/backends/WorkloadFactory.hpp index 0ae5a3ea1d..3cd04f9d49 100644 --- a/src/armnn/backends/WorkloadFactory.hpp +++ b/src/armnn/backends/WorkloadFactory.hpp @@ -126,6 +126,9 @@ public: virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const = 0; + + virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& Info) const = 0; }; } //namespace armnn |