aboutsummaryrefslogtreecommitdiff
path: root/src/backends/aclCommon
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r--src/backends/aclCommon/BaseMemoryManager.cpp10
-rw-r--r--src/backends/aclCommon/BaseMemoryManager.hpp9
-rw-r--r--src/backends/aclCommon/test/MemCopyTestImpl.hpp5
-rw-r--r--src/backends/aclCommon/test/MemCopyTests.cpp4
4 files changed, 22 insertions, 6 deletions
diff --git a/src/backends/aclCommon/BaseMemoryManager.cpp b/src/backends/aclCommon/BaseMemoryManager.cpp
index 4e0d14c5e4..f564dc63e2 100644
--- a/src/backends/aclCommon/BaseMemoryManager.cpp
+++ b/src/backends/aclCommon/BaseMemoryManager.cpp
@@ -77,6 +77,16 @@ void BaseMemoryManager::Release()
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
#ifdef ARMCOMPUTENEON_ENABLED
diff --git a/src/backends/aclCommon/BaseMemoryManager.hpp b/src/backends/aclCommon/BaseMemoryManager.hpp
index ffa440b3ab..a880b9a183 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 @@ public:
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 @@ public:
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;
diff --git a/src/backends/aclCommon/test/MemCopyTestImpl.hpp b/src/backends/aclCommon/test/MemCopyTestImpl.hpp
index 6cafaadd88..763a3f73aa 100644
--- a/src/backends/aclCommon/test/MemCopyTestImpl.hpp
+++ b/src/backends/aclCommon/test/MemCopyTestImpl.hpp
@@ -6,6 +6,7 @@
#include <backendsCommon/test/LayerTests.hpp>
#include <backendsCommon/test/TensorCopyUtils.hpp>
+#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
#include <backendsCommon/test/WorkloadTestUtils.hpp>
#include <test/TensorHelpers.hpp>
@@ -75,8 +76,8 @@ LayerTestResult<float, 4> MemCopyTest(armnn::IWorkloadFactory& srcWorkloadFactor
template<typename SrcWorkloadFactory, typename DstWorkloadFactory>
LayerTestResult<float, 4> MemCopyTest(bool withSubtensors)
{
- SrcWorkloadFactory srcWorkloadFactory;
- DstWorkloadFactory dstWorkloadFactory;
+ SrcWorkloadFactory srcWorkloadFactory = WorkloadFactoryHelper<SrcWorkloadFactory>::GetFactory();
+ DstWorkloadFactory dstWorkloadFactory = WorkloadFactoryHelper<DstWorkloadFactory>::GetFactory();
return MemCopyTest(srcWorkloadFactory, dstWorkloadFactory, withSubtensors);
}
diff --git a/src/backends/aclCommon/test/MemCopyTests.cpp b/src/backends/aclCommon/test/MemCopyTests.cpp
index 3d4236dd36..7099a70bc7 100644
--- a/src/backends/aclCommon/test/MemCopyTests.cpp
+++ b/src/backends/aclCommon/test/MemCopyTests.cpp
@@ -9,7 +9,11 @@
#if ARMCOMPUTECL_ENABLED && ARMCOMPUTENEON_ENABLED
#include <aclCommon/test/MemCopyTestImpl.hpp>
+
#include <cl/test/ClContextControlFixture.hpp>
+#include <cl/test/ClWorkloadFactoryHelper.hpp>
+
+#include <neon/test/NeonWorkloadFactoryHelper.hpp>
#endif
#include <boost/test/unit_test.hpp>