From fd627ffaec8fd8801d980b4c91ee7c0607ab6aaf Mon Sep 17 00:00:00 2001 From: Jan Eilers Date: Thu, 25 Feb 2021 17:44:00 +0000 Subject: IVGCVSW-5687 Update Doxygen Docu * Update Doxygen Documentation for 21.02 release Signed-off-by: Jan Eilers Change-Id: I9ed2f9caab038836ea99d7b378d7899fe431a4e5 --- 21.02/_base_memory_manager_8hpp_source.xhtml | 143 +++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 21.02/_base_memory_manager_8hpp_source.xhtml (limited to '21.02/_base_memory_manager_8hpp_source.xhtml') diff --git a/21.02/_base_memory_manager_8hpp_source.xhtml b/21.02/_base_memory_manager_8hpp_source.xhtml new file mode 100644 index 0000000000..f2aa279b37 --- /dev/null +++ b/21.02/_base_memory_manager_8hpp_source.xhtml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + +ArmNN: src/backends/aclCommon/BaseMemoryManager.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  21.02 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
BaseMemoryManager.hpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
9 
10 #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
11 #include <arm_compute/runtime/MemoryGroup.h>
12 #endif
13 
14 #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
15 #include <arm_compute/runtime/IAllocator.h>
16 #include <arm_compute/runtime/IMemoryGroup.h>
17 #include <arm_compute/runtime/MemoryManagerOnDemand.h>
18 #endif
19 
20 namespace armnn
21 {
22 
24 {
25 public:
26  enum class MemoryAffinity
27  {
28  Buffer,
29  Offset
30  };
31 
33  virtual ~BaseMemoryManager() { }
34 
35  void Acquire() override;
36  void Release() override;
37 
38 #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
39  BaseMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc, MemoryAffinity memoryAffinity);
40 
41  std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetIntraLayerManager() { return m_IntraLayerMemoryMgr; }
42  std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetInterLayerManager() { return m_InterLayerMemoryMgr; }
43  std::shared_ptr<arm_compute::IMemoryGroup>& GetInterLayerMemoryGroup() { return m_InterLayerMemoryGroup; }
44 
45 protected:
46  std::unique_ptr<arm_compute::IAllocator> m_Allocator;
47  std::shared_ptr<arm_compute::MemoryManagerOnDemand> m_IntraLayerMemoryMgr;
48  std::shared_ptr<arm_compute::MemoryManagerOnDemand> m_InterLayerMemoryMgr;
49  std::shared_ptr<arm_compute::IMemoryGroup> m_InterLayerMemoryGroup;
50 
51  std::shared_ptr<arm_compute::MemoryManagerOnDemand> CreateArmComputeMemoryManager(MemoryAffinity memoryAffinity);
52 
53  virtual std::shared_ptr<arm_compute::IMemoryGroup>
54  CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager) = 0;
55 #endif
56 };
57 
58 #if defined(ARMCOMPUTENEON_ENABLED)
60 {
61 public:
63  virtual ~NeonMemoryManager() {}
64 
65  NeonMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc, MemoryAffinity memoryAffinity)
66  : BaseMemoryManager(std::move(alloc), memoryAffinity)
67  {
69  }
70 
71 protected:
72  std::shared_ptr<arm_compute::IMemoryGroup>
73  CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager) override;
74 };
75 #endif
76 
77 #if defined(ARMCOMPUTECL_ENABLED)
79 {
80 public:
82  virtual ~ClMemoryManager() {}
83 
84  ClMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc)
85  : BaseMemoryManager(std::move(alloc), MemoryAffinity::Buffer)
86  {
88  }
89 
90 protected:
91  std::shared_ptr<arm_compute::IMemoryGroup>
92  CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager) override;
93 };
94 #endif
95 
96 } //namespace armnn
std::shared_ptr< arm_compute::MemoryManagerOnDemand > CreateArmComputeMemoryManager(MemoryAffinity memoryAffinity)
+ + + + + + + +
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_InterLayerMemoryMgr
+
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_IntraLayerMemoryMgr
+
ClMemoryManager(std::unique_ptr< arm_compute::IAllocator > alloc)
+
Copyright (c) 2021 ARM Limited and Contributors.
+
std::shared_ptr< arm_compute::MemoryManagerOnDemand > & GetInterLayerManager()
+
NeonMemoryManager(std::unique_ptr< arm_compute::IAllocator > alloc, MemoryAffinity memoryAffinity)
+ + + + + + +
std::shared_ptr< arm_compute::IMemoryGroup > m_InterLayerMemoryGroup
+ +
std::shared_ptr< arm_compute::MemoryManagerOnDemand > & GetIntraLayerManager()
+ +
std::unique_ptr< arm_compute::IAllocator > m_Allocator
+
std::shared_ptr< arm_compute::IMemoryGroup > & GetInterLayerMemoryGroup()
+
virtual std::shared_ptr< arm_compute::IMemoryGroup > CreateMemoryGroup(const std::shared_ptr< arm_compute::MemoryManagerOnDemand > &memoryManager)=0
+ + + +
+
+ + + + -- cgit v1.2.1