From b27e13a0ad630d3d9b3143c0374b5ff5000eebc0 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Fri, 27 Sep 2019 11:04:27 +0100 Subject: COMPMID-2685: [CL] Use Weights manager Change-Id: Ia1818e6ecd9386e96378e64f14d02592fe3cdf0f Signed-off-by: Michalis Spyrou Reviewed-on: https://review.mlplatform.org/c/1997 Comments-Addressed: Arm Jenkins Reviewed-by: Gian Marco Iodice Tested-by: Arm Jenkins --- src/graph/backends/CL/CLDeviceBackend.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/graph/backends/CL/CLDeviceBackend.cpp') diff --git a/src/graph/backends/CL/CLDeviceBackend.cpp b/src/graph/backends/CL/CLDeviceBackend.cpp index 9b7c879b2a..ea3b6b801a 100644 --- a/src/graph/backends/CL/CLDeviceBackend.cpp +++ b/src/graph/backends/CL/CLDeviceBackend.cpp @@ -38,6 +38,7 @@ #include "arm_compute/runtime/BlobLifetimeManager.h" #include "arm_compute/runtime/CL/CLBufferAllocator.h" #include "arm_compute/runtime/CL/CLScheduler.h" +#include "arm_compute/runtime/IWeightsManager.h" #include "arm_compute/runtime/MemoryGroup.h" #include "arm_compute/runtime/MemoryManagerOnDemand.h" #include "arm_compute/runtime/PoolManager.h" @@ -137,6 +138,16 @@ void CLDeviceBackend::setup_backend_context(GraphContext &ctx) ctx.insert_memory_management_ctx(std::move(mm_ctx)); } + + // Create function level weights manager + if(ctx.weights_management_ctx(Target::CL) == nullptr) + { + WeightsManagerContext wm_ctx; + wm_ctx.target = Target::CL; + wm_ctx.wm = create_weights_manager(); + + ctx.insert_weights_management_ctx(std::move(wm_ctx)); + } } bool CLDeviceBackend::is_backend_supported() @@ -207,7 +218,8 @@ std::shared_ptr CLDeviceBackend::create_memory_mana std::shared_ptr CLDeviceBackend::create_weights_manager() { - return nullptr; + auto weights_mgr = std::make_shared(); + return weights_mgr; } } // namespace backends } // namespace graph -- cgit v1.2.1