20.02
|
#include <RefBackend.hpp>
Public Member Functions | |
RefBackend ()=default | |
~RefBackend ()=default | |
const BackendId & | GetId () const override |
IBackendInternal::IMemoryManagerUniquePtr | CreateMemoryManager () const override |
IBackendInternal::IWorkloadFactoryPtr | CreateWorkloadFactory (const IBackendInternal::IMemoryManagerSharedPtr &memoryManager=nullptr) const override |
IBackendInternal::IWorkloadFactoryPtr | CreateWorkloadFactory (class TensorHandleFactoryRegistry &tensorHandleFactoryRegistry) const override |
IBackendInternal::IBackendContextPtr | CreateBackendContext (const IRuntime::CreationOptions &) const override |
Create the runtime context of the backend. More... | |
IBackendInternal::IBackendProfilingContextPtr | CreateBackendProfilingContext (const IRuntime::CreationOptions &creationOptions, IBackendProfilingPtr &backendProfiling) override |
Create context specifically used for profiling interaction from backends. More... | |
IBackendInternal::Optimizations | GetOptimizations () const override |
IBackendInternal::ILayerSupportSharedPtr | GetLayerSupport () const override |
OptimizationViews | OptimizeSubgraphView (const SubgraphView &subgraph) const override |
std::vector< ITensorHandleFactory::FactoryId > | GetHandleFactoryPreferences () const override |
(Optional) Returns a vector of supported TensorHandleFactory ids in preference order. More... | |
void | RegisterTensorHandleFactories (class TensorHandleFactoryRegistry ®istry) override |
(Optional) Register TensorHandleFactories Either this method or CreateMemoryManager() and IWorkloadFactory::CreateTensor()/IWorkloadFactory::CreateSubtensor() methods must be implemented. More... | |
Public Member Functions inherited from IBackendInternal | |
~IBackendInternal () override=default | |
Allow backends created by the factory function to be destroyed through IBackendInternal. More... | |
virtual ISubGraphConverterPtr | CreateSubGraphConverter (const std::shared_ptr< SubGraph > &subGraph) const |
virtual SubGraphUniquePtr | OptimizeSubGraph (const SubGraph &subGraph, bool &optimizationAttempted) const |
bool | SupportsTensorAllocatorAPI () const |
ITensorHandleFactory::FactoryId | GetBackwardCompatibleFavoriteHandleFactory () |
Static Public Member Functions | |
static const BackendId & | GetIdStatic () |
Static Public Member Functions inherited from IBackendInternal | |
static constexpr BackendVersion | GetApiVersion () |
Returns the version of the Backend API. More... | |
Additional Inherited Members | |
Public Types inherited from IBackendInternal | |
using | IWorkloadFactoryPtr = std::unique_ptr< IWorkloadFactory > |
using | IBackendContextPtr = std::unique_ptr< IBackendContext > |
using | IBackendProfilingContextPtr = std::shared_ptr< armnn::profiling::IBackendProfilingContext > |
This is the bridge between backend and backend profiling we'll keep it in the backend namespace. More... | |
using | IBackendProfilingPtr = std::unique_ptr< armnn::profiling::IBackendProfiling > |
using | OptimizationPtr = std::unique_ptr< Optimization > |
using | Optimizations = std::vector< OptimizationPtr > |
using | ILayerSupportSharedPtr = std::shared_ptr< ILayerSupport > |
using | IMemoryManagerUniquePtr = std::unique_ptr< IMemoryManager > |
using | IMemoryManagerSharedPtr = std::shared_ptr< IMemoryManager > |
using | GraphUniquePtr = std::unique_ptr< Graph > |
using | SubgraphViewUniquePtr = std::unique_ptr< SubgraphView > |
using | supported = std::unique_ptr< ISubGraphConverter > |
using | instead = std::unique_ptr< SubGraph > |
Protected Member Functions inherited from IBackendInternal | |
IBackendInternal ()=default | |
Creation must be done through a specific backend interface. More... | |
Protected Member Functions inherited from IBackend | |
IBackend () | |
virtual | ~IBackend () |
Definition at line 12 of file RefBackend.hpp.
|
default |
|
default |
|
overridevirtual |
Create the runtime context of the backend.
Implementations may return a default-constructed IBackendContextPtr if no context is needed at runtime. Implementations must throw BackendUnavailableException if the backend cannot be used (for example, necessary accelerator hardware is not present). The default implementation always returns a default-constructed pointer.
Reimplemented from IBackendInternal.
Definition at line 46 of file RefBackend.cpp.
Referenced by RefBackend::GetId().
|
overridevirtual |
Create context specifically used for profiling interaction from backends.
Reimplemented from IBackendInternal.
Definition at line 51 of file RefBackend.cpp.
Referenced by RefBackend::GetId().
|
overridevirtual |
Reimplemented from IBackendInternal.
Definition at line 57 of file RefBackend.cpp.
Referenced by RefBackend::GetId().
|
overridevirtual |
Implements IBackendInternal.
Definition at line 30 of file RefBackend.cpp.
Referenced by RefBackend::GetId().
|
overridevirtual |
Reimplemented from IBackendInternal.
Definition at line 36 of file RefBackend.cpp.
References TensorHandleFactoryRegistry::RegisterMemoryManager().
|
overridevirtual |
(Optional) Returns a vector of supported TensorHandleFactory ids in preference order.
Reimplemented from IBackendInternal.
Definition at line 82 of file RefBackend.cpp.
References RefTensorHandleFactory::GetIdStatic().
Referenced by RefBackend::GetId().
|
inlineoverridevirtual |
Implements IBackend.
Definition at line 19 of file RefBackend.hpp.
References RefBackend::CreateBackendContext(), RefBackend::CreateBackendProfilingContext(), RefBackend::CreateMemoryManager(), RefBackend::CreateWorkloadFactory(), RefBackend::GetHandleFactoryPreferences(), RefBackend::GetIdStatic(), RefBackend::GetLayerSupport(), RefBackend::GetOptimizations(), RefBackend::OptimizeSubgraphView(), and RefBackend::RegisterTensorHandleFactories().
|
static |
Definition at line 24 of file RefBackend.cpp.
References armnn::RefBackendId().
Referenced by GetBackendId(), and RefBackend::GetId().
|
overridevirtual |
Implements IBackendInternal.
Definition at line 67 of file RefBackend.cpp.
Referenced by RefBackend::GetId().
|
overridevirtual |
Reimplemented from IBackendInternal.
Definition at line 62 of file RefBackend.cpp.
Referenced by RefBackend::GetId().
|
overridevirtual |
Reimplemented from IBackendInternal.
Definition at line 73 of file RefBackend.cpp.
References OptimizationViews::AddUntouchedSubgraph().
Referenced by RefBackend::GetId().
|
overridevirtual |
(Optional) Register TensorHandleFactories Either this method or CreateMemoryManager() and IWorkloadFactory::CreateTensor()/IWorkloadFactory::CreateSubtensor() methods must be implemented.
Reimplemented from IBackendInternal.
Definition at line 87 of file RefBackend.cpp.
References TensorHandleFactoryRegistry::RegisterFactory(), and TensorHandleFactoryRegistry::RegisterMemoryManager().
Referenced by RefBackend::GetId().