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/neon/NeonBackend.cpp | |
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/neon/NeonBackend.cpp')
-rw-r--r-- | src/backends/neon/NeonBackend.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index 4d57eda877..cde29983bd 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -8,11 +8,18 @@ #include "NeonWorkloadFactory.hpp" #include "NeonLayerSupport.hpp" -#include <backendsCommon/IBackendContext.hpp> +#include <aclCommon/BaseMemoryManager.hpp> + #include <backendsCommon/BackendRegistry.hpp> +#include <backendsCommon/IBackendContext.hpp> +#include <backendsCommon/IMemoryManager.hpp> + #include <Optimizer.hpp> +#include <arm_compute/runtime/Allocator.h> + #include <boost/cast.hpp> +#include <boost/polymorphic_pointer_cast.hpp> namespace armnn { @@ -38,9 +45,17 @@ const BackendId& NeonBackend::GetIdStatic() return s_Id; } -IBackendInternal::IWorkloadFactoryPtr NeonBackend::CreateWorkloadFactory() const +IBackendInternal::IMemoryManagerUniquePtr NeonBackend::CreateMemoryManager() const +{ + return std::make_unique<NeonMemoryManager>(std::make_unique<arm_compute::Allocator>(), + BaseMemoryManager::MemoryAffinity::Offset); +} + +IBackendInternal::IWorkloadFactoryPtr NeonBackend::CreateWorkloadFactory( + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) const { - return std::make_unique<NeonWorkloadFactory>(); + return std::make_unique<NeonWorkloadFactory>( + boost::polymorphic_pointer_downcast<NeonMemoryManager>(memoryManager)); } IBackendInternal::IBackendContextPtr NeonBackend::CreateBackendContext(const IRuntime::CreationOptions&) const |