diff options
Diffstat (limited to 'src/runtime/NEON/functions/NEGEMMConv2d.cpp')
-rw-r--r-- | src/runtime/NEON/functions/NEGEMMConv2d.cpp | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/src/runtime/NEON/functions/NEGEMMConv2d.cpp b/src/runtime/NEON/functions/NEGEMMConv2d.cpp index 790543a34a..94ceb6d27c 100644 --- a/src/runtime/NEON/functions/NEGEMMConv2d.cpp +++ b/src/runtime/NEON/functions/NEGEMMConv2d.cpp @@ -26,37 +26,24 @@ #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/core/utils/quantization/AsymmHelpers.h" #include "arm_compute/runtime/NEON/NEScheduler.h" -#include "src/core/helpers/MemoryHelpers.h" #include "src/runtime/cpu/operators/CpuGemmDirectConv2d.h" #include <set> namespace arm_compute { -using OperatorType = cpu::CpuGemmDirectConv2d; -using WorkspaceDataType = WorkspaceData<Tensor>; +using OperatorType = cpu::CpuGemmDirectConv2d; struct NEGEMMConv2d::Impl { ITensorPack tensors{}; - MemoryGroup mg{}; std::unique_ptr<OperatorType> op{ nullptr }; - WorkspaceDataType ws{}; - - void allocate_and_add_workspace() - { - if(op) - { - ws = manage_workspace<Tensor>(op->workspace(), mg, tensors); - } - } }; NEGEMMConv2d::NEGEMMConv2d(const std::shared_ptr<IMemoryManager> &memory_manager) : _impl(std::make_unique<Impl>()) { - _impl->op = std::make_unique<OperatorType>(); - _impl->mg = MemoryGroup(memory_manager); + _impl->op = std::make_unique<OperatorType>(memory_manager); } NEGEMMConv2d::~NEGEMMConv2d() = default; @@ -68,9 +55,7 @@ void NEGEMMConv2d::configure(ITensor *input, const ITensor *weights, const ITens _impl->tensors.add_const_tensor(TensorType::ACL_SRC_2, biases); _impl->tensors.add_tensor(TensorType::ACL_DST, output); - _impl->op->configure(input->info(), weights->info(), ((biases) ? biases->info() : nullptr), output->info(), info); - - _impl->allocate_and_add_workspace(); + _impl->op->configure(input->info(), weights->info(), biases->info(), output->info(), info); } Status NEGEMMConv2d::validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *output, const Conv2dInfo &info) |