diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-11-12 18:10:43 +0000 |
---|---|---|
committer | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-11-13 14:41:52 +0000 |
commit | 56055193e82471a70b82e4eb11a8884c5904af75 (patch) | |
tree | bf66d0ba0088d963def8485c7e894b12d7a65b82 /src/backends/aclCommon | |
parent | 95807cef855738ca481ace30f32ed9f245a098dd (diff) | |
download | armnn-56055193e82471a70b82e4eb11a8884c5904af75.tar.gz |
IVGCVSW-2066: Add IMemoryManager and integrate into the backends framework
Change-Id: I93223c8678165cbc3d39f461c36bb8610dc81c05
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r-- | src/backends/aclCommon/BaseMemoryManager.cpp | 10 | ||||
-rw-r--r-- | src/backends/aclCommon/BaseMemoryManager.hpp | 9 | ||||
-rw-r--r-- | src/backends/aclCommon/test/MemCopyTestImpl.hpp | 5 | ||||
-rw-r--r-- | src/backends/aclCommon/test/MemCopyTests.cpp | 4 |
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> |