aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2019-06-27 17:00:52 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2019-07-26 11:55:15 +0000
commitcfa2bba98169cb5ab1945462514be1b6badf7d98 (patch)
tree1635e6e9463e9798c7195f0aa71b5df3f2650df1 /src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp
parentf59b16f42ef68bde877b70816ffb953d64c8baa3 (diff)
downloadComputeLibrary-cfa2bba98169cb5ab1945462514be1b6badf7d98.tar.gz
COMPMID-2178: Update GEMM assembly code.
Perform offset reduction and requantization within the assembly wrapper. Change-Id: I5d5b3e1f6f9ef4c71805362c57f88ff199c027a3 Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-on: https://review.mlplatform.org/c/1541 Comments-Addressed: Pablo Marquez <pablo.tello@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp')
-rw-r--r--src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp13
1 files changed, 6 insertions, 7 deletions
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<float, float> 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<float, float> gemm_fp32_methods[] =
},
#ifdef __ARM_FEATURE_SVE
- {
+{
GemmMethod::GEMM_INTERLEAVED,
"interleaved_fp32_mla_3VLx8",
[](const GemmArgs<float> &args) { return (args._Ksize>4); },
@@ -146,7 +146,7 @@ static const GemmImplementation<float, float> gemm_fp32_methods[] =
#endif // __aarch64__
#ifdef __arm__
- {
+{
GemmMethod::GEMM_INTERLEAVED,
"sgemm_8x6",
nullptr,
@@ -170,9 +170,8 @@ const GemmImplementation<float, float> *gemm_implementation_list<float, float>()
}
/* Explicitly instantiate the external functions for these types. */
-template UniqueGemmCommon<float, float> gemm<float, float>(const GemmArgs<float> &args);
-template KernelDescription get_gemm_method<float, float>(const GemmArgs<float> &args);
-template bool method_is_compatible<float, float>(GemmMethod method, const GemmArgs<float> &args);
-template std::vector<KernelDescription> get_compatible_kernels<float, float> (const GemmArgs<float> &args);
+template UniqueGemmCommon<float, float> gemm<float, float, Nothing>(const GemmArgs<float> &args, const Nothing &);
+template KernelDescription get_gemm_method<float, float, Nothing>(const GemmArgs<float> &args, const Nothing &);
+template std::vector<KernelDescription> get_compatible_kernels<float, float, Nothing> (const GemmArgs<float> &args, const Nothing &);
} // namespace arm_gemm