Fix OpenCL direct convolution
authorGian Marco Iodice <gianmarco.iodice@arm.com>
Mon, 1 Feb 2021 14:37:02 +0000 (14:37 +0000)
committerTeresaARM <teresa.charlinreyes@arm.com>
Wed, 3 Feb 2021 22:04:13 +0000 (22:04 +0000)
commit0841ca085301e8ddbc9627b2be55758b66437c15
tree346923c68946694ae164d890ee0e2d9346c9c39f
parent8d8a1c554d71e020526838bd65be0bb7fc9c8914
Fix OpenCL direct convolution

- The ARM DOT macro was using wrong variables for performing the dot
  product
- K0 could be a non power of 2 values when IFM was not a multiple of 16
- Refactor the test for direct convolution NHWC

Resolves COMPMID-4135, COMPMID-4155

Change-Id: I3a2dc89ef613ae20245cfc28e76ea36c55eaf81d
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4962
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: TeresaARM <teresa.charlinreyes@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
src/core/CL/cl_kernels/direct_convolution.cl
src/core/CL/kernels/CLDirectConvolutionLayerKernel.cpp
tests/datasets/ShapeDatasets.h
tests/validation/CL/DirectConvolutionLayer.cpp