COMPMID-1105: Fix mismatches conv layer when using NativeGemm with multiple threads
Change-Id: Id5ba16a7e3382070fda936c63d174df53596da04
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129964
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/src/core/NEON/kernels/arm_gemm/gemm_native.hpp b/src/core/NEON/kernels/arm_gemm/gemm_native.hpp
index beecb76..21861eb 100644
--- a/src/core/NEON/kernels/arm_gemm/gemm_native.hpp
+++ b/src/core/NEON/kernels/arm_gemm/gemm_native.hpp
@@ -87,8 +87,7 @@
#ifdef CYCLE_PROFILING
profiler prof;
#endif
- strategy strat(_ci);
-
+ strategy strat(_ci);
const unsigned int window_per_batch = iceildiv(_Msize, strategy::out_height);
const unsigned int window_per_multi = window_per_batch * _nbatches;
@@ -109,7 +108,7 @@
const unsigned int batch_0 = (multi == first_multi) ? first_batch : 0;
const unsigned int batch_max = (multi == last_multi) ? last_batch : _nbatches;
- for(unsigned int batch = batch_0; batch < batch_max; batch++)
+ for(unsigned int batch = batch_0; batch <= batch_max; batch++)
{
const unsigned int m_start = ((multi == first_multi) && (batch == first_batch)) ? first_row : 0;
const unsigned int m_end = ((multi == last_multi) && (batch == last_batch)) ? last_row : _Msize;