COMPMID-3428: Fixed Mali-G77 heuristic for GEMMReshapedOnlyRHS - f16
authorGian Marco Iodice <gianmarco.iodice@arm.com>
Tue, 5 May 2020 14:10:21 +0000 (15:10 +0100)
committerGian Marco Iodice <gianmarco.iodice@arm.com>
Tue, 5 May 2020 16:26:36 +0000 (16:26 +0000)
Change-Id: Ie1f021235edf3d60171a252d519c53df2d7fb0c6
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3146
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>

src/core/CL/gemm/reshaped_only_rhs/CLGEMMReshapedOnlyRHSKernelConfigurationValhall.cpp

index 783d0fe91b8ae7bea65848fc355396a278944507..5526616001b337be04630bf5db4f11c39bdb1cd1 100644 (file)
@@ -112,7 +112,7 @@ std::pair<GEMMLHSMatrixInfo, GEMMRHSMatrixInfo> CLGEMMReshapedOnlyRHSKernelConfi
         const int h0 = std::max(std::min(static_cast<int>(n / 4), static_cast<int>(256)), static_cast<int>(1));
         return configure_lhs_rhs_info(m, n, 1, 4, 4, 1, h0, false, true, false, true);
     }
-    else
+    else if (m < 128)
     {
         const int h0 = std::max(std::min(static_cast<int>(n / 4), static_cast<int>(256)), static_cast<int>(1));
         if(k > 512)
@@ -124,6 +124,11 @@ std::pair<GEMMLHSMatrixInfo, GEMMRHSMatrixInfo> CLGEMMReshapedOnlyRHSKernelConfi
             return configure_lhs_rhs_info(m, n, 2, 4, 8, 1, h0, false, true, false, false);
         }
     }
+    else
+    {
+        const int h0 = std::max(std::min(static_cast<int>(n / 4), static_cast<int>(256)), static_cast<int>(1));
+        return configure_lhs_rhs_info(m, n, 4, 4, 4, 1, h0, false, true, false, false);
+    }
 }
 
 std::pair<GEMMLHSMatrixInfo, GEMMRHSMatrixInfo> CLGEMMReshapedOnlyRHSKernelConfigurationValhall::configure_G77_u8(unsigned int m, unsigned int n, unsigned int k, unsigned int b)