25 SampleDynamicBackend() =
default;
26 ~SampleDynamicBackend() =
default;
34 const armnn::BackendId&
GetId()
const override {
return GetIdStatic(); }
38 return std::make_unique<SampleMemoryManager>();
41 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
44 return std::make_unique<SampleDynamicWorkloadFactory>(
48 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
49 class armnn::TensorHandleFactoryRegistry& tensorHandleFactoryRegistry)
const override
51 auto memoryManager = std::make_shared<SampleMemoryManager>();
54 tensorHandleFactoryRegistry.
RegisterFactory(std::make_unique<SampleDynamicTensorHandleFactory>(memoryManager));
56 return std::make_unique<SampleDynamicWorkloadFactory>(
60 IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
66 IBackendInternal::ILayerSupportSharedPtr
GetLayerSupport()
const override
77 IBackendInternal::IBackendContextPtr CreateBackendContext(
const armnn::IRuntime::CreationOptions&)
const override
82 armnn::OptimizationViews OptimizeSubgraphView(
const armnn::SubgraphView& subgraph)
const override
84 armnn::OptimizationViews optimizationViews;
88 return optimizationViews;
91 void RegisterTensorHandleFactories(
class armnn::TensorHandleFactoryRegistry& registry)
override
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 const BackendId & GetId() const =0
virtual IMemoryManagerUniquePtr CreateMemoryManager() 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.
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.
void AddUntouchedSubgraph(SubgraphView &&subgraph)
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()
auto PolymorphicPointerDowncast(const SourceType &value)
Polymorphic downcast for shared pointers and build in pointers.
constexpr const char * SampleDynamicBackendId()