diff options
author | Isabella Gottardi <isabella.gottardi@arm.com> | 2018-01-18 15:50:39 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:45:00 +0000 |
commit | e6630e4063fc3aa4312a2c8d094318b09ad2c3f5 (patch) | |
tree | 39ae08686fc3201fd094e3f84b8dd9abd5bf07ea /src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp | |
parent | b99d57df435ec1f2a775b3b06a44a68a2aac8df9 (diff) | |
download | ComputeLibrary-e6630e4063fc3aa4312a2c8d094318b09ad2c3f5.tar.gz |
COMPMID-790 - NEON: Add QASYMM8 support to Convolution
Change-Id: Iec82a91ad351cfe8d07d0976a24bd42f4703177a
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/116833
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp')
-rw-r--r-- | src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp b/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp index 2f8afd8b06..12755a45f8 100644 --- a/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp +++ b/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -30,6 +30,7 @@ #include "arm_compute/core/Types.h" #include "arm_compute/core/Validate.h" #include "arm_compute/core/Window.h" +#include "arm_compute/core/utils/misc/ShapeCalculator.h" #include <arm_neon.h> #include <cstddef> @@ -37,6 +38,7 @@ #include <tuple> using namespace arm_compute; +using namespace arm_compute::misc::shape_calculator; namespace { @@ -178,12 +180,8 @@ void NEGEMMInterleave4x4Kernel::configure(const ITensor *input, ITensor *output) { ARM_COMPUTE_ERROR_ON_NULLPTR(input, output); - TensorShape output_shape = input->info()->tensor_shape(); - output_shape.set(0, input->info()->dimension(0) * 4); - output_shape.set(1, std::ceil(input->info()->dimension(1) / 4.0f)); - // Output auto inizialitation if not yet initialized - auto_init_if_empty(*output->info(), output_shape, 1, input->info()->data_type(), input->info()->fixed_point_position()); + auto_init_if_empty(*output->info(), input->info()->clone()->set_tensor_shape(compute_interleaved_shape(*input->info()))); // Perform validate step ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(input->info(), output->info())); |