From cfa2bba98169cb5ab1945462514be1b6badf7d98 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Thu, 27 Jun 2019 17:00:52 +0100 Subject: COMPMID-2178: Update GEMM assembly code. Perform offset reduction and requantization within the assembly wrapper. Change-Id: I5d5b3e1f6f9ef4c71805362c57f88ff199c027a3 Signed-off-by: Georgios Pinitas Reviewed-on: https://review.mlplatform.org/c/1541 Comments-Addressed: Pablo Marquez Reviewed-by: Gian Marco Iodice Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp') diff --git a/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp b/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp index 6869279bb9..dedcdb7655 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp @@ -73,7 +73,7 @@ static const GemmImplementation gemm_fp32_methods[] = }, #ifdef __ARM_FEATURE_SVE - // SVE smallk / native / hybrid methods +// SVE smallk / native / hybrid methods { GemmMethod::GEMM_HYBRID, "smallK_hybrid_fp32_mla_1VLx4", @@ -128,7 +128,7 @@ static const GemmImplementation gemm_fp32_methods[] = }, #ifdef __ARM_FEATURE_SVE - { +{ GemmMethod::GEMM_INTERLEAVED, "interleaved_fp32_mla_3VLx8", [](const GemmArgs &args) { return (args._Ksize>4); }, @@ -146,7 +146,7 @@ static const GemmImplementation gemm_fp32_methods[] = #endif // __aarch64__ #ifdef __arm__ - { +{ GemmMethod::GEMM_INTERLEAVED, "sgemm_8x6", nullptr, @@ -170,9 +170,8 @@ const GemmImplementation *gemm_implementation_list() } /* Explicitly instantiate the external functions for these types. */ -template UniqueGemmCommon gemm(const GemmArgs &args); -template KernelDescription get_gemm_method(const GemmArgs &args); -template bool method_is_compatible(GemmMethod method, const GemmArgs &args); -template std::vector get_compatible_kernels (const GemmArgs &args); +template UniqueGemmCommon gemm(const GemmArgs &args, const Nothing &); +template KernelDescription get_gemm_method(const GemmArgs &args, const Nothing &); +template std::vector get_compatible_kernels (const GemmArgs &args, const Nothing &); } // namespace arm_gemm -- cgit v1.2.1