COMPMID-3925: Dispatch CLGEMM with no padding y requirement
authorGian Marco Iodice <gianmarco.iodice@arm.com>
Thu, 22 Oct 2020 15:37:12 +0000 (16:37 +0100)
committerGian Marco Iodice <gianmarco.iodice@arm.com>
Mon, 26 Oct 2020 14:46:44 +0000 (14:46 +0000)
commit9ae06d4986bc3055f7786c1097b465bd321cf8eb
treeadb50e965f860893fe83e3937026056bf1f054c9
parent5f91041aef3eb7373d5d2cebcbe60f279da85904
COMPMID-3925: Dispatch CLGEMM with no padding y requirement

- Add has_pad_y flag in GEMMKernelInfo
- Skip reinterpret as 3D in CLGEMMMatrixMultiplyReshapedOnlyRHSKernel if
  has_pad_y = false
- Add test to validate CLGEMMMatrixMultiplyReshapedOnlyRHSkernel with
  had_pad_y = false/true
- Configure two variants of CLGEMMMatrixMultiplyReshapedOnlyRHSKernel to
  run with has_pad_y = false/true in CLGEMM
- Check if the lhs/dst tensors have pad y. If not, run
  CLGEMMMatrixMultiplyReshapedOnlyRHSKernel without padding requirement

Change-Id: I68bb43389789736d676b899ac7c77fd9138babaf
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4248
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
arm_compute/core/CL/kernels/CLGEMMMatrixMultiplyReshapedOnlyRHSKernel.h
arm_compute/core/KernelDescriptors.h
arm_compute/runtime/CL/functions/CLGEMM.h
src/core/CL/cl_kernels/gemm.cl
src/core/CL/cl_kernels/gemm_helpers.h
src/core/CL/cl_kernels/gemmlowp.cl
src/core/CL/kernels/CLGEMMMatrixMultiplyReshapedOnlyRHSKernel.cpp
src/runtime/CL/functions/CLGEMM.cpp
tests/validation/CL/GEMMMatrixMultiplyReshaped.cpp
tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp
tests/validation/fixtures/GEMMFixture.h