aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2019-08-05 12:22:37 +0100
committerPablo Marquez <pablo.tello@arm.com>2019-08-06 12:09:13 +0000
commit7786f2590933b8140c9e0432de5cf46b6b90a498 (patch)
treeab17635f3300bd41a3faf05522259ac493079fb0
parenta7acb3cbabeb66ce647684466a04c96b2963c9c9 (diff)
downloadComputeLibrary-7786f2590933b8140c9e0432de5cf46b6b90a498.tar.gz
COMPMID-2526: Disabled Winograd when padding > half_kernel_size
Change-Id: Id7b2d5dd4a0af2f914ee2bb35f27c07a43e2baca Signed-off-by: Pablo Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/1688 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
-rw-r--r--src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp
index 3b44c22a27..a5db977371 100644
--- a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp
+++ b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp
@@ -158,6 +158,9 @@ Status CLWinogradConvolutionLayer::validate(const ITensorInfo *input, const ITen
const Size2D kernel_size = Size2D(weights->tensor_shape()[idx_width], weights->tensor_shape()[idx_height]);
const Size2D output_tile = winograd_output_tile(input_dims, kernel_size, input->data_layout());
+ ARM_COMPUTE_RETURN_ERROR_ON_MSG(((conv_info.pad_left() > (kernel_size.x() / 2u)) || (conv_info.pad_right() > (kernel_size.x() / 2u))), "Winograd only supports padding up to half kernel size");
+ ARM_COMPUTE_RETURN_ERROR_ON_MSG(((conv_info.pad_top() > (kernel_size.y() / 2u)) || (conv_info.pad_bottom() > (kernel_size.y() / 2u))), "Winograd only supports padding up to half kernel size");
+
// Check if the Winograd configuration requires fast math
if(!enable_fast_math)
{