From 96d80801bc2a5df7d85f73dbd2ecc8673dad0292 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 21 Apr 2025 22:53:26 +0200 Subject: [PATCH 1/2] Reinstate the CooperLake microkernel --- kernel/x86_64/sbgemv_n.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/x86_64/sbgemv_n.c b/kernel/x86_64/sbgemv_n.c index b2d4eb74f1..08ccace617 100644 --- a/kernel/x86_64/sbgemv_n.c +++ b/kernel/x86_64/sbgemv_n.c @@ -28,9 +28,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "common.h" -//#if defined (COOPERLAKE) || defined (SAPPHIRERAPIDS) -//#include "sbgemv_n_microk_cooperlake.c" -//#endif +#if defined (COOPERLAKE) || defined (SAPPHIRERAPIDS) +#include "sbgemv_n_microk_cooperlake.c" +#endif #define ALIGN64_ALLOC(alloc_size, TYPE, ptr_align, ptr) \ ptr = (TYPE *) malloc(sizeof(TYPE)*alloc_size + 63); \ From 99d9f1ff3878e791591671f92f3a2470a1e565e6 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 21 Apr 2025 22:55:45 +0200 Subject: [PATCH 2/2] Fix conditional --- kernel/x86_64/sbgemv_n_microk_cooperlake_template.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/x86_64/sbgemv_n_microk_cooperlake_template.c b/kernel/x86_64/sbgemv_n_microk_cooperlake_template.c index 4711e9720c..ab22e08488 100644 --- a/kernel/x86_64/sbgemv_n_microk_cooperlake_template.c +++ b/kernel/x86_64/sbgemv_n_microk_cooperlake_template.c @@ -231,7 +231,7 @@ static int sbgemv_kernel_32xN_lda_direct(BLASLONG m, BLASLONG n, float alpha, bf accum512_8 = _mm512_permutex2var_ps(accum512_0, idx_base_0, accum512_1); accum512_9 = _mm512_permutex2var_ps(accum512_0, idx_base_1, accum512_1); - if ((m-tag_m_32x) > 16) { + if ((m-tag_m_32x) >= 16) { STORE16_COMPLETE_RESULT(accum512_8, y+tag_m_32x+0) STORE16_MASK_COMPLETE_RESULT(accum512_9, y+tag_m_32x+16, store_tail_mask) } else {