COMPMID-3459: Updated heuristic in CLGEMMReshapedOnlyRHSKernel
authorGian Marco Iodice <gianmarco.iodice@arm.com>
Thu, 7 May 2020 09:26:15 +0000 (10:26 +0100)
committerGian Marco Iodice <gianmarco.iodice@arm.com>
Thu, 7 May 2020 11:57:50 +0000 (11:57 +0000)
Change-Id: Ib958649d0193c148f45d72404da21d3f02dc5183
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3154
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
src/core/CL/gemm/reshaped_only_rhs/CLGEMMReshapedOnlyRHSKernelConfigurationValhall.cpp

index d93a912c0dee1479d5a1e1a820d8e37a889054c3..819a297a2f8718834a5d02ec3c139a1d26f6419c 100644 (file)
@@ -135,7 +135,21 @@ std::pair<GEMMLHSMatrixInfo, GEMMRHSMatrixInfo> CLGEMMReshapedOnlyRHSKernelConfi
     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);
+        if(n >= 64)
+        {
+            return configure_lhs_rhs_info(m, n, 4, 4, 4, 1, h0, false, true, false, false);
+        }
+        else
+        {
+            if(k >= 512)
+            {
+                return configure_lhs_rhs_info(m, n, 2, 4, 16, 1, h0, false, true, false, false);
+            }
+            else
+            {
+                return configure_lhs_rhs_info(m, n, 2, 4, 8, 1, h0, false, true, false, false);
+            }
+        }
     }
 }