aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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