aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGian Marco Iodice <gianmarco.iodice@arm.com>2020-05-19 14:12:27 +0100
committerGian Marco Iodice <gianmarco.iodice@arm.com>2020-05-20 09:57:20 +0000
commit463f976813a99b1eda347c619c6b7baf098757b8 (patch)
tree358f45661e38f47825b9fd5cdf63c1d6a2f6262b /src/core
parentdc4a63689de91293fd74ad0d36d1a0f5c8a49d41 (diff)
downloadComputeLibrary-463f976813a99b1eda347c619c6b7baf098757b8.tar.gz
COMPMID-3496: Fix for GEMM_INTERLEAVE_2D
GEMM_INTERLEAVE_2D was wrongly selected by the heuristic also in case of maxthreads < 8 Change-Id: If531d44c6f00ae6f8e3a4bf22428829b252bc3d6 Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3225 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp b/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp
index e3355ed2d5..8bef2b7bae 100644
--- a/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp
+++ b/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp
@@ -149,25 +149,25 @@ static const GemmImplementation<float, float> gemm_fp32_methods[] =
//Pretranpose, 2D split
{
GemmMethod::GEMM_INTERLEAVED_2D,
- "sgemm_12x8",
- [](const GemmArgs &args) { return args._pretransposed_hint; },
+ "sgemm_12x8_pretranspose_2d",
[](const GemmArgs &args) { return args._pretransposed_hint; },
+ [](const GemmArgs &args) { return args._maxthreads >= 8; },
[](const GemmArgs &args) { return new GemmInterleavedPretransposed2d<sgemm_12x8, float, float>(args); }
},
//Tranpose, 2D split, no blockmanager
{
GemmMethod::GEMM_INTERLEAVED_2D,
- "sgemm_12x8",
- [](const GemmArgs &args) { return (!args._pretransposed_hint) && args._maxthreads >= 8; },
- [](const GemmArgs &args) { return (!args._pretransposed_hint) && args._maxthreads >= 8; },
+ "sgemm_12x8_2d",
+ nullptr,
+ [](const GemmArgs &args) { return (!args._pretransposed_hint) && (args._maxthreads >= 8); },
[](const GemmArgs &args) { return new GemmInterleaved2d<sgemm_12x8, float, float>(args); }
},
//Tranpose, 1D split, with blockmanager
{
GemmMethod::GEMM_INTERLEAVED,
- "sgemm_12x8",
- [](const GemmArgs &args) { return (!args._pretransposed_hint); },
- [](const GemmArgs &args) { return (!args._pretransposed_hint); },
+ "sgemm_12x8_1d",
+ nullptr,
+ nullptr,
[](const GemmArgs &args) { return new GemmInterleaved<sgemm_12x8, float, float>(args); }
},