From d28b751cf2ba9fcf4ccf294b31bf9d2ec5dfd8bb Mon Sep 17 00:00:00 2001 From: Gian Marco Iodice Date: Fri, 6 Jul 2018 12:59:28 +0100 Subject: COMPMID-1340 - Implementing Winograd Convolution Layer 1x5/5x1 on OpenCL NHWC Change-Id: Id5e0795238f77c049df9c109dafc5ef878c1897d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139234 Tested-by: Jenkins Reviewed-by: Giorgio Arena Reviewed-by: Anthony Barbier --- arm_compute/core/CL/kernels/CLWinogradFilterTransformKernel.h | 10 ++++++---- arm_compute/core/CL/kernels/CLWinogradInputTransformKernel.h | 10 ++++++---- arm_compute/core/CL/kernels/CLWinogradOutputTransformKernel.h | 10 ++++++---- 3 files changed, 18 insertions(+), 12 deletions(-) (limited to 'arm_compute/core/CL') diff --git a/arm_compute/core/CL/kernels/CLWinogradFilterTransformKernel.h b/arm_compute/core/CL/kernels/CLWinogradFilterTransformKernel.h index 9d0833d695..62f55fa91e 100644 --- a/arm_compute/core/CL/kernels/CLWinogradFilterTransformKernel.h +++ b/arm_compute/core/CL/kernels/CLWinogradFilterTransformKernel.h @@ -54,8 +54,9 @@ public: * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) * * @note Winograd filter transform supports the following configurations for NHWC data layout - * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3) - * F(4x4, 5x5) + * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), + * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) + * * Strides: only unit strides * * @param[in] input Source tensor. The input is a 4D tensor with dimensions [kernel_x, kernel_y, IFM, OFM] (NCHW data layout) or [IFM, kernel_x, kernel_y, OFM] (NHWC data layout). Data types supported: F32. @@ -71,8 +72,9 @@ public: * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) * * @note Winograd filter transform supports the following configurations for NHWC data layout - * F(output tile, kernel size):F(4x4, 3x3), - * F(4x4, 5x5) + * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), + * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) + * * Strides: only unit strides * * @param[in] input Source tensor. The input is a 4D tensor with dimensions [kernel_x, kernel_y, IFM, OFM] (NCHW data layout) or [IFM, kernel_x, kernel_y, OFM] (NHWC data layout). Data types supported: F32. diff --git a/arm_compute/core/CL/kernels/CLWinogradInputTransformKernel.h b/arm_compute/core/CL/kernels/CLWinogradInputTransformKernel.h index 410e8ba765..517b348ffb 100644 --- a/arm_compute/core/CL/kernels/CLWinogradInputTransformKernel.h +++ b/arm_compute/core/CL/kernels/CLWinogradInputTransformKernel.h @@ -52,8 +52,9 @@ public: * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) * * @note Winograd input transform supports the following configurations for NHWC data layout - * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3) - * F(4x4, 5x5) + * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), + * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) + * * Strides: only unit strides * * @param[in] input The input tensor to transform. Data types supported: F32 @@ -69,8 +70,9 @@ public: * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) * * @note Winograd input transform supports the following configurations for NHWC data layout - * F(output tile, kernel size):F(4x4, 3x3), - * F(4x4, 5x5) + * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), + * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) + * * Strides: only unit strides * * @param[in] input The input tensor to transform. Data types supported: F32 diff --git a/arm_compute/core/CL/kernels/CLWinogradOutputTransformKernel.h b/arm_compute/core/CL/kernels/CLWinogradOutputTransformKernel.h index 0798172ba7..bab93de4b0 100644 --- a/arm_compute/core/CL/kernels/CLWinogradOutputTransformKernel.h +++ b/arm_compute/core/CL/kernels/CLWinogradOutputTransformKernel.h @@ -54,8 +54,9 @@ public: * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) * * @note Winograd output transform supports the following configurations for NHWC data layout - * F(output tile, kernel size):F(4x4, 3x3), - * F(4x4, 5x5) + * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), + * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) + * * Strides: only unit strides * * @param[in] input Source tensor with shape [C, N, K, batches]. Data types supported: F32. @@ -72,8 +73,9 @@ public: * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) * * @note Winograd output transform supports the following configurations for NHWC data layout - * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3) - * F(4x4, 5x5) + * F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), + * F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5) + * * Strides: only unit strides * * @param[in] input Source tensor with shape [C, N, K, batches]. Data types supported: F32. -- cgit v1.2.1