From a6bf9121e7c26561ca7cb950020db6cb665596a2 Mon Sep 17 00:00:00 2001 From: narpra01 Date: Mon, 10 Sep 2018 09:50:09 +0100 Subject: IVGCVSW-1810 - Add no-op factory implementations of the CreateMean for all backend factories Change-Id: Ic1054a32f59659d10f67a6b02527887ccf3c850f --- src/armnn/backends/ClWorkloadFactory.cpp | 12 ++++++++++++ src/armnn/backends/ClWorkloadFactory.hpp | 3 +++ src/armnn/backends/NeonWorkloadFactory.cpp | 12 ++++++++++++ src/armnn/backends/NeonWorkloadFactory.hpp | 3 +++ src/armnn/backends/RefWorkloadFactory.cpp | 6 ++++++ src/armnn/backends/RefWorkloadFactory.hpp | 3 +++ src/armnn/backends/WorkloadData.cpp | 6 ++++++ src/armnn/backends/WorkloadData.hpp | 6 ++++++ src/armnn/backends/WorkloadFactory.hpp | 3 +++ 9 files changed, 54 insertions(+) (limited to 'src/armnn/backends') 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 ClWorkloadFactory::CreateConvertFp32ToFp16( return std::make_unique(descriptor, info); } +std::unique_ptr ClWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return MakeWorkload(descriptor, info); +} + void ClWorkloadFactory::Finalize() { m_MemoryManager.Finalize(); @@ -447,6 +453,12 @@ std::unique_ptr ClWorkloadFactory::CreateSubtraction(const Subtractio return nullptr; } +std::unique_ptr 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 CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + virtual std::unique_ptr 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 NeonWorkloadFactory::CreateConvertFp32ToFp16( return std::make_unique(descriptor, info); } +std::unique_ptr NeonWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return MakeWorkload(descriptor, info); +} + void NeonWorkloadFactory::Finalize() { m_MemoryManager.Finalize(); @@ -441,6 +447,12 @@ std::unique_ptr NeonWorkloadFactory::CreateSubtraction(const Subtract return nullptr; } +std::unique_ptr 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 CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + virtual std::unique_ptr 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 RefWorkloadFactory::CreateSubtraction( return MakeWorkload(descriptor, info); } +std::unique_ptr RefWorkloadFactory::CreateMean( + const MeanQueueDescriptor& descriptor, const WorkloadInfo& info) const +{ + return MakeWorkload(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 CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + + virtual std::unique_ptr CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& Info) const override; private: template 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 { 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 CreateSubtraction(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info) const = 0; + + virtual std::unique_ptr CreateMean(const MeanQueueDescriptor& descriptor, + const WorkloadInfo& Info) const = 0; }; } //namespace armnn -- cgit v1.2.1