aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CL/functions
diff options
context:
space:
mode:
authorManuel Bottini <manuel.bottini@arm.com>2021-04-08 12:50:12 +0100
committerManuel Bottini <manuel.bottini@arm.com>2021-04-14 10:37:16 +0000
commit21c28957f9c6fe1a28ef934e711bb7474b8d65ee (patch)
tree220293c48b9705ed8a9a828825503442f414672d /src/runtime/CL/functions
parent91b7f7423a97f0ae713a13182f289621dad17c43 (diff)
downloadComputeLibrary-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')
-rw-r--r--src/runtime/CL/functions/CLNormalizationLayer.cpp21
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