25 SampleDynamicBackend() =
default;
26 ~SampleDynamicBackend() =
default;
38 return std::make_unique<SampleMemoryManager>();
42 const IMemoryManagerSharedPtr& memoryManager)
const override
44 return std::make_unique<SampleDynamicWorkloadFactory>(
45 armnn::PolymorphicPointerDowncast<SampleMemoryManager>(memoryManager));
51 auto memoryManager = std::make_shared<SampleMemoryManager>();
54 tensorHandleFactoryRegistry.
RegisterFactory(std::make_unique<SampleDynamicTensorHandleFactory>(memoryManager));
56 return std::make_unique<SampleDynamicWorkloadFactory>(
57 armnn::PolymorphicPointerDowncast<SampleMemoryManager>(memoryManager));
60 IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
72 std::vector<armnn::ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences()
const override
88 return optimizationViews;
93 auto memoryManager = std::make_shared<SampleMemoryManager>();
96 registry.
RegisterFactory(std::make_unique<SampleDynamicTensorHandleFactory>(memoryManager));
105 return sdb::SampleDynamicBackend::GetIdStatic().Get().c_str();
110 if (!outMajor || !outMinor)
117 *outMajor = apiVersion.
m_Major;
118 *outMinor = apiVersion.
m_Minor;
123 return new sdb::SampleDynamicBackend();
void GetVersion(uint32_t *outMajor, uint32_t *outMinor)
const char * GetBackendId()
virtual IWorkloadFactoryPtr CreateWorkloadFactory(const IMemoryManagerSharedPtr &memoryManager, const ModelOptions &modelOptions) const
virtual OptimizationViews OptimizeSubgraphView(const SubgraphView &subgraph, const ModelOptions &modelOptions) const
virtual void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry ®istry, MemorySourceFlags inputFlags, MemorySourceFlags outputFlags)
(Optional) Register TensorHandleFactories Either this method or CreateMemoryManager() and IWorkloadFa...
static constexpr BackendVersion GetApiVersion()
Returns the version of the Backend API.
virtual ILayerSupportSharedPtr GetLayerSupport(const ModelOptions &modelOptions) const
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.
void AddUntouchedSubgraph(SubgraphView &&subgraph)
The SubgraphView class represents a subgraph of a Graph.
void RegisterFactory(std::unique_ptr< ITensorHandleFactory > allocator)
Register a TensorHandleFactory and transfer ownership.
void RegisterMemoryManager(std::shared_ptr< IMemoryManager > memoryManger)
Register a memory manager with shared ownership.
static const FactoryId & GetIdStatic()
std::shared_ptr< ILayerSupport > ILayerSupportSharedPtr
std::unique_ptr< IMemoryManager > IMemoryManagerUniquePtr
constexpr const char * SampleDynamicBackendId()