aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/Helpers.cpp
diff options
context:
space:
mode:
authorGian Marco Iodice <gianmarco.iodice@arm.com>2021-06-29 10:08:46 +0100
committerGian Marco Iodice <gianmarco.iodice@arm.com>2021-06-29 14:09:52 +0000
commit72b56875b9bb30a9ed1d2ad38ec51fc88e435c35 (patch)
tree0ce37505da5cfd8a4b75000432d66e75a2b48a32 /tests/validation/Helpers.cpp
parent93b75e0c072c3cc5654fcdf6aed1068b40012081 (diff)
downloadComputeLibrary-72b56875b9bb30a9ed1d2ad38ec51fc88e435c35.tar.gz
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 <gianmarco.iodice@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5872 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/Helpers.cpp')
-rw-r--r--tests/validation/Helpers.cpp24
1 files changed, 24 insertions, 0 deletions
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<ITensor *> tensors, const DataLayout &d
}
}
+void add_padding_y(std::initializer_list<ITensor *> tensors, const DataLayout &data_layout)
+{
+ if(data_layout == DataLayout::NHWC)
+ {
+ constexpr unsigned int lower = 1U;
+ constexpr unsigned int upper = 4U;
+
+ std::uniform_int_distribution<unsigned int> 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<float> &in, SimpleTensor<float> &roi, const Coordinates &coord);
template void get_tile(const SimpleTensor<half> &in, SimpleTensor<half> &roi, const Coordinates &coord);
template void get_tile(const SimpleTensor<int> &in, SimpleTensor<int> &roi, const Coordinates &coord);