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/cl/ClBackend.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/cl/ClBackend.cpp')
-rw-r--r-- | src/backends/cl/ClBackend.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp index 4ef8d90dfc..2b82c185f0 100644 --- a/src/backends/cl/ClBackend.cpp +++ b/src/backends/cl/ClBackend.cpp @@ -9,10 +9,18 @@ #include "ClBackendContext.hpp" #include "ClLayerSupport.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/CL/CLBufferAllocator.h> + +#include <boost/polymorphic_pointer_cast.hpp> + namespace armnn { @@ -37,9 +45,16 @@ const BackendId& ClBackend::GetIdStatic() return s_Id; } -IBackendInternal::IWorkloadFactoryPtr ClBackend::CreateWorkloadFactory() const +IBackendInternal::IMemoryManagerUniquePtr ClBackend::CreateMemoryManager() const +{ + return std::make_unique<ClMemoryManager>(std::make_unique<arm_compute::CLBufferAllocator>()); +} + +IBackendInternal::IWorkloadFactoryPtr ClBackend::CreateWorkloadFactory( + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) const { - return std::make_unique<ClWorkloadFactory>(); + return std::make_unique<ClWorkloadFactory>( + boost::polymorphic_pointer_downcast<ClMemoryManager>(memoryManager)); } IBackendInternal::IBackendContextPtr |