IVGCVSW-2066: Add IMemoryManager and integrate into the backends framework
Change-Id: I93223c8678165cbc3d39f461c36bb8610dc81c05
diff --git a/src/backends/aclCommon/BaseMemoryManager.hpp b/src/backends/aclCommon/BaseMemoryManager.hpp
index ffa440b..a880b9a 100644
--- a/src/backends/aclCommon/BaseMemoryManager.hpp
+++ b/src/backends/aclCommon/BaseMemoryManager.hpp
@@ -4,6 +4,7 @@
//
#pragma once
+#include <backendsCommon/IMemoryManager.hpp>
#include <backendsCommon/WorkloadFactory.hpp>
#ifdef ARMCOMPUTENEON_ENABLED
@@ -23,7 +24,7 @@
namespace armnn
{
-class BaseMemoryManager
+class BaseMemoryManager : public IMemoryManager
{
public:
enum class MemoryAffinity
@@ -35,6 +36,9 @@
BaseMemoryManager() { }
virtual ~BaseMemoryManager() { }
+ void Acquire() override;
+ void Release() override;
+
#if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
BaseMemoryManager(std::unique_ptr<arm_compute::IAllocator> alloc, MemoryAffinity memoryAffinity);
@@ -43,9 +47,6 @@
std::shared_ptr<arm_compute::MemoryManagerOnDemand>& GetInterLayerManager() { return m_InterLayerMemoryMgr; }
std::shared_ptr<arm_compute::IMemoryGroup>& GetInterLayerMemoryGroup() { return m_InterLayerMemoryGroup; }
- void Acquire();
- void Release();
-
protected:
std::unique_ptr<arm_compute::IAllocator> m_Allocator;
std::shared_ptr<arm_compute::MemoryManagerOnDemand> m_IntraLayerMemoryMgr;