From f86be93b7492b381370cae7bf71eca8572a0cbae Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Tue, 24 Aug 2021 16:27:15 +0100 Subject: IVGCVSW-5924 Update 21.08 Doxygen Documents * Also updated latest symlink. Signed-off-by: Matthew Sloyan Change-Id: If9b4e0e52464abdf797b9eb858ae19bcc64c2aea --- 21.08/classarmnn_1_1_base_memory_manager.xhtml | 650 +++++++++++++++++++++++++ 1 file changed, 650 insertions(+) create mode 100644 21.08/classarmnn_1_1_base_memory_manager.xhtml (limited to '21.08/classarmnn_1_1_base_memory_manager.xhtml') diff --git a/21.08/classarmnn_1_1_base_memory_manager.xhtml b/21.08/classarmnn_1_1_base_memory_manager.xhtml new file mode 100644 index 0000000000..fe56712314 --- /dev/null +++ b/21.08/classarmnn_1_1_base_memory_manager.xhtml @@ -0,0 +1,650 @@ + + + + + + + + + + + + + +ArmNN: BaseMemoryManager Class Reference + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  21.08 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
BaseMemoryManager Class Referenceabstract
+
+
+ +

#include <BaseMemoryManager.hpp>

+
+Inheritance diagram for BaseMemoryManager:
+
+
+ + +IMemoryManager +ClMemoryManager +NeonMemoryManager + +
+ + + + +

+Public Types

enum  MemoryAffinity { Buffer, +Offset + }
 
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BaseMemoryManager ()
 
virtual ~BaseMemoryManager ()
 
void Acquire () override
 
void Release () override
 
 BaseMemoryManager (std::shared_ptr< arm_compute::IAllocator > alloc, MemoryAffinity memoryAffinity)
 
std::shared_ptr< arm_compute::MemoryManagerOnDemand > & GetIntraLayerManager ()
 
std::shared_ptr< arm_compute::MemoryManagerOnDemand > & GetInterLayerManager ()
 
std::shared_ptr< arm_compute::IMemoryGroup > & GetInterLayerMemoryGroup ()
 
- Public Member Functions inherited from IMemoryManager
virtual ~IMemoryManager ()
 
+ + + + + + + + +

+Protected Member Functions

std::shared_ptr< arm_compute::MemoryManagerOnDemand > CreateArmComputeMemoryManager (MemoryAffinity memoryAffinity)
 
virtual std::shared_ptr< arm_compute::IMemoryGroup > CreateMemoryGroup (const std::shared_ptr< arm_compute::MemoryManagerOnDemand > &memoryManager)=0
 
- Protected Member Functions inherited from IMemoryManager
 IMemoryManager ()
 
+ + + + + + + + + +

+Protected Attributes

std::shared_ptr< arm_compute::IAllocator > m_Allocator
 
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_IntraLayerMemoryMgr
 
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_InterLayerMemoryMgr
 
std::shared_ptr< arm_compute::IMemoryGroup > m_InterLayerMemoryGroup
 
+

Detailed Description

+
+

Definition at line 27 of file BaseMemoryManager.hpp.

+

Member Enumeration Documentation

+ +

◆ MemoryAffinity

+ +
+
+ + + + + +
+ + + + +
enum MemoryAffinity
+
+strong
+
+ + + +
Enumerator
Buffer 
Offset 
+ +

Definition at line 30 of file BaseMemoryManager.hpp.

+
31  {
32  Buffer,
33  Offset
34  };
unsigned int Offset(const TensorShape &shape, unsigned int batch, unsigned int height, unsigned int width, unsigned int channels, const DataLayoutIndexed &dataLayout)
+
+
+
+

Constructor & Destructor Documentation

+ +

◆ BaseMemoryManager() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
BaseMemoryManager ()
+
+inline
+
+ +

Definition at line 36 of file BaseMemoryManager.hpp.

+ +

Referenced by BaseMemoryManager::~BaseMemoryManager().

+
36 { }
+
+
+ +

◆ ~BaseMemoryManager()

+ +
+
+ + + + + +
+ + + + + + + +
virtual ~BaseMemoryManager ()
+
+inlinevirtual
+
+
+ +

◆ BaseMemoryManager() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
BaseMemoryManager (std::shared_ptr< arm_compute::IAllocator > alloc,
MemoryAffinity memoryAffinity 
)
+
+ +

Definition at line 18 of file BaseMemoryManager.cpp.

+ +

References ARMNN_ASSERT, BaseMemoryManager::CreateArmComputeMemoryManager(), BaseMemoryManager::m_Allocator, BaseMemoryManager::m_InterLayerMemoryMgr, and BaseMemoryManager::m_IntraLayerMemoryMgr.

+
20 {
21  ARMNN_ASSERT(alloc);
22  m_Allocator = std::move(alloc);
23 
26 }
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
+
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
+
std::shared_ptr< arm_compute::IAllocator > m_Allocator
+
+
+
+

Member Function Documentation

+ +

◆ Acquire()

+ +
+
+ + + + + +
+ + + + + + + +
void Acquire ()
+
+overridevirtual
+
+ +

Implements IMemoryManager.

+ +

Definition at line 48 of file BaseMemoryManager.cpp.

+ +

References ARMNN_ASSERT, BaseMemoryManager::m_Allocator, BaseMemoryManager::m_InterLayerMemoryGroup, BaseMemoryManager::m_InterLayerMemoryMgr, and BaseMemoryManager::m_IntraLayerMemoryMgr.

+ +

Referenced by BaseMemoryManager::Release(), and BaseMemoryManager::~BaseMemoryManager().

+
49 {
50  static const size_t s_NumPools = 1;
51 
52  // Allocate memory pools for intra-layer memory manager
54  m_IntraLayerMemoryMgr->populate(*m_Allocator, s_NumPools);
55 
56  // Allocate memory pools for inter-layer memory manager
58  m_InterLayerMemoryMgr->populate(*m_Allocator, s_NumPools);
59 
60  // Acquire inter-layer memory group. NOTE: This has to come after allocating the pools
62  m_InterLayerMemoryGroup->acquire();
63 }
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_InterLayerMemoryMgr
+
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_IntraLayerMemoryMgr
+
std::shared_ptr< arm_compute::IMemoryGroup > m_InterLayerMemoryGroup
+
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
+
std::shared_ptr< arm_compute::IAllocator > m_Allocator
+
+
+
+ +

◆ CreateArmComputeMemoryManager()

+ +
+
+ + + + + +
+ + + + + + + + +
std::shared_ptr< arm_compute::MemoryManagerOnDemand > CreateArmComputeMemoryManager (MemoryAffinity memoryAffinity)
+
+protected
+
+ +

Definition at line 29 of file BaseMemoryManager.cpp.

+ +

References BaseMemoryManager::Buffer.

+ +

Referenced by BaseMemoryManager::BaseMemoryManager().

+
30 {
31  std::shared_ptr<arm_compute::ILifetimeManager> lifetimeManager = nullptr;
32 
33  if (memoryAffinity == MemoryAffinity::Buffer)
34  {
35  lifetimeManager = std::make_shared<arm_compute::BlobLifetimeManager>();
36  }
37  else
38  {
39  lifetimeManager = std::make_shared<arm_compute::OffsetLifetimeManager>();
40  }
41 
42  auto poolManager = std::make_shared<arm_compute::PoolManager>();
43  auto memoryManager = std::make_shared<arm_compute::MemoryManagerOnDemand>(lifetimeManager, poolManager);
44 
45  return memoryManager;
46 }
+
+
+
+ +

◆ CreateMemoryGroup()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual std::shared_ptr<arm_compute::IMemoryGroup> CreateMemoryGroup (const std::shared_ptr< arm_compute::MemoryManagerOnDemand > & memoryManager)
+
+protectedpure virtual
+
+
+ +

◆ GetInterLayerManager()

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetInterLayerManager ()
+
+inline
+
+ +

Definition at line 46 of file BaseMemoryManager.hpp.

+ +

References BaseMemoryManager::m_InterLayerMemoryMgr.

+
46 { return m_InterLayerMemoryMgr; }
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_InterLayerMemoryMgr
+
+
+
+ +

◆ GetInterLayerMemoryGroup()

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr<arm_compute::IMemoryGroup>& GetInterLayerMemoryGroup ()
+
+inline
+
+ +

Definition at line 47 of file BaseMemoryManager.hpp.

+ +

References BaseMemoryManager::m_InterLayerMemoryGroup.

+
47 { return m_InterLayerMemoryGroup; }
std::shared_ptr< arm_compute::IMemoryGroup > m_InterLayerMemoryGroup
+
+
+
+ +

◆ GetIntraLayerManager()

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetIntraLayerManager ()
+
+inline
+
+ +

Definition at line 45 of file BaseMemoryManager.hpp.

+ +

References BaseMemoryManager::m_IntraLayerMemoryMgr.

+
45 { return m_IntraLayerMemoryMgr; }
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_IntraLayerMemoryMgr
+
+
+
+ +

◆ Release()

+ +
+
+ + + + + +
+ + + + + + + +
void Release ()
+
+overridevirtual
+
+ +

Implements IMemoryManager.

+ +

Definition at line 65 of file BaseMemoryManager.cpp.

+ +

References BaseMemoryManager::Acquire(), ARMNN_ASSERT, BaseMemoryManager::m_InterLayerMemoryGroup, BaseMemoryManager::m_InterLayerMemoryMgr, and BaseMemoryManager::m_IntraLayerMemoryMgr.

+ +

Referenced by BaseMemoryManager::~BaseMemoryManager().

+
66 {
67  // Release inter-layer memory group. NOTE: This has to come before releasing the pools
69  m_InterLayerMemoryGroup->release();
70 
71  // Release memory pools managed by intra-layer memory manager
73  m_IntraLayerMemoryMgr->clear();
74 
75  // Release memory pools managed by inter-layer memory manager
77  m_InterLayerMemoryMgr->clear();
78 }
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_InterLayerMemoryMgr
+
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_IntraLayerMemoryMgr
+
std::shared_ptr< arm_compute::IMemoryGroup > m_InterLayerMemoryGroup
+
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
+
+
+
+

Member Data Documentation

+ +

◆ m_Allocator

+ +
+
+ + + + + +
+ + + + +
std::shared_ptr<arm_compute::IAllocator> m_Allocator
+
+protected
+
+ +

Definition at line 50 of file BaseMemoryManager.hpp.

+ +

Referenced by BaseMemoryManager::Acquire(), and BaseMemoryManager::BaseMemoryManager().

+ +
+
+ +

◆ m_InterLayerMemoryGroup

+ +
+
+ + + + + +
+ + + + +
std::shared_ptr<arm_compute::IMemoryGroup> m_InterLayerMemoryGroup
+
+protected
+
+
+ +

◆ m_InterLayerMemoryMgr

+ +
+
+ + + + + +
+ + + + +
std::shared_ptr<arm_compute::MemoryManagerOnDemand> m_InterLayerMemoryMgr
+
+protected
+
+
+ +

◆ m_IntraLayerMemoryMgr

+ +
+
+ + + + + +
+ + + + +
std::shared_ptr<arm_compute::MemoryManagerOnDemand> m_IntraLayerMemoryMgr
+
+protected
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + + -- cgit v1.2.1