aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/cpu/utils/CpuAuxTensorHandler.h
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2021-07-30 12:21:07 +0100
committerSheri Zhang <sheri.zhang@arm.com>2021-08-04 11:04:22 +0000
commit663419457b02238687cb329afcddc73719bdb8fa (patch)
tree040abeb9878085df78841cc907036b9293e7a644 /src/runtime/cpu/utils/CpuAuxTensorHandler.h
parent4164814a099773c0a512889473c980bc148e590f (diff)
downloadComputeLibrary-663419457b02238687cb329afcddc73719bdb8fa.tar.gz
Avoid over-allocation of temporary buffers within CpuWinogradConv2d
Resolves: COMPMID-4716 Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: Ie036d2bb7a243301a62f089b3920ebee0f409190 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6028 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'src/runtime/cpu/utils/CpuAuxTensorHandler.h')
-rw-r--r--src/runtime/cpu/utils/CpuAuxTensorHandler.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/runtime/cpu/utils/CpuAuxTensorHandler.h b/src/runtime/cpu/utils/CpuAuxTensorHandler.h
index 0d1c927b5a..ae1cffb659 100644
--- a/src/runtime/cpu/utils/CpuAuxTensorHandler.h
+++ b/src/runtime/cpu/utils/CpuAuxTensorHandler.h
@@ -28,6 +28,7 @@
#include "arm_compute/core/TensorInfo.h"
#include "arm_compute/runtime/Tensor.h"
+#include "src/common/utils/Log.h"
#include "support/Cast.h"
namespace arm_compute
@@ -38,7 +39,7 @@ namespace cpu
class CpuAuxTensorHandler
{
public:
- CpuAuxTensorHandler(int slot_id, TensorInfo &info, ITensorPack &pack, bool pack_inject = false)
+ CpuAuxTensorHandler(int slot_id, TensorInfo &info, ITensorPack &pack, bool pack_inject = false, bool bypass_alloc = false)
: _tensor()
{
if(info.total_size() == 0)
@@ -50,7 +51,12 @@ public:
ITensor *packed_tensor = utils::cast::polymorphic_downcast<ITensor *>(pack.get_tensor(slot_id));
if((packed_tensor == nullptr) || (info.total_size() > packed_tensor->info()->total_size()))
{
- _tensor.allocator()->allocate();
+ if(!bypass_alloc)
+ {
+ _tensor.allocator()->allocate();
+ ARM_COMPUTE_LOG_INFO_WITH_FUNCNAME_ACL("Allocating auxiliary tensor");
+ }
+
if(pack_inject)
{
pack.add_tensor(slot_id, &_tensor);