aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/convolution
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2018-02-19 16:46:03 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:47:18 +0000
commitd267b05aaaec9b462a8c988c7b5fcebd5776c72f (patch)
treea069b62f1294a07c6190d0e043ecdba6f7a2a27c /src/core/NEON/kernels/convolution
parent1fbb8120aa4f5ea2e73393421611ffea803a05b4 (diff)
downloadComputeLibrary-d267b05aaaec9b462a8c988c7b5fcebd5776c72f.tar.gz
COMPMID-784: Fixed SAME paddding in WinogradLayer
There were mismatches when using kernel size 5 and padding = SAME Change-Id: Id834e96ebcf665616f99c995b48e302dcff8dc48 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/121144 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/convolution')
-rw-r--r--src/core/NEON/kernels/convolution/winograd/transforms/input_2x2_5x5_fp32.cpp156
1 files changed, 78 insertions, 78 deletions
diff --git a/src/core/NEON/kernels/convolution/winograd/transforms/input_2x2_5x5_fp32.cpp b/src/core/NEON/kernels/convolution/winograd/transforms/input_2x2_5x5_fp32.cpp
index d9ebe8b7cd..fd30b6118e 100644
--- a/src/core/NEON/kernels/convolution/winograd/transforms/input_2x2_5x5_fp32.cpp
+++ b/src/core/NEON/kernels/convolution/winograd/transforms/input_2x2_5x5_fp32.cpp
@@ -21,7 +21,6 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
#include "arm_compute/core/NEON/kernels/convolution/winograd/transforms/input.hpp"
#include "arm_compute/core/NEON/kernels/convolution/winograd/winograd_gemm.hpp"
#include "arm_compute/core/NEON/kernels/convolution/common/arm.hpp"
@@ -35,6 +34,7 @@ template <>
template <>
int Transform::ops_performed(const Tensor4DShape &input_shape)
{
+ (void) input_shape;
return 0; // TODO
}
@@ -45,8 +45,8 @@ int Transform::ops_performed(const Tensor4DShape &input_shape)
* different padding combinations which may be required. These padding
* constraints are the space:
*
-* Padding top in {0, 1}
-* Padding left in {0, 1}
+* Padding top in {0, 2}
+* Padding left in {0, 2}
* Padding bottom in {0, 1, 2, 3, 4}
* Padding right in {0, 1, 2, 3, 4}
*/
@@ -340,115 +340,115 @@ const Transform::TileFn Transform::tile_fns[2][2][max_pad_bottom][max_pad_right]
},
{
{
- Transform::template process_tile<0, 1, 0, 0>, // Left
- Transform::template process_tile<0, 1, 0, 1>,
- Transform::template process_tile<0, 1, 0, 2>,
- Transform::template process_tile<0, 1, 0, 3>,
- Transform::template process_tile<0, 1, 0, 4>,
+ Transform::template process_tile<0, 2, 0, 0>, // Left
+ Transform::template process_tile<0, 2, 0, 1>,
+ Transform::template process_tile<0, 2, 0, 2>,
+ Transform::template process_tile<0, 2, 0, 3>,
+ Transform::template process_tile<0, 2, 0, 4>,
},
{
- Transform::template process_tile<0, 1, 1, 0>, // Bottom left
- Transform::template process_tile<0, 1, 1, 1>,
- Transform::template process_tile<0, 1, 1, 2>,
- Transform::template process_tile<0, 1, 1, 3>,
- Transform::template process_tile<0, 1, 1, 4>,
+ Transform::template process_tile<0, 2, 1, 0>, // Bottom left
+ Transform::template process_tile<0, 2, 1, 1>,
+ Transform::template process_tile<0, 2, 1, 2>,
+ Transform::template process_tile<0, 2, 1, 3>,
+ Transform::template process_tile<0, 2, 1, 4>,
},
{
- Transform::template process_tile<0, 1, 2, 0>, // " "
- Transform::template process_tile<0, 1, 2, 1>,
- Transform::template process_tile<0, 1, 2, 2>,
- Transform::template process_tile<0, 1, 2, 3>,
- Transform::template process_tile<0, 1, 2, 4>,
+ Transform::template process_tile<0, 2, 2, 0>, // " "
+ Transform::template process_tile<0, 2, 2, 1>,
+ Transform::template process_tile<0, 2, 2, 2>,
+ Transform::template process_tile<0, 2, 2, 3>,
+ Transform::template process_tile<0, 2, 2, 4>,
},
{
- Transform::template process_tile<0, 1, 3, 0>, // " "
- Transform::template process_tile<0, 1, 3, 1>,
- Transform::template process_tile<0, 1, 3, 2>,
- Transform::template process_tile<0, 1, 3, 3>,
- Transform::template process_tile<0, 1, 3, 4>,
+ Transform::template process_tile<0, 2, 3, 0>, // " "
+ Transform::template process_tile<0, 2, 3, 1>,
+ Transform::template process_tile<0, 2, 3, 2>,
+ Transform::template process_tile<0, 2, 3, 3>,
+ Transform::template process_tile<0, 2, 3, 4>,
},
{
- Transform::template process_tile<0, 1, 4, 0>, // " "
- Transform::template process_tile<0, 1, 4, 1>,
- Transform::template process_tile<0, 1, 4, 2>,
- Transform::template process_tile<0, 1, 4, 3>,
- Transform::template process_tile<0, 1, 4, 4>,
+ Transform::template process_tile<0, 2, 4, 0>, // " "
+ Transform::template process_tile<0, 2, 4, 1>,
+ Transform::template process_tile<0, 2, 4, 2>,
+ Transform::template process_tile<0, 2, 4, 3>,
+ Transform::template process_tile<0, 2, 4, 4>,
}
}
},
{
{
{
- Transform::template process_tile<1, 0, 0, 0>, // Top
- Transform::template process_tile<1, 0, 0, 1>, // Top right
- Transform::template process_tile<1, 0, 0, 2>, // " "
- Transform::template process_tile<1, 0, 0, 3>, // " "
- Transform::template process_tile<1, 0, 0, 4>, // " "
+ Transform::template process_tile<2, 0, 0, 0>, // Top
+ Transform::template process_tile<2, 0, 0, 1>, // Top right
+ Transform::template process_tile<2, 0, 0, 2>, // " "
+ Transform::template process_tile<2, 0, 0, 3>, // " "
+ Transform::template process_tile<2, 0, 0, 4>, // " "
},
{
- Transform::template process_tile<1, 0, 1, 0>,
- Transform::template process_tile<1, 0, 1, 1>,
- Transform::template process_tile<1, 0, 1, 2>,
- Transform::template process_tile<1, 0, 1, 3>,
- Transform::template process_tile<1, 0, 1, 4>,
+ Transform::template process_tile<2, 0, 1, 0>,
+ Transform::template process_tile<2, 0, 1, 1>,
+ Transform::template process_tile<2, 0, 1, 2>,
+ Transform::template process_tile<2, 0, 1, 3>,
+ Transform::template process_tile<2, 0, 1, 4>,
},
{
- Transform::template process_tile<1, 0, 2, 0>,
- Transform::template process_tile<1, 0, 2, 1>,
- Transform::template process_tile<1, 0, 2, 2>,
- Transform::template process_tile<1, 0, 2, 3>,
- Transform::template process_tile<1, 0, 2, 4>,
+ Transform::template process_tile<2, 0, 2, 0>,
+ Transform::template process_tile<2, 0, 2, 1>,
+ Transform::template process_tile<2, 0, 2, 2>,
+ Transform::template process_tile<2, 0, 2, 3>,
+ Transform::template process_tile<2, 0, 2, 4>,
},
{
- Transform::template process_tile<1, 0, 3, 0>,
- Transform::template process_tile<1, 0, 3, 1>,
- Transform::template process_tile<1, 0, 3, 2>,
- Transform::template process_tile<1, 0, 3, 3>,
- Transform::template process_tile<1, 0, 3, 4>,
+ Transform::template process_tile<2, 0, 3, 0>,
+ Transform::template process_tile<2, 0, 3, 1>,
+ Transform::template process_tile<2, 0, 3, 2>,
+ Transform::template process_tile<2, 0, 3, 3>,
+ Transform::template process_tile<2, 0, 3, 4>,
},
{
- Transform::template process_tile<1, 0, 4, 0>,
- Transform::template process_tile<1, 0, 4, 1>,
- Transform::template process_tile<1, 0, 4, 2>,
- Transform::template process_tile<1, 0, 4, 3>,
- Transform::template process_tile<1, 0, 4, 4>,
+ Transform::template process_tile<2, 0, 4, 0>,
+ Transform::template process_tile<2, 0, 4, 1>,
+ Transform::template process_tile<2, 0, 4, 2>,
+ Transform::template process_tile<2, 0, 4, 3>,
+ Transform::template process_tile<2, 0, 4, 4>,
},
},
{
{
- Transform::template process_tile<1, 1, 0, 0>, // Top left
- Transform::template process_tile<1, 1, 0, 1>,
- Transform::template process_tile<1, 1, 0, 2>,
- Transform::template process_tile<1, 1, 0, 3>,
- Transform::template process_tile<1, 1, 0, 4>,
+ Transform::template process_tile<2, 2, 0, 0>, // Top left
+ Transform::template process_tile<2, 2, 0, 1>,
+ Transform::template process_tile<2, 2, 0, 2>,
+ Transform::template process_tile<2, 2, 0, 3>,
+ Transform::template process_tile<2, 2, 0, 4>,
},
{
- Transform::template process_tile<1, 1, 1, 0>,
- Transform::template process_tile<1, 1, 1, 1>,
- Transform::template process_tile<1, 1, 1, 2>,
- Transform::template process_tile<1, 1, 1, 3>,
- Transform::template process_tile<1, 1, 1, 4>,
+ Transform::template process_tile<2, 2, 1, 0>,
+ Transform::template process_tile<2, 2, 1, 1>,
+ Transform::template process_tile<2, 2, 1, 2>,
+ Transform::template process_tile<2, 2, 1, 3>,
+ Transform::template process_tile<2, 2, 1, 4>,
},
{
- Transform::template process_tile<1, 1, 2, 0>,
- Transform::template process_tile<1, 1, 2, 1>,
- Transform::template process_tile<1, 1, 2, 2>,
- Transform::template process_tile<1, 1, 2, 3>,
- Transform::template process_tile<1, 1, 2, 4>,
+ Transform::template process_tile<2, 2, 2, 0>,
+ Transform::template process_tile<2, 2, 2, 1>,
+ Transform::template process_tile<2, 2, 2, 2>,
+ Transform::template process_tile<2, 2, 2, 3>,
+ Transform::template process_tile<2, 2, 2, 4>,
},
{
- Transform::template process_tile<1, 1, 3, 0>,
- Transform::template process_tile<1, 1, 3, 1>,
- Transform::template process_tile<1, 1, 3, 2>,
- Transform::template process_tile<1, 1, 3, 3>,
- Transform::template process_tile<1, 1, 3, 4>,
+ Transform::template process_tile<2, 2, 3, 0>,
+ Transform::template process_tile<2, 2, 3, 1>,
+ Transform::template process_tile<2, 2, 3, 2>,
+ Transform::template process_tile<2, 2, 3, 3>,
+ Transform::template process_tile<2, 2, 3, 4>,
},
{
- Transform::template process_tile<1, 1, 4, 0>,
- Transform::template process_tile<1, 1, 4, 1>,
- Transform::template process_tile<1, 1, 4, 2>,
- Transform::template process_tile<1, 1, 4, 3>,
- Transform::template process_tile<1, 1, 4, 4>,
+ Transform::template process_tile<2, 2, 4, 0>,
+ Transform::template process_tile<2, 2, 4, 1>,
+ Transform::template process_tile<2, 2, 4, 2>,
+ Transform::template process_tile<2, 2, 4, 3>,
+ Transform::template process_tile<2, 2, 4, 4>,
}
}
}