aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/operators/CpuGemmConv2d.cpp
diff options
context:
space:
mode:
authorMichael Tyler <michael.tyler@arm.com>2024-06-25 14:09:37 +0100
committerMichael Tyler <michael.tyler@arm.com>2024-06-26 15:50:40 +0000
commite6836523ed6672ee1d622f240038a1173d57923c (patch)
treee4158dfdc0884cd304f83907a5f63b65450512fb /src/cpu/operators/CpuGemmConv2d.cpp
parent5d6fff041ade7eb44af0945867212f3979be3d3e (diff)
downloadComputeLibrary-e6836523ed6672ee1d622f240038a1173d57923c.tar.gz
Optimize memory management of CPU operators
Resolves COMPMID-7172 Change-Id: I0acac5e4cb24056a88b4356d9239b33721d65d13 Signed-off-by: Michael Tyler <michael.tyler@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/11762 Benchmark: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Suhail M <MohammedSuhail.Munshi@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu/operators/CpuGemmConv2d.cpp')
-rw-r--r--src/cpu/operators/CpuGemmConv2d.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cpu/operators/CpuGemmConv2d.cpp b/src/cpu/operators/CpuGemmConv2d.cpp
index 55d950ff4a..f3b78f8885 100644
--- a/src/cpu/operators/CpuGemmConv2d.cpp
+++ b/src/cpu/operators/CpuGemmConv2d.cpp
@@ -589,8 +589,14 @@ void CpuGemmConv2d::configure(const ITensorInfo *src,
// WeightsReshaped in prepare
// Otherwise WeightsReshaped is the final transformation of weights and needs to persist
bool gemm_trans_wei = _aux_mem[GemmAsmPretransposedRHS].size > 0;
- gemm_trans_wei = _mm_gemm != nullptr ? _aux_mem[GemmTransposed1xWRHS].size > 0 : gemm_trans_wei;
- gemm_trans_wei = _mm_gemmlowp != nullptr ? _aux_mem[GemmLowpTransposed1xWRHS].size > 0 : gemm_trans_wei;
+ if (_mm_gemm != nullptr)
+ {
+ gemm_trans_wei |= _aux_mem[GemmTransposed1xWRHS].size > 0;
+ }
+ if (_mm_gemmlowp != nullptr)
+ {
+ gemm_trans_wei |= _aux_mem[GemmLowpTransposed1xWRHS].size > 0;
+ }
_aux_mem[WeightsReshaped] = MemoryInfo(offset_int_vec(WeightsReshaped),
gemm_trans_wei ? MemoryLifetime::Prepare : MemoryLifetime::Persistent,