From de36e4a9c299028e792c3a5bd99ad0816d806077 Mon Sep 17 00:00:00 2001 From: Ryan OShea Date: Fri, 13 Mar 2020 16:26:19 +0000 Subject: IVGCVSW-3726 Upload ArmNN Doxygen files * Upload current ArmNN Doxygen files Signed-off-by: Ryan OShea Change-Id: I8989ed16ee40a99a4495b100bd009cf3e24a7285 --- Documentation/classarmnn_1_1_ref_backend.html | 672 ++++++++++++++++++++++++++ 1 file changed, 672 insertions(+) create mode 100644 Documentation/classarmnn_1_1_ref_backend.html (limited to 'Documentation/classarmnn_1_1_ref_backend.html') diff --git a/Documentation/classarmnn_1_1_ref_backend.html b/Documentation/classarmnn_1_1_ref_backend.html new file mode 100644 index 0000000000..086e4648fc --- /dev/null +++ b/Documentation/classarmnn_1_1_ref_backend.html @@ -0,0 +1,672 @@ + + + + + + + +ArmNN: RefBackend Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
ArmNN +  NotReleased +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <RefBackend.hpp>

+
+Inheritance diagram for RefBackend:
+
+
+ + +IBackendInternal +IBackend + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RefBackend ()=default
 
 ~RefBackend ()=default
 
const BackendIdGetId () 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
 
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::FactoryIdGetHandleFactoryPreferences () const override
 (Optional) Returns a vector of supported TensorHandleFactory ids in preference order. More...
 
void RegisterTensorHandleFactories (class TensorHandleFactoryRegistry &registry) override
 
- Public Member Functions inherited from IBackendInternal
 ~IBackendInternal () override=default
 
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 BackendIdGetIdStatic ()
 
- 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 >
 
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
 
- Protected Member Functions inherited from IBackend
 IBackend ()
 
virtual ~IBackend ()
 
+

Detailed Description

+
+

Definition at line 12 of file RefBackend.hpp.

+

Constructor & Destructor Documentation

+ +

◆ RefBackend()

+ +
+
+ + + + + +
+ + + + + + + +
RefBackend ()
+
+default
+
+ +
+
+ +

◆ ~RefBackend()

+ +
+
+ + + + + +
+ + + + + + + +
~RefBackend ()
+
+default
+
+ +
+
+

Member Function Documentation

+ +

◆ CreateBackendContext()

+ +
+
+ + + + + +
+ + + + + + + + +
IBackendInternal::IBackendContextPtr CreateBackendContext (const IRuntime::CreationOptions) const
+
+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().

+
47 {
48  return IBackendContextPtr{};
49 }
std::unique_ptr< IBackendContext > IBackendContextPtr
+
+
+
+ +

◆ CreateBackendProfilingContext()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext (const IRuntime::CreationOptionscreationOptions,
IBackendProfilingPtrbackendProfiling 
)
+
+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().

+
53 {
55 }
std::shared_ptr< armnn::profiling::IBackendProfilingContext > IBackendProfilingContextPtr
+
+
+
+ +

◆ CreateMemoryManager()

+ +
+
+ + + + + +
+ + + + + + + +
IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager () const
+
+overridevirtual
+
+ +

Reimplemented from IBackendInternal.

+ +

Definition at line 57 of file RefBackend.cpp.

+ +

Referenced by RefBackend::GetId().

+
58 {
59  return std::make_unique<RefMemoryManager>();
60 }
+
+
+ +

◆ CreateWorkloadFactory() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory (const IBackendInternal::IMemoryManagerSharedPtrmemoryManager = nullptr) const
+
+overridevirtual
+
+ +

Implements IBackendInternal.

+ +

Definition at line 30 of file RefBackend.cpp.

+ +

Referenced by RefBackend::GetId().

+
32 {
33  return std::make_unique<RefWorkloadFactory>(boost::polymorphic_pointer_downcast<RefMemoryManager>(memoryManager));
34 }
+
+
+ +

◆ CreateWorkloadFactory() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory (class TensorHandleFactoryRegistrytensorHandleFactoryRegistry) const
+
+overridevirtual
+
+ +

Reimplemented from IBackendInternal.

+ +

Definition at line 36 of file RefBackend.cpp.

+ +

References TensorHandleFactoryRegistry::RegisterMemoryManager().

+
38 {
39  auto memoryManager = std::make_shared<RefMemoryManager>();
40 
41  tensorHandleFactoryRegistry.RegisterMemoryManager(memoryManager);
42 
43  return std::make_unique<RefWorkloadFactory>(boost::polymorphic_pointer_downcast<RefMemoryManager>(memoryManager));
44 }
+
+
+ +

◆ GetHandleFactoryPreferences()

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< ITensorHandleFactory::FactoryId > GetHandleFactoryPreferences () const
+
+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().

+
83 {
84  return std::vector<ITensorHandleFactory::FactoryId> { RefTensorHandleFactory::GetIdStatic() };
85 }
static const FactoryId & GetIdStatic()
+
+
+
+ +

◆ GetId()

+ + + +

◆ GetIdStatic()

+ +
+
+ + + + + +
+ + + + + + + +
const BackendId & GetIdStatic ()
+
+static
+
+ +

Definition at line 24 of file RefBackend.cpp.

+ +

References armnn::RefBackendId().

+ +

Referenced by GetBackendId(), and RefBackend::GetId().

+
25 {
26  static const BackendId s_Id{RefBackendId()};
27  return s_Id;
28 }
constexpr const char * RefBackendId()
+
+
+
+ +

◆ GetLayerSupport()

+ +
+
+ + + + + +
+ + + + + + + +
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport () const
+
+overridevirtual
+
+ +

Implements IBackendInternal.

+ +

Definition at line 67 of file RefBackend.cpp.

+ +

Referenced by RefBackend::GetId().

+
68 {
69  static ILayerSupportSharedPtr layerSupport{new RefLayerSupport};
70  return layerSupport;
71 }
std::shared_ptr< ILayerSupport > ILayerSupportSharedPtr
+
+
+
+ +

◆ GetOptimizations()

+ +
+
+ + + + + +
+ + + + + + + +
IBackendInternal::Optimizations GetOptimizations () const
+
+overridevirtual
+
+ +

Reimplemented from IBackendInternal.

+ +

Definition at line 62 of file RefBackend.cpp.

+ +

Referenced by RefBackend::GetId().

+
63 {
64  return Optimizations{};
65 }
std::vector< OptimizationPtr > Optimizations
+
+
+
+ +

◆ OptimizeSubgraphView()

+ +
+
+ + + + + +
+ + + + + + + + +
OptimizationViews OptimizeSubgraphView (const SubgraphViewsubgraph) const
+
+overridevirtual
+
+ +

Reimplemented from IBackendInternal.

+ +

Definition at line 73 of file RefBackend.cpp.

+ +

References OptimizationViews::AddUntouchedSubgraph().

+ +

Referenced by RefBackend::GetId().

+
74 {
75  OptimizationViews optimizationViews;
76 
77  optimizationViews.AddUntouchedSubgraph(SubgraphView(subgraph));
78 
79  return optimizationViews;
80 }
+
+
+ +

◆ RegisterTensorHandleFactories()

+ +
+
+ + + + + +
+ + + + + + + + +
void RegisterTensorHandleFactories (class TensorHandleFactoryRegistry)
+
+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().

+
88 {
89  auto memoryManager = std::make_shared<RefMemoryManager>();
90 
91  registry.RegisterMemoryManager(memoryManager);
92  registry.RegisterFactory(std::make_unique<RefTensorHandleFactory>(memoryManager));
93 }
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + + -- cgit v1.2.1