diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2018-07-06 12:59:28 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:10 +0000 |
commit | d28b751cf2ba9fcf4ccf294b31bf9d2ec5dfd8bb (patch) | |
tree | 111a96797e6b1cd20a2db7088e5fc4cd1903ff02 /arm_compute/core/CL | |
parent | 98f085bf87d55bff3866963e8220cfcb4872709f (diff) | |
download | ComputeLibrary-d28b751cf2ba9fcf4ccf294b31bf9d2ec5dfd8bb.tar.gz |
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 <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/core/CL')
3 files changed, 18 insertions, 12 deletions
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. |