ArmNN
 22.11
TosaRefBackend.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
8 
9 namespace armnn
10 {
11 
13 {
14 public:
15  TosaRefBackend() = default;
16  ~TosaRefBackend() = default;
17 
18  static const BackendId& GetIdStatic();
19  const BackendId& GetId() const override
20  {
21  return GetIdStatic();
22  }
23 
25 
27  const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override;
28 
30  class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const override;
31 
33 
36  IBackendProfilingPtr& backendProfiling) override;
37 
39 
41  const ModelOptions& modelOptions) const override;
42 
43  std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const override;
44 
45  void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) override;
46 
47  std::unique_ptr<ICustomAllocator> GetDefaultAllocator() const override;
48 
49 private:
50  // Private members
51 
52 protected:
53  // Protected members
54 };
55 
56 } // namespace armnn
std::unique_ptr< IWorkloadFactory > IWorkloadFactoryPtr
const BackendId & GetId() const override
std::vector< BackendOptions > ModelOptions
Copyright (c) 2021 ARM Limited and Contributors.
std::unique_ptr< IMemoryManager > IMemoryManagerUniquePtr
std::unique_ptr< ICustomAllocator > GetDefaultAllocator() const override
Returns the default memory allocator for the backend.
IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(const IRuntime::CreationOptions &creationOptions, IBackendProfilingPtr &backendProfiling) override
Create context specifically used for profiling interaction from backends.
The SubgraphView class represents a subgraph of a Graph.
static const BackendId & GetIdStatic()
IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(const IBackendInternal::IMemoryManagerSharedPtr &memoryManager=nullptr) const override
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override
void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry &registry) override
(Optional) Register TensorHandleFactories Either this method or CreateMemoryManager() and IWorkloadFa...
std::shared_ptr< arm::pipe::IBackendProfilingContext > IBackendProfilingContextPtr
This is the bridge between backend and backend profiling we&#39;ll keep it in the backend namespace...
std::shared_ptr< ILayerSupport > ILayerSupportSharedPtr
std::unique_ptr< arm::pipe::IBackendProfiling > IBackendProfilingPtr
IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions &) const override
Create the runtime context of the backend.
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override
OptimizationViews OptimizeSubgraphView(const SubgraphView &subgraph, const ModelOptions &modelOptions) const override
std::vector< ITensorHandleFactory::FactoryId > GetHandleFactoryPreferences() const override
(Optional) Returns a vector of supported TensorHandleFactory ids in preference order.
std::unique_ptr< IBackendContext > IBackendContextPtr