aboutsummaryrefslogtreecommitdiff
path: root/src/core/CL/kernels/CLPoolingLayerKernel.cpp
diff options
context:
space:
mode:
authorsteniu01 <steven.niu@arm.com>2017-07-13 14:03:35 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:16:42 +0100
commitf70256bd46f03090281581c152bd17b4a50febcd (patch)
treeaa960b02ba38d5f16dad337ab4c0b88617d616f0 /src/core/CL/kernels/CLPoolingLayerKernel.cpp
parent0d523cccb549e4ff9dd231d033d612391ca31c85 (diff)
downloadComputeLibrary-f70256bd46f03090281581c152bd17b4a50febcd.tar.gz
COMPMID-443 Collapse higher dimension for pooling layer and normalization layer
Change-Id: Icd08eefbd938c11c77dc4264af1fa3664fb336bc Reviewed-on: http://mpd-gerrit.cambridge.arm.com/80568 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/core/CL/kernels/CLPoolingLayerKernel.cpp')
-rw-r--r--src/core/CL/kernels/CLPoolingLayerKernel.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/CL/kernels/CLPoolingLayerKernel.cpp b/src/core/CL/kernels/CLPoolingLayerKernel.cpp
index 3777e3bb49..ca75fd56fb 100644
--- a/src/core/CL/kernels/CLPoolingLayerKernel.cpp
+++ b/src/core/CL/kernels/CLPoolingLayerKernel.cpp
@@ -167,7 +167,8 @@ void CLPoolingLayerKernel::run(const Window &window, cl::CommandQueue &queue)
std::tie(pool_pad_x, pool_pad_y) = _pool_info.pad_stride_info().pad();
std::tie(pool_stride_x, pool_stride_y) = _pool_info.pad_stride_info().stride();
- Window slice = window.first_slice_window_3D();
+ Window window_collapsed = window.collapse_if_possible(ICLKernel::window(), Window::DimZ);
+ Window slice = window_collapsed.first_slice_window_3D();
do
{
@@ -182,5 +183,5 @@ void CLPoolingLayerKernel::run(const Window &window, cl::CommandQueue &queue)
add_3D_tensor_argument(idx, _output, slice);
enqueue(queue, *this, slice);
}
- while(window.slide_window_slice_3D(slice));
+ while(window_collapsed.slide_window_slice_3D(slice));
}