From 3bfacb24a9b6eced921027fd1c1e3cb3757db9c7 Mon Sep 17 00:00:00 2001 From: giuros01 Date: Mon, 1 Apr 2019 12:07:02 +0100 Subject: COMPMID-1318: Implementing Winograd 7x7 NHWC on OpenCL - Part III Change-Id: I7ebf09cc12fb117834faf88cdd556d2a66eacf07 Signed-off-by: giuros01 Reviewed-on: https://review.mlplatform.org/c/926 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Gian Marco Iodice --- src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/runtime/CL') 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 fast_math_winograd = { - WinogradConfiguration(std::pair(4, 4), std::pair(5, 5)) + WinogradConfiguration(std::pair(4, 4), std::pair(5, 5)), + WinogradConfiguration(std::pair(2, 2), std::pair(7, 7)) }; auto p = std::make_pair(std::pair(output_tile.width, output_tile.height), -- cgit v1.2.1