From 1cf5301b483168c61511f03d78afd09a12d614f0 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Wed, 25 Sep 2024 14:17:34 +0200
Subject: [PATCH] compute/{he,sy}mm: Fix summa algorithm

---
 compute/pzhemm.c | 12 ++++++------
 compute/pzsymm.c | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/compute/pzhemm.c b/compute/pzhemm.c
index b47dda5ba..12269d34a 100644
--- a/compute/pzhemm.c
+++ b/compute/pzhemm.c
@@ -339,7 +339,7 @@ chameleon_pzhemm_summa_left( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 options,
                 ChamUpperLower, tempam, tempak,
                 A( Am, Ak ),
-                WA( m, (k % C->q) + lq ) );
+                WA( m, (Ak % C->q) + lq ) );
 
             RUNTIME_data_flush( sequence, A( Am, Ak ) );
 
@@ -347,8 +347,8 @@ chameleon_pzhemm_summa_left( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 INSERT_TASK_zlacpy(
                     options,
                     ChamUpperLower, tempam, tempak,
-                    WA( m, ((k+q-1) % C->q) + lq ),
-                    WA( m, ((k+q)   % C->q) + lq ) );
+                    WA( m, ((Ak+q-1) % C->q) + lq ),
+                    WA( m, ((Ak+q)   % C->q) + lq ) );
             }
         }
 
@@ -496,7 +496,7 @@ chameleon_pzhemm_summa_right( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 options,
                 ChamUpperLower, tempak, tempan,
                 A(  Ak,              An ),
-                WB( (k % C->p) + lp, n  ) );
+                WB( (Ak % C->p) + lp, n  ) );
 
             RUNTIME_data_flush( sequence, A( Ak, An ) );
 
@@ -504,8 +504,8 @@ chameleon_pzhemm_summa_right( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 INSERT_TASK_zlacpy(
                     options,
                     ChamUpperLower, tempak, tempan,
-                    WB( ((k+p-1) % C->p) + lp, n ),
-                    WB( ((k+p)   % C->p) + lp, n ) );
+                    WB( ((Ak+p-1) % C->p) + lp, n ),
+                    WB( ((Ak+p)   % C->p) + lp, n ) );
             }
         }
 
diff --git a/compute/pzsymm.c b/compute/pzsymm.c
index 47632f6ce..944ac75ea 100644
--- a/compute/pzsymm.c
+++ b/compute/pzsymm.c
@@ -340,7 +340,7 @@ chameleon_pzsymm_summa_left( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 options,
                 ChamUpperLower, tempam, tempak,
                 A( Am, Ak ),
-                WA( m, (k % C->q) + lq ) );
+                WA( m, (Ak % C->q) + lq ) );
 
             RUNTIME_data_flush( sequence, A( Am, Ak ) );
 
@@ -348,8 +348,8 @@ chameleon_pzsymm_summa_left( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 INSERT_TASK_zlacpy(
                     options,
                     ChamUpperLower, tempam, tempak,
-                    WA( m, ((k+q-1) % C->q) + lq ),
-                    WA( m, ((k+q)   % C->q) + lq ) );
+                    WA( m, ((Ak+q-1) % C->q) + lq ),
+                    WA( m, ((Ak+q)   % C->q) + lq ) );
             }
         }
 
@@ -497,7 +497,7 @@ chameleon_pzsymm_summa_right( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 options,
                 ChamUpperLower, tempak, tempan,
                 A(  Ak,              An ),
-                WB( (k % C->p) + lp, n  ) );
+                WB( (Ak % C->p) + lp, n  ) );
 
             RUNTIME_data_flush( sequence, A( Ak, An ) );
 
@@ -505,8 +505,8 @@ chameleon_pzsymm_summa_right( CHAM_context_t *chamctxt, cham_uplo_t uplo,
                 INSERT_TASK_zlacpy(
                     options,
                     ChamUpperLower, tempak, tempan,
-                    WB( ((k+p-1) % C->p) + lp, n ),
-                    WB( ((k+p)   % C->p) + lp, n ) );
+                    WB( ((Ak+p-1) % C->p) + lp, n ),
+                    WB( ((Ak+p)   % C->p) + lp, n ) );
             }
         }
 
-- 
GitLab