diff --git a/testing/testing_zcheck_facto.c b/testing/testing_zcheck_facto.c
index dea1fbc2b53fc0c360041f2d831911a65c0f7d5c..5d6f5dfa12571617725caad62ff9848a504efbcd 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 8ae32e124019a227e72e715dd2e63ecee5e1ca85..69bdc9d6af1d0bf292e94744ab4b4dee26f03661 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 2c60071f890160efd728f32aa7f1ad5267d65b1e..304c4696114d2c5f38f51465f0d0f4b48cf2e078 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 943f7a3bd1ac1578968201d0f5ebbc5025313b06..fbf52a03bea8c2641b95af80da5d8cab91e77b18 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 59b4b2d78cb4e1771ddc872f9ce0633199e068b0..83c3c853905264618c0d373e96c337dad880a9ae 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 c93d4ae4c05a2b802fa4788b44cb3ceef1e4580c..c48e361accaa281409cc5c941918719e4cdf6563 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 d57d1011becd8b184bc8e6e226be4b106ef4b54d..60ec7b72140c83041b728dd2f4e2039fb8cb59d1 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 9dbe9d743bd66c34e87827f8bb08764fef77987b..0d41939de91f5a6bf9ca35de399e1a575170787b 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 f373b8e5d6ca4e5a4eb3618e1b26d9b10d9338bf..5c3f0059685aa342762285003bab6b79b5b5f68a 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 7a13bb7a1d8f764628f94c8ea8651109379936c0..d5d370462b017246682d2ef6fd592fd5d27d566b 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 5b7821311266737ae11910ed1e1ada01d0ad4dfd..b1c0156c6b85670e5908524d82e19512b4930f87 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 4f8cf8699c55714414f3052a60ccf7bb30eb1e33..5c0109d88d60375d8e3527e3871c45f4b79973aa 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 85dc12fd81304dd3bc7c5aad452ca88f6a5eec52..1593f85a6fe477e8ac7a13bc08ae05b6a7f69147 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 14564be3eb446f01a8e3b9983b4d2ac0fae5b1a7..3c28671d9df05e3b4dd90be090901464bb13a177 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 a6429b3aa505b63d82363cef412f111305acefb3..2d29e5493ad68fc98e3b26a4ff0b46c23076c182 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 5f042eea5761b9a285c405eaa4121e63ee4bf5c7..9bd503a6b6e40976d1fe1dcafccfb7c3655f84d3 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 ae4f00ad4af46de96195d872d8466dd23fee653d..a59f2426ec89e95966191b8adf958d0d7cb63de8 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 93e5069675ed60a1c34623625615fb58fa55a7ff..88511c2328233918028d14925986f4cfc8268267 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 930604623ffbb03b99e88c316cecc8c7506d7212..fe7e5b37c8a20a2c194f726f6f1dd86c5ad67a37 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 78faa466eb44358b9844e0d8444ca4446d5c4c88..9a74d736bb8f807bae073cff4857db4fd947a68c 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 ea49e85b758e3eec412b1b4ec9b01b2e2a23374b..705d69666a63a3a6854412c98361337523ea1be5 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 757fb100d690fa88edc3b9ba3cad8cfe52a00c6a..8e39a9f9e3e521d9521d7b4b0a6624fe2688dc37 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 7b140ef8ef9901f406652d84773a4746a5bdb779..f56dce8846cd1675a4aa4d23e77ed4a75fae9c80 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 e0d74d5230c49f5a4a71316600b0083eb8bf6ab5..12f51d7fb09fe7af974de5a894be92d3ef6ee696 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 a617589257311efeb5c1d0f0ce2a11ddd95e40ed..eda3bf789ac8b1700099c14887efd6f8b37a399d 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 ae96c2def57b0eb20e4815f71bb6ddff8d044dcd..85410033df781c2b2da88d58b57c81b668c2f3bf 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 2edbe3aa79fbfa57f27ced1fa489d4a3234a24a4..98de7c95bed0eb1b766934e265a52d0309844419 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 8e2bd0ebd0cf12086327d9e23bd3e69ab161b667..c951c3010fb91137bde259223de882d44164db8d 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 aa9f604e2eec9772b9f1fa4097ffde5eece209a2..e8ddd686fa1fc0973afe66474d263199acb3f7d6 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 d8c3c5b57cc4c8111b19541d347e3ab0f8ced4a1..0dec690d3cecefb13ce9264d214bb286c6974731 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 );