From 549b9600a6eaf0727fa084465a75f173edf8f381 Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Tue, 24 May 2022 11:32:07 +0100 Subject: Update 22.05 Doxygen Docs after updates to main Readme Signed-off-by: Nikhil Raj Change-Id: I56711772406a41ff81fa136a5fb6c59c9b9cf504 --- 22.05/_base_memory_manager_8cpp_source.xhtml | 128 +++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 22.05/_base_memory_manager_8cpp_source.xhtml (limited to '22.05/_base_memory_manager_8cpp_source.xhtml') diff --git a/22.05/_base_memory_manager_8cpp_source.xhtml b/22.05/_base_memory_manager_8cpp_source.xhtml new file mode 100644 index 0000000000..5dadb39719 --- /dev/null +++ b/22.05/_base_memory_manager_8cpp_source.xhtml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + +ArmNN: src/backends/aclCommon/BaseMemoryManager.cpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  22.05 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
BaseMemoryManager.cpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #include "BaseMemoryManager.hpp"
6 
7 #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
8 #include "arm_compute/runtime/BlobLifetimeManager.h"
9 #include "arm_compute/runtime/PoolManager.h"
10 #include "arm_compute/runtime/OffsetLifetimeManager.h"
11 #endif
12 
13 
14 namespace armnn
15 {
16 
17 #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
18 BaseMemoryManager::BaseMemoryManager(std::shared_ptr<arm_compute::IAllocator> alloc,
19  MemoryAffinity memoryAffinity)
20 {
21  ARMNN_ASSERT(alloc);
22  m_Allocator = std::move(alloc);
23 
26 }
27 
28 std::shared_ptr<arm_compute::MemoryManagerOnDemand>
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 }
47 
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 }
64 
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 }
79 #else
81 {
82  // No-op if neither NEON nor CL enabled
83 }
84 
86 {
87  // No-op if neither NEON nor CL enabled
88 }
89 #endif
90 
91 #if defined(ARMCOMPUTENEON_ENABLED)
92 std::shared_ptr<arm_compute::IMemoryGroup>
93 NeonMemoryManager::CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager)
94 {
95  return std::make_shared<arm_compute::MemoryGroup>(memoryManager);
96 }
97 #endif
98 
99 #if defined(ARMCOMPUTECL_ENABLED)
100 std::shared_ptr<arm_compute::IMemoryGroup>
101 ClMemoryManager::CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager)
102 {
103  return std::make_shared<arm_compute::MemoryGroup>(memoryManager);
104 }
105 #endif
106 
107 }
std::shared_ptr< arm_compute::MemoryManagerOnDemand > CreateArmComputeMemoryManager(MemoryAffinity memoryAffinity)
+ +
std::shared_ptr< arm_compute::IMemoryGroup > CreateMemoryGroup(const std::shared_ptr< arm_compute::MemoryManagerOnDemand > &memoryManager) override
+ + +
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_InterLayerMemoryMgr
+
std::shared_ptr< arm_compute::MemoryManagerOnDemand > m_IntraLayerMemoryMgr
+ +
Copyright (c) 2021 ARM Limited and Contributors.
+ +
std::shared_ptr< arm_compute::IMemoryGroup > CreateMemoryGroup(const std::shared_ptr< arm_compute::MemoryManagerOnDemand > &memoryManager) override
+
std::shared_ptr< arm_compute::IMemoryGroup > m_InterLayerMemoryGroup
+
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
+ +
std::shared_ptr< arm_compute::IAllocator > m_Allocator
+
+
+ + + + -- cgit v1.2.1