From 72b56875b9bb30a9ed1d2ad38ec51fc88e435c35 Mon Sep 17 00:00:00 2001 From: Gian Marco Iodice Date: Tue, 29 Jun 2021 10:08:46 +0100 Subject: Enable global pooling optimization on OpenCL - Add loop unrolling on X and use POOL_X and POOL_Y defines for the for loop Resolves COMPMID-4573 Change-Id: I33cb825cfb55912ccb0ab9d03bd33a3dab4c8b44 Signed-off-by: Gian Marco Iodice Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5872 Reviewed-by: Georgios Pinitas Reviewed-by: Giorgio Arena Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins --- tests/validation/Helpers.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests/validation/Helpers.cpp') diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp index 0f5d5c5101..237a5a517c 100644 --- a/tests/validation/Helpers.cpp +++ b/tests/validation/Helpers.cpp @@ -349,6 +349,30 @@ void add_padding_x(std::initializer_list tensors, const DataLayout &d } } +void add_padding_y(std::initializer_list tensors, const DataLayout &data_layout) +{ + if(data_layout == DataLayout::NHWC) + { + constexpr unsigned int lower = 1U; + constexpr unsigned int upper = 4U; + + std::uniform_int_distribution distribution(lower, upper); + size_t seed_offset = 0; + + for(ITensor *tensor : tensors) + { + ARM_COMPUTE_ERROR_ON(!tensor->info()->is_resizable()); + + std::mt19937 gen(library->seed() + seed_offset++); + + const unsigned int top = distribution(gen); + const unsigned int bottom = distribution(gen); + + tensor->info()->extend_padding(PaddingSize(top, 0U, bottom, 0U)); + } + } +} + template void get_tile(const SimpleTensor &in, SimpleTensor &roi, const Coordinates &coord); template void get_tile(const SimpleTensor &in, SimpleTensor &roi, const Coordinates &coord); template void get_tile(const SimpleTensor &in, SimpleTensor &roi, const Coordinates &coord); -- cgit v1.2.1