aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/ClBackend.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-09-10 13:37:32 +0100
committerRyan O'Shea <ryan.oshea2@arm.com>2020-09-10 18:04:17 +0000
commit045f6be924240a560293a3a7a0ecae49bcf0d1fa (patch)
tree3193fb35288ad8011cdfb9082d82085f48b6792b /src/backends/cl/ClBackend.cpp
parent08f4016b8ae8ee836fc813abcbc7db826924f3ec (diff)
downloadarmnn-045f6be924240a560293a3a7a0ecae49bcf0d1fa.tar.gz
IVGCVSW-5156 Introduce ModelOptions to OptimizedNetwork
* Introduced ModelOptions to IBackendInternal * Introduced ModelOptions to Network * Added FastMathEnabled parameter to Conv2d Validate function in CL and NEON * Added Optimizer tests Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063
Diffstat (limited to 'src/backends/cl/ClBackend.cpp')
-rw-r--r--src/backends/cl/ClBackend.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp
index f9a8993baf..49636d9b08 100644
--- a/src/backends/cl/ClBackend.cpp
+++ b/src/backends/cl/ClBackend.cpp
@@ -5,6 +5,7 @@
#include "ClBackend.hpp"
#include "ClBackendId.hpp"
+#include "ClBackendModelContext.hpp"
#include "ClWorkloadFactory.hpp"
#include "ClBackendContext.hpp"
#include "ClLayerSupport.hpp"
@@ -69,8 +70,7 @@ void ClBackend::RegisterTensorHandleFactories(TensorHandleFactoryRegistry& regis
registry.RegisterFactory(std::make_unique<ClTensorHandleFactory>(mgr));
}
-IBackendInternal::IBackendContextPtr
-ClBackend::CreateBackendContext(const IRuntime::CreationOptions& options) const
+IBackendInternal::IBackendContextPtr ClBackend::CreateBackendContext(const IRuntime::CreationOptions& options) const
{
return IBackendContextPtr{new ClBackendContext{options}};
}
@@ -86,9 +86,27 @@ IBackendInternal::Optimizations ClBackend::GetOptimizations() const
return Optimizations{};
}
+IBackendInternal::IBackendSpecificModelContextPtr ClBackend::CreateBackendSpecificModelContext(
+ const ModelOptions& modelOptions) const
+{
+ return IBackendSpecificModelContextPtr{new ClBackendModelContext{modelOptions}};
+}
+
IBackendInternal::ILayerSupportSharedPtr ClBackend::GetLayerSupport() const
{
- static ILayerSupportSharedPtr layerSupport{new ClLayerSupport};
+ static ILayerSupportSharedPtr layerSupport
+ {
+ new ClLayerSupport(IBackendInternal::IBackendSpecificModelContextPtr{})
+ };
+ return layerSupport;
+}
+
+IBackendInternal::ILayerSupportSharedPtr ClBackend::GetLayerSupport(const ModelOptions& modelOptions) const
+{
+ static ILayerSupportSharedPtr layerSupport
+ {
+ new ClLayerSupport(CreateBackendSpecificModelContext(modelOptions))
+ };
return layerSupport;
}