Update GEMM assembly kernels
- Introduce Fp32 kernels with internal calculations in Bfloat16 when
fast_mode is enabled
- Improve kernel selection heuristics
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I68a9e7e862b6fd2721b46e0d7cc791091c4ab279
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5965
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/cpu/kernels/assembly/gemm_common.hpp b/src/core/cpu/kernels/assembly/gemm_common.hpp
index 4af85ed..378f104 100644
--- a/src/core/cpu/kernels/assembly/gemm_common.hpp
+++ b/src/core/cpu/kernels/assembly/gemm_common.hpp
@@ -30,6 +30,9 @@
namespace arm_gemm
{
+// Avoid circular dependency with arm_gemm.hpp
+struct GemmConfig;
+
// Abstract class for the GEMM/GEMV functions.
//
// GEMM implementations may be "native" (never require any input
@@ -137,6 +140,10 @@
{
}
+ /*** Introspection interface ***/
+ /* Get the configuration of this GEMM */
+ virtual GemmConfig get_config() = 0;
+
// Destructor
virtual ~IGemmCommon()
{