aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CL/functions/CLConvolutionLayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/CL/functions/CLConvolutionLayer.cpp')
-rw-r--r--src/runtime/CL/functions/CLConvolutionLayer.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/runtime/CL/functions/CLConvolutionLayer.cpp b/src/runtime/CL/functions/CLConvolutionLayer.cpp
index d1153978ff..d1533b6f24 100644
--- a/src/runtime/CL/functions/CLConvolutionLayer.cpp
+++ b/src/runtime/CL/functions/CLConvolutionLayer.cpp
@@ -260,8 +260,8 @@ void CLConvolutionLayer::configure(const ICLTensor *input, const ICLTensor *weig
if(_is_interleaved_transposed)
{
// Configure GEMMInterleave4x4. _input_interleaved_reshaped will be auto configured in the kernel
- _interleave_kernel.configure(&_im2col_output, &_interleave_output);
_memory_group.manage(&_interleave_output);
+ _interleave_kernel.configure(&_im2col_output, &_interleave_output);
// Configure GEMM
configure_mm(&_interleave_output, weights, &_gemm_output, true, _are_weights_reshaped);
@@ -279,8 +279,8 @@ void CLConvolutionLayer::configure(const ICLTensor *input, const ICLTensor *weig
float multiplier = input->info()->quantization_info().scale * weights->info()->quantization_info().scale / output->info()->quantization_info().scale;
int output_multiplier, output_shift;
quantization::calculate_quantized_multiplier_less_than_one(multiplier, &output_multiplier, &output_shift);
+ _memory_group.manage(&_tmp_output);
_gemmlowp_output_stage.configure(&_gemm_output, biases, &_tmp_output, output_multiplier, output_shift, output->info()->quantization_info().offset);
- _gemm_output.allocator()->allocate();
}
// Configure Col2Im
@@ -289,10 +289,7 @@ void CLConvolutionLayer::configure(const ICLTensor *input, const ICLTensor *weig
{
_tmp_output.allocator()->allocate();
}
- else
- {
- _gemm_output.allocator()->allocate();
- }
+ _gemm_output.allocator()->allocate();
ARM_COMPUTE_ERROR_ON_MSG((output->info()->dimension(0) != conv_w) || (output->info()->dimension(1) != conv_h), "Output shape does not match the expected one");