From 575f7b49492ada7287d4684ba8dedc3eca048072 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Fri, 30 Jun 2023 14:29:46 +0200
Subject: [PATCH] Make sure Chameleon_Desc_Copy is using
 CHAMELEON_MAT_ALLOC_TILE to be compatible with any data distribution

---
 testing/testing_zcheck_facto.c        | 20 ++++++++++----------
 testing/testing_zcheck_polar_decomp.c |  6 +++---
 testing/testing_zcheck_qr_lq.c        | 10 +++++-----
 testing/testing_zgeadd.c              |  6 +++---
 testing/testing_zgelqf.c              |  6 +++---
 testing/testing_zgelqf_hqr.c          |  6 +++---
 testing/testing_zgelqs.c              |  8 ++++----
 testing/testing_zgepdf_qdwh.c         |  6 +++---
 testing/testing_zgepdf_qr.c           |  6 +++---
 testing/testing_zgeqrf.c              |  6 +++---
 testing/testing_zgeqrf_hqr.c          |  6 +++---
 testing/testing_zgeqrs.c              |  8 ++++----
 testing/testing_zgesv_nopiv.c         |  8 ++++----
 testing/testing_zgesvd.c              |  6 +++---
 testing/testing_zgetrf_nopiv.c        |  6 +++---
 testing/testing_zgetrs_nopiv.c        |  8 ++++----
 testing/testing_zlauum.c              |  6 +++---
 testing/testing_zsysv.c               |  8 ++++----
 testing/testing_zsytrf.c              |  6 +++---
 testing/testing_zsytrs.c              |  8 ++++----
 testing/testing_ztradd.c              |  6 +++---
 testing/testing_ztrtri.c              |  6 +++---
 testing/testing_zunglq.c              |  6 +++---
 testing/testing_zunglq_hqr.c          |  6 +++---
 testing/testing_zungqr.c              |  6 +++---
 testing/testing_zungqr_hqr.c          |  6 +++---
 testing/testing_zunmlq.c              |  6 +++---
 testing/testing_zunmlq_hqr.c          |  6 +++---
 testing/testing_zunmqr.c              |  6 +++---
 testing/testing_zunmqr_hqr.c          |  6 +++---
 30 files changed, 105 insertions(+), 105 deletions(-)

diff --git a/testing/testing_zcheck_facto.c b/testing/testing_zcheck_facto.c
index dea1fbc2b..5d6f5dfa1 100644
--- a/testing/testing_zcheck_facto.c
+++ b/testing/testing_zcheck_facto.c
@@ -9,13 +9,13 @@
  *
  * @brief Chameleon CHAMELEON_Complex64_t auxiliary testings routines
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Florent Pruvost
  * @author Mathieu Faverge
  * @author Nathalie Furmento
  * @author Alycia Lisito
- * @date 2023-01-05
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -73,7 +73,7 @@ int check_zlauum( run_arg_list_t *args, cham_uplo_t uplo, CHAM_desc_t *descA, CH
     AAtnorm = CHAMELEON_zlantr_Tile( ChamOneNorm, uplo, ChamNonUnit, descAAt );
 
     if ( uplo == ChamUpper ) {
-        descAt = CHAMELEON_Desc_Copy( descA, NULL );
+        descAt = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zlaset_Tile( ChamLower, 0., 0., descAt );
         CHAMELEON_zlacpy_Tile( ChamUpper, descA, descAt );
 
@@ -81,7 +81,7 @@ int check_zlauum( run_arg_list_t *args, cham_uplo_t uplo, CHAM_desc_t *descA, CH
         CHAMELEON_ztrmm_Tile( ChamRight, ChamUpper, ChamConjTrans, ChamNonUnit, 1., descA, descAt );
     }
     else {
-        descAt = CHAMELEON_Desc_Copy( descA, NULL );
+        descAt = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zlaset_Tile( ChamUpper, 0., 0., descAt );
         CHAMELEON_zlacpy_Tile( ChamLower, descA, descAt );
 
@@ -207,8 +207,8 @@ int check_zxxtrf( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t
     cham_trans_t transL = ChamNoTrans;
     cham_trans_t transU = ChamNoTrans;
 
-    descL = CHAMELEON_Desc_Copy( descA, NULL );
-    descU = CHAMELEON_Desc_Copy( descA, NULL );
+    descL = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
+    descU = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
     CHAMELEON_zlaset_Tile( ChamUpperLower, 0., 0., descL );
     CHAMELEON_zlaset_Tile( ChamUpperLower, 0., 0., descU );
@@ -562,7 +562,7 @@ int check_ztrtri( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t
     int          N   = descA0->m;
 
     /* Creates an identity matrix */
-    descI = CHAMELEON_Desc_Copy( descA0, NULL );
+    descI = CHAMELEON_Desc_Copy( descA0, CHAMELEON_MAT_ALLOC_TILE );
     CHAMELEON_zlaset_Tile( ChamUpperLower, 0., 1., descI );
 
     /* Calculates the residual I - A*(A**-1) */
@@ -580,7 +580,7 @@ int check_ztrtri( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t
          * Ainv on the left by A.
          */
         uplo_inv = ( uplo == ChamUpper ) ? ChamLower : ChamUpper;
-        descB = CHAMELEON_Desc_Copy( descAi, NULL );
+        descB = CHAMELEON_Desc_Copy( descAi, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_ztradd_Tile( uplo_inv, ChamConjTrans, 1., descAi, 0., descB );
         CHAMELEON_zlacpy_Tile( uplo, descAi, descB );
 
@@ -600,7 +600,7 @@ int check_ztrtri( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t
          * Ainv on the left by A.
          */
         uplo_inv = ( uplo == ChamUpper ) ? ChamLower : ChamUpper;
-        descB = CHAMELEON_Desc_Copy( descAi, NULL );
+        descB = CHAMELEON_Desc_Copy( descAi, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_ztradd_Tile( uplo_inv, ChamTrans, 1., descAi, 0., descB );
         CHAMELEON_zlacpy_Tile( uplo, descAi, descB );
 
@@ -619,7 +619,7 @@ int check_ztrtri( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t
          * Ainv on the left by A.
          */
         uplo_inv = ( uplo == ChamUpper ) ? ChamLower : ChamUpper;
-        descB = CHAMELEON_Desc_Copy( descAi, NULL );
+        descB = CHAMELEON_Desc_Copy( descAi, CHAMELEON_MAT_ALLOC_TILE );
 
         if ( diag == ChamUnit ) {
             //CHAMELEON_ztradd_Tile( uplo, ChamNoTrans, 1., descAi, 0., descB );
diff --git a/testing/testing_zcheck_polar_decomp.c b/testing/testing_zcheck_polar_decomp.c
index 8ae32e124..69bdc9d6a 100644
--- a/testing/testing_zcheck_polar_decomp.c
+++ b/testing/testing_zcheck_polar_decomp.c
@@ -9,13 +9,13 @@
  *
  * @brief Chameleon CHAMELEON_Complex64_t auxiliary testings routines
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Florent Pruvost
  * @author Mathieu Faverge
  * @author Nathalie Furmento
  * @author Alycia Lisito
- * @date 2023-01-05
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -92,7 +92,7 @@ int check_zgepdf_qr( run_arg_list_t *args, CHAM_desc_t *descA1, CHAM_desc_t *des
     /*
      * First check: || R - Q' A ||
      */
-    descR = CHAMELEON_Desc_Copy( descAF1, NULL );
+    descR = CHAMELEON_Desc_Copy( descAF1, CHAMELEON_MAT_ALLOC_TILE );
 
     /* Copy R(1:n,1:k) */
     subR  = chameleon_desc_submatrix( descR,   0, 0, N, K );
diff --git a/testing/testing_zcheck_qr_lq.c b/testing/testing_zcheck_qr_lq.c
index 2c60071f8..304c46961 100644
--- a/testing/testing_zcheck_qr_lq.c
+++ b/testing/testing_zcheck_qr_lq.c
@@ -9,13 +9,13 @@
  *
  * @brief Chameleon CHAMELEON_Complex64_t auxiliary testings routines
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Florent Pruvost
  * @author Mathieu Faverge
  * @author Nathalie Furmento
  * @author Alycia Lisito
- * @date 2023-01-05
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -62,7 +62,7 @@ int check_zortho( run_arg_list_t *args, CHAM_desc_t *descQ )
     CHAM_desc_t *descI, *subI;
 
     /* Builds the identity */
-    descI = CHAMELEON_Desc_Copy( descQ, NULL );
+    descI = CHAMELEON_Desc_Copy( descQ, CHAMELEON_MAT_ALLOC_TILE );
     subI = chameleon_desc_submatrix( descI, 0, 0, minMN, minMN );
     CHAMELEON_zlaset_Tile( ChamUpperLower, 0., 1., subI );
 
@@ -182,7 +182,7 @@ int check_zgelqf( run_arg_list_t *args, CHAM_desc_t *descA, CHAM_desc_t *descAF,
     assert( descA->n == N );
     assert( descA->m == descAF->m );
 
-    descL = CHAMELEON_Desc_Copy( descA, NULL );
+    descL = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
     if ( full_lq ) {
         /*
@@ -353,7 +353,7 @@ int check_zgeqrf( run_arg_list_t *args, CHAM_desc_t *descA, CHAM_desc_t *descAF,
     assert( descA->m == M );
     assert( descA->n == descAF->n );
 
-    descR = CHAMELEON_Desc_Copy( descA, NULL );
+    descR = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
     if ( full_qr ) {
         /*
diff --git a/testing/testing_zgeadd.c b/testing/testing_zgeadd.c
index 943f7a3bd..fbf52a03b 100644
--- a/testing/testing_zgeadd.c
+++ b/testing/testing_zgeadd.c
@@ -9,12 +9,12 @@
  *
  * @brief Chameleon zgeadd testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
  * @author Philippe Swartvagher
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -106,7 +106,7 @@ testing_zgeadd_desc( run_arg_list_t *args, int check )
 
     /* Check the solution */
     if ( check ) {
-        CHAM_desc_t *descB0 = CHAMELEON_Desc_Copy( descB, NULL );
+        CHAM_desc_t *descB0 = CHAMELEON_Desc_Copy( descB, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplrnt_Tile( descB0, seedB );
 
         hres += check_zsum( args, ChamUpperLower, trans, alpha, descA, beta, descB0, descB );
diff --git a/testing/testing_zgelqf.c b/testing/testing_zgelqf.c
index 59b4b2d78..83c3c8539 100644
--- a/testing/testing_zgelqf.c
+++ b/testing/testing_zgelqf.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgelqf testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -79,7 +79,7 @@ testing_zgelqf_desc( run_arg_list_t *args, int check )
     /* Checks the factorisation and orthogonality */
     if ( check ) {
         CHAM_desc_t *descQ;
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_Desc_Create(
             &descQ, (void*)(-mtxfmt), ChamComplexDouble, nb, nb, nb * nb, N, N, 0, 0, N, N, P, Q );
diff --git a/testing/testing_zgelqf_hqr.c b/testing/testing_zgelqf_hqr.c
index c93d4ae4c..c48e361ac 100644
--- a/testing/testing_zgelqf_hqr.c
+++ b/testing/testing_zgelqf_hqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgelqf_param testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -88,7 +88,7 @@ testing_zgelqf_hqr_desc( run_arg_list_t *args, int check )
     /* Checks the factorisation and orthogonality */
     if ( check ) {
         CHAM_desc_t *descQ;
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_Desc_Create(
             &descQ, (void*)(-mtxfmt), ChamComplexDouble, nb, nb, nb * nb, N, N, 0, 0, N, N, P, Q );
diff --git a/testing/testing_zgelqs.c b/testing/testing_zgelqs.c
index d57d1011b..60ec7b721 100644
--- a/testing/testing_zgelqs.c
+++ b/testing/testing_zgelqs.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgelqs testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -89,8 +89,8 @@ testing_zgelqs_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation, orthogonality and residue */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
-        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
+        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, CHAMELEON_MAT_ALLOC_TILE );
         CHAM_desc_t *subX   = chameleon_desc_submatrix( descX, 0, 0, N, NRHS );
         CHAM_desc_t *subB   = chameleon_desc_submatrix( descB, 0, 0, M, NRHS );
 
diff --git a/testing/testing_zgepdf_qdwh.c b/testing/testing_zgepdf_qdwh.c
index 9dbe9d743..0d41939de 100644
--- a/testing/testing_zgepdf_qdwh.c
+++ b/testing/testing_zgepdf_qdwh.c
@@ -10,11 +10,11 @@
  *
  * @brief Chameleon zgepdf_qdwh testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Mathieu Faverge
  * @author Hatem Ltaief
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -92,7 +92,7 @@ testing_zgepdf_qdwh_desc( run_arg_list_t *args, int check )
      * with the call to CHAMELEON_zgepdf_qdwh_Tile[_Async]).
      */
     if ( check ) {
-        descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_GLOBAL );
+        descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zlacpy_Tile( ChamUpperLower, descA, descA0 );
     }
 
diff --git a/testing/testing_zgepdf_qr.c b/testing/testing_zgepdf_qr.c
index f373b8e5d..5c3f00596 100644
--- a/testing/testing_zgepdf_qr.c
+++ b/testing/testing_zgepdf_qr.c
@@ -10,11 +10,11 @@
  *
  * @brief Chameleon zgepdf_qr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Mathieu Faverge
  * @author Hatem Ltaief
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -154,7 +154,7 @@ testing_zgepdf_qr_desc( run_arg_list_t *args, int check )
     /* Checks the solution */
     if ( check ) {
         CHAM_desc_t *descA01, *descA02;
-        descA01 = CHAMELEON_Desc_Copy( descA1, NULL );
+        descA01 = CHAMELEON_Desc_Copy( descA1, CHAMELEON_MAT_ALLOC_TILE );
         descA02 = descA2; /* A2 is useless now */
 
         CHAMELEON_zplrnt_Tile( descA01, seedA );
diff --git a/testing/testing_zgeqrf.c b/testing/testing_zgeqrf.c
index 7a13bb7a1..d5d370462 100644
--- a/testing/testing_zgeqrf.c
+++ b/testing/testing_zgeqrf.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgeqrf testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -79,7 +79,7 @@ testing_zgeqrf_desc( run_arg_list_t *args, int check )
     /* Checks the factorisation and orthogonality */
     if ( check ) {
         CHAM_desc_t *descQ;
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_Desc_Create(
             &descQ, (void*)(-mtxfmt), ChamComplexDouble, nb, nb, nb * nb, M, M, 0, 0, M, M, P, Q );
diff --git a/testing/testing_zgeqrf_hqr.c b/testing/testing_zgeqrf_hqr.c
index 5b7821311..b1c0156c6 100644
--- a/testing/testing_zgeqrf_hqr.c
+++ b/testing/testing_zgeqrf_hqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgeqrf_hqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -88,7 +88,7 @@ testing_zgeqrf_hqr_desc( run_arg_list_t *args, int check )
     /* Checks the factorisation and orthogonality */
     if ( check ) {
         CHAM_desc_t *descQ;
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_Desc_Create(
             &descQ, (void*)(-mtxfmt), ChamComplexDouble, nb, nb, nb * nb, M, M, 0, 0, M, M, P, Q );
diff --git a/testing/testing_zgeqrs.c b/testing/testing_zgeqrs.c
index 4f8cf8699..5c0109d88 100644
--- a/testing/testing_zgeqrs.c
+++ b/testing/testing_zgeqrs.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgeqrs testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -96,8 +96,8 @@ testing_zgeqrs_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation, orthogonality and residue */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
-        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
+        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, CHAMELEON_MAT_ALLOC_TILE );
         CHAM_desc_t *subX   = chameleon_desc_submatrix( descX, 0, 0, N, NRHS );
         CHAM_desc_t *subB   = chameleon_desc_submatrix( descB, 0, 0, M, NRHS );
 
diff --git a/testing/testing_zgesv_nopiv.c b/testing/testing_zgesv_nopiv.c
index 85dc12fd8..1593f85a6 100644
--- a/testing/testing_zgesv_nopiv.c
+++ b/testing/testing_zgesv_nopiv.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgesv_nopiv testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -83,8 +83,8 @@ testing_zgesv_nopiv_desc( run_arg_list_t *args, int check )
     if ( check ) {
         CHAM_desc_t *descA0, *descB;
 
-        descA0 = CHAMELEON_Desc_Copy( descA, NULL );
-        descB  = CHAMELEON_Desc_Copy( descX, NULL );
+        descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
+        descB  = CHAMELEON_Desc_Copy( descX, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_zplgtr_Tile( 0,    ChamUpper, descA0, seedA   );
         CHAMELEON_zplgtr_Tile( bump, ChamLower, descA0, seedA+1 );
diff --git a/testing/testing_zgesvd.c b/testing/testing_zgesvd.c
index 14564be3e..3c28671d9 100644
--- a/testing/testing_zgesvd.c
+++ b/testing/testing_zgesvd.c
@@ -9,9 +9,9 @@
  *
  * @brief Chameleon zgesvd testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Alycia Lisito
- * @date 2022-03-30
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -139,7 +139,7 @@ testing_zgesvd_desc( run_arg_list_t *args, int check )
      * with the call to CHAMELEON_zgepdf_qdwh_Tile[_Async]).
      */
     if ( check ) {
-        descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_GLOBAL );
+        descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zlacpy_Tile( ChamUpperLower, descA, descA0 );
     }
 
diff --git a/testing/testing_zgetrf_nopiv.c b/testing/testing_zgetrf_nopiv.c
index a6429b3aa..2d29e5493 100644
--- a/testing/testing_zgetrf_nopiv.c
+++ b/testing/testing_zgetrf_nopiv.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgetrf_nopiv testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -67,7 +67,7 @@ testing_zgetrf_nopiv_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and residue */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplgtr_Tile( 0,    ChamUpper, descA0, seedA   );
         CHAMELEON_zplgtr_Tile( bump, ChamLower, descA0, seedA+1 );
 
diff --git a/testing/testing_zgetrs_nopiv.c b/testing/testing_zgetrs_nopiv.c
index 5f042eea5..9bd503a6b 100644
--- a/testing/testing_zgetrs_nopiv.c
+++ b/testing/testing_zgetrs_nopiv.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zgetrs_nopiv testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -78,8 +78,8 @@ testing_zgetrs_nopiv_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and residue */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
-        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
+        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_zplgtr_Tile( 0,    ChamUpper, descA0, seedA   );
         CHAMELEON_zplgtr_Tile( bump, ChamLower, descA0, seedA+1 );
diff --git a/testing/testing_zlauum.c b/testing/testing_zlauum.c
index ae4f00ad4..a59f2426e 100644
--- a/testing/testing_zlauum.c
+++ b/testing/testing_zlauum.c
@@ -9,13 +9,13 @@
  *
  * @brief Chameleon zlauum testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
  * @author Florent Pruvost
  * @author Philippe Swartvagher
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -76,7 +76,7 @@ testing_zlauum_desc( run_arg_list_t *args, int check )
     testing_stop( &test_data, flops_zlauum( N ) );
 
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplghe_Tile( 0., uplo, descA0, seedA );
 
         hres += check_zlauum( args, uplo, descA0, descA );
diff --git a/testing/testing_zsysv.c b/testing/testing_zsysv.c
index 93e506967..88511c232 100644
--- a/testing/testing_zsysv.c
+++ b/testing/testing_zsysv.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zsysv testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c
  *
  */
@@ -83,13 +83,13 @@ testing_zsysv_desc( run_arg_list_t *args, int check )
         CHAM_desc_t *descA0, *descB;
 
         /* Check the factorization */
-        descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplgsy_Tile( (double)N, uplo, descA0, seedA );
 
         hres += check_zxxtrf( args, ChamSymmetric, uplo, descA0, descA );
 
         /* Check the solve */
-        descB = CHAMELEON_Desc_Copy( descX, NULL );
+        descB = CHAMELEON_Desc_Copy( descX, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplrnt_Tile( descB, seedB );
 
         CHAMELEON_zplgsy_Tile( (double)N, uplo, descA0, seedA );
diff --git a/testing/testing_zsytrf.c b/testing/testing_zsytrf.c
index 930604623..fe7e5b37c 100644
--- a/testing/testing_zsytrf.c
+++ b/testing/testing_zsytrf.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zsytrf testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c
  *
  */
@@ -65,7 +65,7 @@ testing_zsytrf_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and residue */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplgsy_Tile( (double)N, uplo, descA0, seedA );
 
         hres += check_zxxtrf( args, ChamSymmetric, uplo, descA0, descA );
diff --git a/testing/testing_zsytrs.c b/testing/testing_zsytrs.c
index 78faa466e..9a74d736b 100644
--- a/testing/testing_zsytrs.c
+++ b/testing/testing_zsytrs.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zsytrs testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c
  *
  */
@@ -77,8 +77,8 @@ testing_zsytrs_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and residue */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
-        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
+        CHAM_desc_t *descB  = CHAMELEON_Desc_Copy( descX, CHAMELEON_MAT_ALLOC_TILE );
 
         CHAMELEON_zplgsy_Tile( (double)N, uplo, descA0, seedA );
         CHAMELEON_zplrnt_Tile( descB, seedB );
diff --git a/testing/testing_ztradd.c b/testing/testing_ztradd.c
index ea49e85b7..705d69666 100644
--- a/testing/testing_ztradd.c
+++ b/testing/testing_ztradd.c
@@ -9,12 +9,12 @@
  *
  * @brief Chameleon ztradd testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
  * @author Philippe Swartvagher
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -135,7 +135,7 @@ testing_ztradd_desc( run_arg_list_t *args, int check )
 
     /* Checks the solution */
     if ( check ) {
-        CHAM_desc_t *descB0 = CHAMELEON_Desc_Copy( descB, NULL );
+        CHAM_desc_t *descB0 = CHAMELEON_Desc_Copy( descB, CHAMELEON_MAT_ALLOC_TILE );
 
         if ( uplo == ChamUpperLower ) {
             CHAMELEON_zplrnt_Tile( descB0, seedB );
diff --git a/testing/testing_ztrtri.c b/testing/testing_ztrtri.c
index 757fb100d..8e39a9f9e 100644
--- a/testing/testing_ztrtri.c
+++ b/testing/testing_ztrtri.c
@@ -9,12 +9,12 @@
  *
  * @brief Chameleon ztrtri testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
  * @author Florent Pruvost
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -71,7 +71,7 @@ testing_ztrtri_desc( run_arg_list_t *args, int check )
 
     /* Checks the inverse */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplghe_Tile( (double)N, uplo, descA0, seedA );
 
         hres += check_ztrtri( args, ChamTriangular, uplo, diag, descA0, descA );
diff --git a/testing/testing_zunglq.c b/testing/testing_zunglq.c
index 7b140ef8e..f56dce884 100644
--- a/testing/testing_zunglq.c
+++ b/testing/testing_zunglq.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zunglq testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -104,7 +104,7 @@ testing_zunglq_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplrnt_Tile( descA0, seedA );
 
         hres += check_zortho( args, descQ );
diff --git a/testing/testing_zunglq_hqr.c b/testing/testing_zunglq_hqr.c
index e0d74d523..12f51d7fb 100644
--- a/testing/testing_zunglq_hqr.c
+++ b/testing/testing_zunglq_hqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zunglq_hqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -114,7 +114,7 @@ testing_zunglq_hqr_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplrnt_Tile( descA0, seedA );
 
         hres += check_zortho( args, descQ );
diff --git a/testing/testing_zungqr.c b/testing/testing_zungqr.c
index a61758925..eda3bf789 100644
--- a/testing/testing_zungqr.c
+++ b/testing/testing_zungqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zungqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -104,7 +104,7 @@ testing_zungqr_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplrnt_Tile( descA0, seedA );
 
         hres += check_zortho( args, descQ );
diff --git a/testing/testing_zungqr_hqr.c b/testing/testing_zungqr_hqr.c
index ae96c2def..85410033d 100644
--- a/testing/testing_zungqr_hqr.c
+++ b/testing/testing_zungqr_hqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zungqr_hqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -114,7 +114,7 @@ testing_zungqr_hqr_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, NULL );
+        CHAM_desc_t *descA0 = CHAMELEON_Desc_Copy( descA, CHAMELEON_MAT_ALLOC_TILE );
         CHAMELEON_zplrnt_Tile( descA0, seedA );
 
         hres += check_zortho( args, descQ );
diff --git a/testing/testing_zunmlq.c b/testing/testing_zunmlq.c
index 2edbe3aa7..98de7c95b 100644
--- a/testing/testing_zunmlq.c
+++ b/testing/testing_zunmlq.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zunmlq testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -97,7 +97,7 @@ testing_zunmlq_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, NULL );
+        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, CHAMELEON_MAT_ALLOC_TILE );
         CHAM_desc_t *descQ;
 
         CHAMELEON_zplrnt_Tile( descC0, seedC );
diff --git a/testing/testing_zunmlq_hqr.c b/testing/testing_zunmlq_hqr.c
index 8e2bd0ebd..c951c3010 100644
--- a/testing/testing_zunmlq_hqr.c
+++ b/testing/testing_zunmlq_hqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zunmlq_hqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -105,7 +105,7 @@ testing_zunmlq_hqr_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, NULL );
+        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, CHAMELEON_MAT_ALLOC_TILE );
         CHAM_desc_t *descQ;
 
         CHAMELEON_zplrnt_Tile( descC0, seedC );
diff --git a/testing/testing_zunmqr.c b/testing/testing_zunmqr.c
index aa9f604e2..e8ddd686f 100644
--- a/testing/testing_zunmqr.c
+++ b/testing/testing_zunmqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zunmqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -97,7 +97,7 @@ testing_zunmqr_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, NULL );
+        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, CHAMELEON_MAT_ALLOC_TILE );
         CHAM_desc_t *descQ;
 
         CHAMELEON_zplrnt_Tile( descC0, seedC );
diff --git a/testing/testing_zunmqr_hqr.c b/testing/testing_zunmqr_hqr.c
index d8c3c5b57..0dec690d3 100644
--- a/testing/testing_zunmqr_hqr.c
+++ b/testing/testing_zunmqr_hqr.c
@@ -9,11 +9,11 @@
  *
  * @brief Chameleon zunmqr_hqr testing
  *
- * @version 1.2.0
+ * @version 1.3.0
  * @author Lucas Barros de Assis
  * @author Mathieu Faverge
  * @author Alycia Lisito
- * @date 2022-02-22
+ * @date 2023-07-05
  * @precisions normal z -> c d s
  *
  */
@@ -105,7 +105,7 @@ testing_zunmqr_hqr_desc( run_arg_list_t *args, int check )
 
     /* Checks the factorisation and orthogonality */
     if ( check ) {
-        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, NULL );
+        CHAM_desc_t *descC0 = CHAMELEON_Desc_Copy( descC, CHAMELEON_MAT_ALLOC_TILE );
         CHAM_desc_t *descQ;
 
         CHAMELEON_zplrnt_Tile( descC0, seedC );
-- 
GitLab