From 82b51482479951cf133c223eb81aae291cb4d590 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Tue, 24 Apr 2018 15:14:12 +0100 Subject: COMPMID-959: Sets memory manager to CLWinograd -Sets memory manager to Winograd functions -Marks CLGEMM inputs as unused if needed Change-Id: I425a3f864c756e0e2b4da895e1730b8822149ba8 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128891 Tested-by: Jenkins Reviewed-by: Gian Marco Iodice Reviewed-by: Anthony Barbier --- src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp') diff --git a/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp b/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp index 084c4df718..87c4a306aa 100644 --- a/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp @@ -374,7 +374,6 @@ void CLGEMMConvolutionLayer::run() ARM_COMPUTE_ERROR_ON(!_original_weights->is_used()); _reshape_weights.run(); - _is_first_run = false; // Mark original weights tensor as unused _original_weights->mark_as_unused(); @@ -398,6 +397,13 @@ void CLGEMMConvolutionLayer::run() { // Run gemm _mm_gemm.run(); + + // Release reshaped weights if marked unused by CLGEMM + if(_is_first_run && !_weights_reshaped.is_used()) + { + CLScheduler::get().queue().finish(); + _weights_reshaped.allocator()->free(); + } } // Reshape output matrix @@ -410,4 +416,6 @@ void CLGEMMConvolutionLayer::run() } _memory_group.release(); + + _is_first_run = false; } -- cgit v1.2.1