diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2021-04-08 12:50:12 +0100 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2021-04-14 10:37:16 +0000 |
commit | 21c28957f9c6fe1a28ef934e711bb7474b8d65ee (patch) | |
tree | 220293c48b9705ed8a9a828825503442f414672d /src/runtime/CL/functions/CLNormalizationLayer.cpp | |
parent | 91b7f7423a97f0ae713a13182f289621dad17c43 (diff) | |
download | ComputeLibrary-21c28957f9c6fe1a28ef934e711bb7474b8d65ee.tar.gz |
Remove OpenCL padding: CLNormalizationLayerKernel
Only for NHWC data layout
Resolves: COMPMID-3910
Change-Id: Ie2d71482b3e3b55ac155e9af152032a5de8bbd50
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5388
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/CL/functions/CLNormalizationLayer.cpp')
-rw-r--r-- | src/runtime/CL/functions/CLNormalizationLayer.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/runtime/CL/functions/CLNormalizationLayer.cpp b/src/runtime/CL/functions/CLNormalizationLayer.cpp index ec6fa803f5..12560f1b02 100644 --- a/src/runtime/CL/functions/CLNormalizationLayer.cpp +++ b/src/runtime/CL/functions/CLNormalizationLayer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Arm Limited. + * Copyright (c) 2017-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -33,8 +33,8 @@ #include "src/core/CL/kernels/CLFillBorderKernel.h" #include "src/core/CL/kernels/CLNormalizationLayerKernel.h" -using namespace arm_compute; - +namespace arm_compute +{ CLNormalizationLayer::CLNormalizationLayer() : _norm_kernel(std::make_unique<CLNormalizationLayerKernel>()), _border_handler(std::make_unique<CLFillBorderKernel>()) @@ -55,8 +55,11 @@ void CLNormalizationLayer::configure(const CLCompileContext &compile_context, IC // Configure normalization kernel _norm_kernel->configure(compile_context, input, output, norm_info); - // Fill the border by 3 elements since we need vload4 in the IN_MAP normalization kernel - _border_handler->configure(compile_context, input, _norm_kernel->border_size(), BorderMode::CONSTANT, PixelValue()); + if(!_norm_kernel->border_size().empty()) + { + // Fill the border by 3 elements since we need vload4 in the IN_MAP normalization kernel + _border_handler->configure(compile_context, input, _norm_kernel->border_size(), BorderMode::CONSTANT, PixelValue()); + } } Status CLNormalizationLayer::validate(const ITensorInfo *input, const ITensorInfo *output, const NormalizationLayerInfo &norm_info) @@ -66,9 +69,13 @@ Status CLNormalizationLayer::validate(const ITensorInfo *input, const ITensorInf void CLNormalizationLayer::run() { - // Run border handler - CLScheduler::get().enqueue(*_border_handler, false); + if(!_norm_kernel->border_size().empty()) + { + // Run border handler + CLScheduler::get().enqueue(*_border_handler, false); + } // Run normalization kernel CLScheduler::get().enqueue(*_norm_kernel); } +} // namespace arm_compute
\ No newline at end of file |