From 6134c424af3fe1064a5b7fb93e922c64b4fd3e53 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Fri, 2 Sep 2022 00:12:51 +0200
Subject: [PATCH] CHAM_tile_t: add a rank field to store the rank of the tile
 at initialization

---
 control/descriptor.c       | 9 +++++----
 include/chameleon/struct.h | 4 ++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/control/descriptor.c b/control/descriptor.c
index 8458fae11..f391f1ac8 100644
--- a/control/descriptor.c
+++ b/control/descriptor.c
@@ -100,10 +100,11 @@ void chameleon_desc_init_tiles( CHAM_desc_t *desc )
         for( ii=0; ii<desc->lmt; ii++, tile++ ) {
             int rank = desc->get_rankof( desc, ii, jj );
             tile->format = CHAMELEON_TILE_FULLRANK;
-            tile->m   = ii == desc->lmt-1 ? desc->lm - ii * desc->mb : desc->mb;
-            tile->n   = jj == desc->lnt-1 ? desc->ln - jj * desc->nb : desc->nb;
-            tile->mat = (rank == desc->myrank) ? desc->get_blkaddr( desc, ii, jj ) : NULL;
-            tile->ld  = desc->get_blkldd( desc, ii );
+            tile->rank   = rank;
+            tile->m      = ii == desc->lmt-1 ? desc->lm - ii * desc->mb : desc->mb;
+            tile->n      = jj == desc->lnt-1 ? desc->ln - jj * desc->nb : desc->nb;
+            tile->mat    = (rank == desc->myrank) ? desc->get_blkaddr( desc, ii, jj ) : NULL;
+            tile->ld     = desc->get_blkldd( desc, ii );
 #if defined(CHAMELEON_KERNELS_TRACE)
             chameleon_asprintf( &(tile->name), "%s(%d,%d)", desc->name, ii, jj );
 #endif
diff --git a/include/chameleon/struct.h b/include/chameleon/struct.h
index 7e1601012..cf751e199 100644
--- a/include/chameleon/struct.h
+++ b/include/chameleon/struct.h
@@ -39,9 +39,9 @@ typedef struct chameleon_tile_s {
 #if defined(CHAMELEON_KERNELS_TRACE)
     char  *name;
 #endif
-    int8_t format;
-    int    m, n, ld;
     void  *mat;
+    int    rank, m, n, ld;
+    int8_t format;
 } CHAM_tile_t;
 
 /**
-- 
GitLab