diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2020-05-19 14:12:27 +0100 |
---|---|---|
committer | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2020-05-20 09:57:20 +0000 |
commit | 463f976813a99b1eda347c619c6b7baf098757b8 (patch) | |
tree | 358f45661e38f47825b9fd5cdf63c1d6a2f6262b /src/core | |
parent | dc4a63689de91293fd74ad0d36d1a0f5c8a49d41 (diff) | |
download | ComputeLibrary-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.cpp | 16 |
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); } }, |