25 SampleDynamicBackend() =
default;
26 ~SampleDynamicBackend() =
default;
36 IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager()
const override
38 return std::make_unique<SampleMemoryManager>();
41 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
44 return std::make_unique<SampleDynamicWorkloadFactory>(
45 armnn::PolymorphicPointerDowncast<SampleMemoryManager>(memoryManager));
48 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
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(
66 IBackendInternal::ILayerSupportSharedPtr GetLayerSupport()
const override
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()
const std::string & Get() const
std::shared_ptr< ILayerSupport > ILayerSupportSharedPtr
std::unique_ptr< arm::pipe::IBackendProfiling > IBackendProfilingPtr
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
static constexpr BackendVersion GetApiVersion()
Returns the version of the Backend API.
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()
constexpr const char * SampleDynamicBackendId()