aboutsummaryrefslogtreecommitdiff
path: root/src/backends/aclCommon/BaseMemoryManager.cpp
diff options
context:
space:
mode:
authorJim Flynn <jim.flynn@arm.com>2020-03-19 17:03:14 +0000
committerJim Flynn <jim.flynn@arm.com>2020-03-19 17:03:14 +0000
commit0e2bab81442ee6cc2b94e4f7881ed0c5c6af65e7 (patch)
treeb0af08b5a0b74149fca422151127ac6310385399 /src/backends/aclCommon/BaseMemoryManager.cpp
parent8c3259fa007d43fcc5ea56fe6928526dbe79f3c0 (diff)
downloadarmnn-0e2bab81442ee6cc2b94e4f7881ed0c5c6af65e7.tar.gz
Creating gh-pages documentation for ArmNN
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'src/backends/aclCommon/BaseMemoryManager.cpp')
-rw-r--r--src/backends/aclCommon/BaseMemoryManager.cpp108
1 files changed, 0 insertions, 108 deletions
diff --git a/src/backends/aclCommon/BaseMemoryManager.cpp b/src/backends/aclCommon/BaseMemoryManager.cpp
deleted file mode 100644
index 844fbcd4ca..0000000000
--- a/src/backends/aclCommon/BaseMemoryManager.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "BaseMemoryManager.hpp"
-
-#if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
-#include "arm_compute/runtime/BlobLifetimeManager.h"
-#include "arm_compute/runtime/PoolManager.h"
-#include "arm_compute/runtime/OffsetLifetimeManager.h"
-#endif
-
-#include <boost/polymorphic_cast.hpp>
-
-namespace armnn
-{
-
-#if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
-BaseMemoryManager::BaseMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc,
- MemoryAffinity memoryAffinity)
-{
- BOOST_ASSERT(alloc);
- m_Allocator = std::move(alloc);
-
- m_IntraLayerMemoryMgr = CreateArmComputeMemoryManager(memoryAffinity);
- m_InterLayerMemoryMgr = CreateArmComputeMemoryManager(memoryAffinity);
-}
-
-std::shared_ptr<arm_compute::MemoryManagerOnDemand>
-BaseMemoryManager::CreateArmComputeMemoryManager(MemoryAffinity memoryAffinity)
-{
- std::shared_ptr<arm_compute::ILifetimeManager> lifetimeManager = nullptr;
-
- if (memoryAffinity == MemoryAffinity::Buffer)
- {
- lifetimeManager = std::make_shared<arm_compute::BlobLifetimeManager>();
- }
- else
- {
- lifetimeManager = std::make_shared<arm_compute::OffsetLifetimeManager>();
- }
-
- auto poolManager = std::make_shared<arm_compute::PoolManager>();
- auto memoryManager = std::make_shared<arm_compute::MemoryManagerOnDemand>(lifetimeManager, poolManager);
-
- return memoryManager;
-}
-
-void BaseMemoryManager::Acquire()
-{
- static const size_t s_NumPools = 1;
-
- // Allocate memory pools for intra-layer memory manager
- BOOST_ASSERT(m_IntraLayerMemoryMgr);
- m_IntraLayerMemoryMgr->populate(*m_Allocator, s_NumPools);
-
- // Allocate memory pools for inter-layer memory manager
- BOOST_ASSERT(m_InterLayerMemoryMgr);
- m_InterLayerMemoryMgr->populate(*m_Allocator, s_NumPools);
-
- // Acquire inter-layer memory group. NOTE: This has to come after allocating the pools
- BOOST_ASSERT(m_InterLayerMemoryGroup);
- m_InterLayerMemoryGroup->acquire();
-}
-
-void BaseMemoryManager::Release()
-{
- // Release inter-layer memory group. NOTE: This has to come before releasing the pools
- BOOST_ASSERT(m_InterLayerMemoryGroup);
- m_InterLayerMemoryGroup->release();
-
- // Release memory pools managed by intra-layer memory manager
- BOOST_ASSERT(m_IntraLayerMemoryMgr);
- m_IntraLayerMemoryMgr->clear();
-
- // Release memory pools managed by inter-layer memory manager
- BOOST_ASSERT(m_InterLayerMemoryMgr);
- m_InterLayerMemoryMgr->clear();
-}
-#else
-void BaseMemoryManager::Acquire()
-{
- // No-op if neither NEON nor CL enabled
-}
-
-void BaseMemoryManager::Release()
-{
- // No-op if neither NEON nor CL enabled
-}
-#endif
-
-#if defined(ARMCOMPUTENEON_ENABLED)
-std::shared_ptr<arm_compute::IMemoryGroup>
-NeonMemoryManager::CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager)
-{
- return std::make_shared<arm_compute::MemoryGroup>(memoryManager);
-}
-#endif
-
-#if defined(ARMCOMPUTECL_ENABLED)
-std::shared_ptr<arm_compute::IMemoryGroup>
-ClMemoryManager::CreateMemoryGroup(const std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager)
-{
- return std::make_shared<arm_compute::MemoryGroup>(memoryManager);
-}
-#endif
-
-}