aboutsummaryrefslogtreecommitdiff
path: root/src/backends
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-09-15 17:17:08 +0100
committerSadik Armagan <sadik.armagan@arm.com>2020-09-15 16:15:52 +0000
commita25886e0966a6b9433cd23595688fadb88a161b2 (patch)
treef197d2521f7d7120a4d4397a73ca410f83a5d2de /src/backends
parent6f8699ac6e26f230a734168853c64490d70ac3bc (diff)
downloadarmnn-a25886e0966a6b9433cd23595688fadb88a161b2.tar.gz
IVGCVSW-5317 'Add enable_fast_math Option to ExecuteNetwork'
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I4eb3e27837aea926593d49f9ccea07bab8388d5b
Diffstat (limited to 'src/backends')
-rw-r--r--src/backends/backendsCommon/IBackendInternal.cpp42
1 files changed, 36 insertions, 6 deletions
diff --git a/src/backends/backendsCommon/IBackendInternal.cpp b/src/backends/backendsCommon/IBackendInternal.cpp
index 08060331e7..81fc515b98 100644
--- a/src/backends/backendsCommon/IBackendInternal.cpp
+++ b/src/backends/backendsCommon/IBackendInternal.cpp
@@ -43,22 +43,36 @@ IBackendInternal::IWorkloadFactoryPtr IBackendInternal::CreateWorkloadFactory(
const IMemoryManagerSharedPtr& memoryManager,
const ModelOptions& modelOptions) const
{
- if(modelOptions.empty())
+ if (!modelOptions.empty())
{
- return CreateWorkloadFactory(memoryManager);
+ for (auto optionsGroup : modelOptions)
+ {
+ if (optionsGroup.GetBackendId() == GetId())
+ {
+ return IWorkloadFactoryPtr{};
+ }
+ }
}
- return IWorkloadFactoryPtr{};
+
+ return CreateWorkloadFactory(memoryManager);
}
IBackendInternal::IWorkloadFactoryPtr IBackendInternal::CreateWorkloadFactory(
class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry,
const ModelOptions& modelOptions) const
{
- if(modelOptions.empty())
+ if (!modelOptions.empty())
{
- return CreateWorkloadFactory(tensorHandleFactoryRegistry);
+ for (auto optionsGroup : modelOptions)
+ {
+ if (optionsGroup.GetBackendId() == GetId())
+ {
+ return IWorkloadFactoryPtr{};
+ }
+ }
}
- return IWorkloadFactoryPtr{};
+
+ return CreateWorkloadFactory(tensorHandleFactoryRegistry);
}
IBackendInternal::IBackendContextPtr IBackendInternal::CreateBackendContext(const IRuntime::CreationOptions&) const
@@ -78,6 +92,22 @@ IBackendInternal::IBackendProfilingContextPtr IBackendInternal::CreateBackendPro
return IBackendProfilingContextPtr{};
}
+IBackendInternal::ILayerSupportSharedPtr IBackendInternal::GetLayerSupport(const ModelOptions& modelOptions) const
+{
+ if (!modelOptions.empty())
+ {
+ for (auto optionsGroup : modelOptions)
+ {
+ if (optionsGroup.GetBackendId() == GetId())
+ {
+ return ILayerSupportSharedPtr{};
+ }
+ }
+ }
+
+ return GetLayerSupport();
+}
+
// Default implementation of OptimizeSubgraphView for backward compatibility with the old API.
// Override this method with a custom optimization implementation.
OptimizationViews IBackendInternal::OptimizeSubgraphView(const SubgraphView& subgraph) const