From 045f6be924240a560293a3a7a0ecae49bcf0d1fa Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 10 Sep 2020 13:37:32 +0100 Subject: 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 Signed-off-by: Sadik Armagan Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063 --- src/backends/cl/ClBackend.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'src/backends/cl/ClBackend.cpp') 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(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; } -- cgit v1.2.1