diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2021-07-27 10:34:59 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2021-07-27 17:44:09 +0000 |
commit | 980558373f14c135a331fa23b61558c7d177edf2 (patch) | |
tree | 979707adf931af8148bb85a02f7ba6e811697255 /src/runtime/gpu/cl/operators | |
parent | d87aded57efb2997d486ffae9102eb79def60c99 (diff) | |
download | ComputeLibrary-980558373f14c135a331fa23b61558c7d177edf2.tar.gz |
Fix memory lifetime issue
B matrix was getting released while was still needed for a Native GEMM
execution
Resolves: COMPMID-4705
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I1e490abbe1feabd451d10fa785de21e725f1d6e0
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6001
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/gpu/cl/operators')
-rw-r--r-- | src/runtime/gpu/cl/operators/ClGemmLowpMatrixMultiplyCore.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/runtime/gpu/cl/operators/ClGemmLowpMatrixMultiplyCore.cpp b/src/runtime/gpu/cl/operators/ClGemmLowpMatrixMultiplyCore.cpp index 82047ad2a5..64c8743f13 100644 --- a/src/runtime/gpu/cl/operators/ClGemmLowpMatrixMultiplyCore.cpp +++ b/src/runtime/gpu/cl/operators/ClGemmLowpMatrixMultiplyCore.cpp @@ -335,8 +335,6 @@ void ClGemmLowpMatrixMultiplyCore::configure(const CLCompileContext &compile_con { _run_output_stage = true; - // _memory_group.manage(&_mm_result_s32); - if(_is_gemm_reshaped) { _mm_reshaped_only_rhs_kernel->configure(compile_context, a, matrix_b, &_mm_result_s32, gemm_kernel_info); @@ -726,12 +724,11 @@ void ClGemmLowpMatrixMultiplyCore::prepare(ITensorPack &tensors) { ITensorPack convert_to_qs8_pack = { { ACL_SRC, b }, { ACL_DST, rhs_qasymm8.get() } }; CLScheduler::get().enqueue_op(*_weights_to_qasymm8, convert_to_qs8_pack, false); + b->mark_as_unused(); } if(_is_gemm_reshaped && _reshape_b_only_on_first_run) { - ARM_COMPUTE_ERROR_ON(!b->is_used()); - // Run reshape kernel and mark original weights tensor as unused ITensorPack mtx_b_pack = { |