28 if (!modelOptions.empty())
30 for (
auto optionsGroup : modelOptions)
32 if (optionsGroup.GetBackendId() ==
GetId())
46 if (!modelOptions.empty())
48 for (
auto optionsGroup : modelOptions)
50 if (optionsGroup.GetBackendId() ==
GetId())
90 if (!modelOptions.empty())
92 for (
auto optionsGroup : modelOptions)
94 if (optionsGroup.GetBackendId() ==
GetId())
135 if (favorites.empty())
145 return std::vector<ITensorHandleFactory::FactoryId>();
virtual const BackendId & GetId() const =0
virtual IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions &) const
Create the runtime context of the backend.
virtual IMemoryManagerUniquePtr CreateMemoryManager() const
std::shared_ptr< ILayerSupport > ILayerSupportSharedPtr
std::unique_ptr< IMemoryManager > IMemoryManagerUniquePtr
std::unique_ptr< arm::pipe::IBackendProfiling > IBackendProfilingPtr
virtual IBackendSpecificModelContextPtr CreateBackendSpecificModelContext(const ModelOptions &modelOptions) const
std::shared_ptr< IBackendModelContext > IBackendSpecificModelContextPtr
virtual void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry &)
(Optional) Register TensorHandleFactories Either this method or CreateMemoryManager() and IWorkloadFa...
virtual OptimizationViews OptimizeSubgraphView(const SubgraphView &subgraph) const
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
virtual IBackendProfilingContextPtr CreateBackendProfilingContext(const IRuntime::CreationOptions &creationOptions, IBackendProfilingPtr &backendProfiling)
Create context specifically used for profiling interaction from backends.
ITensorHandleFactory::FactoryId GetBackwardCompatibleFavoriteHandleFactory()
std::unique_ptr< IWorkloadFactory > IWorkloadFactoryPtr
virtual std::vector< ITensorHandleFactory::FactoryId > GetHandleFactoryPreferences() const
(Optional) Returns a vector of supported TensorHandleFactory ids in preference order.
virtual ILayerSupportSharedPtr GetLayerSupport() const =0
std::unique_ptr< IBackendContext > IBackendContextPtr
std::shared_ptr< arm::pipe::IBackendProfilingContext > IBackendProfilingContextPtr
This is the bridge between backend and backend profiling we'll keep it in the backend namespace.
bool SupportsTensorAllocatorAPI() const
virtual IWorkloadFactoryPtr CreateWorkloadFactory(const IMemoryManagerSharedPtr &memoryManager=nullptr) const =0
static const FactoryId LegacyFactoryId
void AddUntouchedSubgraph(SubgraphView &&subgraph)
The SubgraphView class represents a subgraph of a Graph.
Copyright (c) 2021 ARM Limited and Contributors.
void IgnoreUnused(Ts &&...)
unsigned int MemorySourceFlags
std::vector< BackendOptions > ModelOptions