diff options
author | giuros01 <giuseppe.rossini@arm.com> | 2019-04-01 12:07:02 +0100 |
---|---|---|
committer | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2019-04-03 09:15:23 +0000 |
commit | 3bfacb24a9b6eced921027fd1c1e3cb3757db9c7 (patch) | |
tree | 98b1923502bd5623e283ad59261e95890427214a /src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp | |
parent | dbfc2dc182f90af5cad6fc283fff817ac7258a19 (diff) | |
download | ComputeLibrary-3bfacb24a9b6eced921027fd1c1e3cb3757db9c7.tar.gz |
COMPMID-1318: Implementing Winograd 7x7 NHWC on OpenCL - Part III
Change-Id: I7ebf09cc12fb117834faf88cdd556d2a66eacf07
Signed-off-by: giuros01 <giuseppe.rossini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/926
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp')
-rw-r--r-- | src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp index 069196e8c1..57c66f8a22 100644 --- a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -62,6 +62,11 @@ Size2D winograd_output_tile(const Size2D &input_dims, const Size2D &kernel_dims, output_tile = Size2D(kernel_dims.width == 1 ? 1U : 4U, kernel_dims.height == 1 ? 1U : 4U); } + else if(kernel_max_dim == 7U) + { + output_tile = Size2D(kernel_dims.width == 1 ? 1U : 7U, + kernel_dims.height == 1 ? 1U : 7U); + } return output_tile; } @@ -73,7 +78,8 @@ bool check_support_fast_math(const Size2D &output_tile, const Size2D &kernel_siz std::vector<WinogradConfiguration> fast_math_winograd = { - WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)) + WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)), + WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(7, 7)) }; auto p = std::make_pair(std::pair<int, int>(output_tile.width, output_tile.height), |