diff options
Diffstat (limited to 'src/backends')
-rw-r--r-- | src/backends/backendsCommon/IBackendInternal.hpp | 4 | ||||
-rw-r--r-- | src/backends/cl/ClBackend.cpp | 9 | ||||
-rw-r--r-- | src/backends/cl/ClBackend.hpp | 5 | ||||
-rw-r--r-- | src/backends/neon/NeonBackend.cpp | 9 | ||||
-rw-r--r-- | src/backends/neon/NeonBackend.hpp | 5 | ||||
-rw-r--r-- | src/backends/reference/RefBackend.cpp | 11 | ||||
-rw-r--r-- | src/backends/reference/RefBackend.hpp | 5 |
7 files changed, 44 insertions, 4 deletions
diff --git a/src/backends/backendsCommon/IBackendInternal.hpp b/src/backends/backendsCommon/IBackendInternal.hpp index 2e6b056798..6e6d47fc90 100644 --- a/src/backends/backendsCommon/IBackendInternal.hpp +++ b/src/backends/backendsCommon/IBackendInternal.hpp @@ -43,6 +43,8 @@ public: using ISubGraphConverterPtr = std::unique_ptr<ISubGraphConverter>; + using SubGraphUniquePtr = std::unique_ptr<SubGraph>; + virtual IMemoryManagerUniquePtr CreateMemoryManager() const = 0; virtual IWorkloadFactoryPtr CreateWorkloadFactory( @@ -54,6 +56,8 @@ public: virtual Optimizations GetOptimizations() const = 0; virtual ILayerSupportSharedPtr GetLayerSupport() const = 0; + + virtual SubGraphUniquePtr OptimizeSubGraph(const SubGraph& subGraph, bool& optimizationAttempted) const = 0; }; using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>; diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp index 2f9dfa9755..dfa5e7c777 100644 --- a/src/backends/cl/ClBackend.cpp +++ b/src/backends/cl/ClBackend.cpp @@ -80,4 +80,13 @@ IBackendInternal::ILayerSupportSharedPtr ClBackend::GetLayerSupport() const return layerSupport; } +IBackendInternal::SubGraphUniquePtr ClBackend::OptimizeSubGraph(const SubGraph& subGraph, + bool& optimizationAttempted) const +{ + // Not trying to optimize the given sub-graph + optimizationAttempted = false; + + return SubGraphUniquePtr{}; +} + } // namespace armnn diff --git a/src/backends/cl/ClBackend.hpp b/src/backends/cl/ClBackend.hpp index 84b5b9a9d2..8133ce49f6 100644 --- a/src/backends/cl/ClBackend.hpp +++ b/src/backends/cl/ClBackend.hpp @@ -30,6 +30,9 @@ public: IBackendInternal::Optimizations GetOptimizations() const override; IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override; + + IBackendInternal::SubGraphUniquePtr OptimizeSubGraph(const SubGraph& subGraph, + bool& optimizationAttempted) const override; }; -} // namespace armnn
\ No newline at end of file +} // namespace armnn diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index ce97a1d03c..046685a65a 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -80,4 +80,13 @@ IBackendInternal::ILayerSupportSharedPtr NeonBackend::GetLayerSupport() const return layerSupport; } +IBackendInternal::SubGraphUniquePtr NeonBackend::OptimizeSubGraph(const SubGraph& subGraph, + bool& optimizationAttempted) const +{ + // Not trying to optimize the given sub-graph + optimizationAttempted = false; + + return SubGraphUniquePtr{}; +} + } // namespace armnn diff --git a/src/backends/neon/NeonBackend.hpp b/src/backends/neon/NeonBackend.hpp index 3b1d186a06..634704571c 100644 --- a/src/backends/neon/NeonBackend.hpp +++ b/src/backends/neon/NeonBackend.hpp @@ -30,6 +30,9 @@ public: IBackendInternal::Optimizations GetOptimizations() const override; IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override; + + IBackendInternal::SubGraphUniquePtr OptimizeSubGraph(const SubGraph& subGraph, + bool& optimizationAttempted) const override; }; -} // namespace armnn
\ No newline at end of file +} // namespace armnn diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp index e4f468c15e..d5f5348642 100644 --- a/src/backends/reference/RefBackend.cpp +++ b/src/backends/reference/RefBackend.cpp @@ -73,4 +73,13 @@ IBackendInternal::ILayerSupportSharedPtr RefBackend::GetLayerSupport() const return layerSupport; } -} // namespace armnn
\ No newline at end of file +IBackendInternal::SubGraphUniquePtr RefBackend::OptimizeSubGraph(const SubGraph& subGraph, + bool& optimizationAttempted) const +{ + // Not trying to optimize the given sub-graph + optimizationAttempted = false; + + return SubGraphUniquePtr{}; +} + +} // namespace armnn diff --git a/src/backends/reference/RefBackend.hpp b/src/backends/reference/RefBackend.hpp index 51366221c7..6305bf568c 100644 --- a/src/backends/reference/RefBackend.hpp +++ b/src/backends/reference/RefBackend.hpp @@ -30,6 +30,9 @@ public: IBackendInternal::Optimizations GetOptimizations() const override; IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override; + + IBackendInternal::SubGraphUniquePtr OptimizeSubGraph(const SubGraph& subGraph, + bool& optimizationAttempted) const override; }; -} // namespace armnn
\ No newline at end of file +} // namespace armnn |