diff options
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r-- | src/backends/aclCommon/BaseMemoryManager.cpp | 2 | ||||
-rw-r--r-- | src/backends/aclCommon/BaseMemoryManager.hpp | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/backends/aclCommon/BaseMemoryManager.cpp b/src/backends/aclCommon/BaseMemoryManager.cpp index 45e0480a84..c60a4a04ae 100644 --- a/src/backends/aclCommon/BaseMemoryManager.cpp +++ b/src/backends/aclCommon/BaseMemoryManager.cpp @@ -15,7 +15,7 @@ namespace armnn { #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED) -BaseMemoryManager::BaseMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc, +BaseMemoryManager::BaseMemoryManager(std::shared_ptr<arm_compute::IAllocator> alloc, MemoryAffinity memoryAffinity) { ARMNN_ASSERT(alloc); diff --git a/src/backends/aclCommon/BaseMemoryManager.hpp b/src/backends/aclCommon/BaseMemoryManager.hpp index e80abf0edd..e3ffd188a1 100644 --- a/src/backends/aclCommon/BaseMemoryManager.hpp +++ b/src/backends/aclCommon/BaseMemoryManager.hpp @@ -15,6 +15,7 @@ #include <arm_compute/runtime/IAllocator.h> #include <arm_compute/runtime/IMemoryGroup.h> #include <arm_compute/runtime/MemoryManagerOnDemand.h> +#include <arm_compute/runtime/CL/CLTensorAllocator.h> #endif namespace armnn @@ -36,14 +37,14 @@ public: void Release() override; #if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED) - BaseMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc, MemoryAffinity memoryAffinity); + BaseMemoryManager(std::shared_ptr<arm_compute::IAllocator> alloc, MemoryAffinity memoryAffinity); std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetIntraLayerManager() { return m_IntraLayerMemoryMgr; } std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetInterLayerManager() { return m_InterLayerMemoryMgr; } std::shared_ptr<arm_compute::IMemoryGroup>& GetInterLayerMemoryGroup() { return m_InterLayerMemoryGroup; } protected: - std::unique_ptr<arm_compute::IAllocator> m_Allocator; + 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; @@ -81,9 +82,10 @@ public: ClMemoryManager() {} virtual ~ClMemoryManager() {} - ClMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc) + ClMemoryManager(std::shared_ptr<arm_compute::IAllocator> alloc) : BaseMemoryManager(std::move(alloc), MemoryAffinity::Buffer) { + arm_compute::CLTensorAllocator::set_global_allocator(alloc.get()); m_InterLayerMemoryGroup = CreateMemoryGroup(m_InterLayerMemoryMgr); } |