diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5b7a6af285fa99b383a5fdee6c8eea95ce913917..2c515d7e5c5dfa0d0b0e4980a3336eb2ecdbb32b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -503,13 +503,32 @@ else (NOT CHAMELEON_SIMULATION)
 
 endif(NOT CHAMELEON_SIMULATION)
 
-# getopt
+# Check for getopt
+# ----------------
 unset(CMAKE_REQUIRED_LIBRARIES)
 check_include_files(getopt.h CHAMELEON_HAVE_GETOPT_H)
 if (CHAMELEON_HAVE_GETOPT_H)
   check_function_exists(getopt_long CHAMELEON_HAVE_GETOPT_LONG)
 endif()
 
+# Check for attribute fallthrough
+# -------------------------------
+check_c_source_compiles("
+#include <stdarg.h>
+int main(void) {
+  int a = 2;
+  switch( a ){
+  case 0:
+     __attribute__((fallthrough));
+  default:
+      ;
+  }
+  return 0;
+}
+"
+  HAVE_FALLTHROUGH
+  )
+
 # Add option to exploit cublas API v2
 # -----------------------------------
 cmake_dependent_option(CHAMELEON_USE_CUBLAS_V2
diff --git a/ChangeLog b/ChangeLog
index 00bee7e2ab1212a006b78d1735b799d48ef49fbd..98b59528b0f297b4d86e888f11506caf001bfb29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,7 +40,7 @@ chameleon-1.0.0
 - StarPU: Fix conflict between environment variable and chameleon_init.
 - StarPU/simGrid: Update performance models
 - Traces: Upgrade of the EZtrace module for the new interface
-- Traces: Removal of the CAHMALEON_ENABLE_TRACING option
+- Traces: Removal of the CHAMELEON_ENABLE_TRACING option
 - Upgrade cmake_module
   - Integrate new precision generation scripts (Support for python 3)
   - Integrate CMAKE_BUILD_TYPE list with sanitizers detection
diff --git a/compute/pzlansy.c b/compute/pzlansy.c
index e87d6a19f1af4c14b51aaaa33d0a19e2320ff641..2c6265ee55ef41479c671376fb06e075d3cebd48 100644
--- a/compute/pzlansy.c
+++ b/compute/pzlansy.c
@@ -23,9 +23,6 @@
  */
 //ALLOC_WS :  A->mb
 //WS_ADD :  A->mb
-
-#include <stdlib.h>
-#include <math.h>
 #include "control/common.h"
 
 #define A( m, n )        A,     (m), (n)
diff --git a/compute/pzlatms.c b/compute/pzlatms.c
index bb76c30217b100090a4938324700344f985bb092..7a1334d9d479ba16df52429219644160fb8bd4be 100644
--- a/compute/pzlatms.c
+++ b/compute/pzlatms.c
@@ -63,6 +63,7 @@ zlaset_diag( const CHAM_desc_t *descA,
         A += lda + 1;
     }
 
+    (void)uplo;
     return 0;
 }
 
diff --git a/control/async.c b/control/async.c
index 0e7001d29c10a1c81eb84cbaa1e8a50df49fbc6f..5eea9670b1ca115eca94c71df2f037dde6803e5b 100644
--- a/control/async.c
+++ b/control/async.c
@@ -24,7 +24,6 @@
  * @brief Group routines exposed to users to handle asynchronous tasks execution
  *
  */
-#include <stdlib.h>
 #include "control/common.h"
 #include "chameleon/runtime.h"
 
@@ -344,4 +343,4 @@ int CHAMELEON_Request_Set( RUNTIME_request_t *request, int param, int value)
 
     status = chameleon_request_set(chamctxt, request, param, value);
     return status;
-}
\ No newline at end of file
+}
diff --git a/control/chameleon_f77.c b/control/chameleon_f77.c
index 6751e4882c504b795ded51419a73a1b9379ee318..a247a75b9c3a4195220ba5f43fb298dd74550294 100644
--- a/control/chameleon_f77.c
+++ b/control/chameleon_f77.c
@@ -20,7 +20,6 @@
  * @date 2020-03-12
  *
  */
-#include <stdlib.h>
 #include "control/common.h"
 #include "chameleon.h"
 #include "chameleon_f77.h"
diff --git a/control/chameleon_mf77.c b/control/chameleon_mf77.c
index 76ddb5a5a3c9a72b232de653c52b41011e18fb50..2a43c778eb0204a7015520e8bfdba3d03aee73e5 100644
--- a/control/chameleon_mf77.c
+++ b/control/chameleon_mf77.c
@@ -19,7 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "control/common.h"
 
 #define CHAMELEON_ZCGESV           CHAMELEON_FNAME(zcgesv,   ZCGESV)
diff --git a/control/chameleon_zf77.c b/control/chameleon_zf77.c
index f5f4a37ca636aa818e43c007e3dc7b5158538794..611740889f56b5751fd7f9dea3f46a36661eb10b 100644
--- a/control/chameleon_zf77.c
+++ b/control/chameleon_zf77.c
@@ -24,7 +24,6 @@
  * @precisions normal z -> c d s
  *
  */
-#include <stdlib.h>
 #include "control/common.h"
 #include "control/chameleon_f77.h"
 
diff --git a/control/common.h b/control/common.h
index 44b628b40ab0078428a3120da929f2fcc0659aed..ed2daacc04f7c7389b6fe3816a38a3f9a0dec08c 100644
--- a/control/common.h
+++ b/control/common.h
@@ -25,6 +25,15 @@
 #ifndef _chameleon_common_h_
 #define _chameleon_common_h_
 
+#define _GNU_SOURCE 1
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+/**
+ *  Chameleon header files
+ */
+#include "chameleon.h"
 
 #if defined( _WIN32 ) || defined( _WIN64 )
 #include <io.h>
@@ -63,11 +72,6 @@
 #define LAPACK_NAME(a, b) lapackef77_##a
 #endif
 
-/**
- *  Chameleon header files
- */
-#include "chameleon.h"
-
 #include "control/global.h"
 #include "control/auxiliary.h"
 #include "control/context.h"
@@ -118,6 +122,22 @@ void chameleon_pslag2d(CHAM_context_t *chamctxt);
 void chameleon_pclag2z(CHAM_context_t *chamctxt);
 */
 
+#if defined(__GNUC__)
+static inline void chameleon_asprintf( char **strp, const char *fmt, ... ) __attribute__((format(printf,2,3)));
+#endif
+static inline void chameleon_asprintf( char **strp, const char *fmt, ... )
+{
+    va_list ap;
+    int rc;
+
+    va_start( ap, fmt );
+    rc = asprintf( strp, fmt, ap );
+    va_end(ap);
+
+    assert( rc != -1 );
+    (void)rc;
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/control/control.c b/control/control.c
index 5fc134b38e3a54270b68677fc3f0db9ffbde0e4b..52f7385176330aa928cd289dfe163067ad8dc55c 100644
--- a/control/control.c
+++ b/control/control.c
@@ -26,10 +26,6 @@
  * @brief Group routines exposed to users to control CHAMELEON state
  *
  */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "control/auxiliary.h"
 #include "control/common.h"
 #include "chameleon/runtime.h"
 
diff --git a/control/descriptor.c b/control/descriptor.c
index 2a23650bb0a7e1d5be0f79765e30912c133105c1..0f3e9def70c48445e0b1dcd6863d40b9a042eb1b 100644
--- a/control/descriptor.c
+++ b/control/descriptor.c
@@ -105,7 +105,7 @@ void chameleon_desc_init_tiles( CHAM_desc_t *desc )
             tile->mat = (rank == desc->myrank) ? desc->get_blkaddr( desc, ii, jj ) : NULL;
             tile->ld  = desc->get_blkldd( desc, ii );
 #if defined(CHAMELEON_KERNELS_TRACE)
-            asprintf( &(tile->name), "%s(%d,%d)", desc->name, ii, jj);
+            chameleon_asprintf( &(tile->name), "%s(%d,%d)", desc->name, ii, jj );
 #endif
         }
     }
@@ -128,6 +128,7 @@ int chameleon_getrankof_2d_diag( const CHAM_desc_t *A, int m, int n )
 {
     int mm = m + A->i / A->mb;
     assert( m == n );
+    (void)n;
     return (mm % A->p) * A->q + (mm % A->q);
 }
 
@@ -304,6 +305,7 @@ int chameleon_desc_init_internal( CHAM_desc_t *desc, const char *name, void *mat
             break;
         }
         /* Otherwise we switch back to the full allocation */
+        chameleon_attr_fallthrough;
 
     case (intptr_t)CHAMELEON_MAT_ALLOC_GLOBAL:
         rc = chameleon_desc_mat_alloc( desc );
@@ -987,24 +989,38 @@ static void
 chameleon_desc_print( const CHAM_desc_t *desc, int shift )
 {
     intptr_t base = (intptr_t)desc->mat;
-    int m, n;
+    int m, n, rank;
+    CHAM_context_t *chamctxt = chameleon_context_self();
+
+    rank = CHAMELEON_Comm_rank();
 
     for ( n=0; n<desc->nt; n++ ) {
         for ( m=0; m<desc->mt; m++ ) {
             const CHAM_tile_t *tile;
             const CHAM_desc_t *tiledesc;
             intptr_t ptr;
+            int      trank;
 
+            trank    = desc->get_rankof( desc, m, n );
             tile     = desc->get_blktile( desc, m, n );
             tiledesc = tile->mat;
 
             ptr = ( tile->format == CHAMELEON_TILE_DESC ) ? (intptr_t)(tiledesc->mat) : (intptr_t)(tile->mat);
 
-            fprintf( stdout, "%*s%s(%3d,%3d): %d * %d / ld = %d / offset= %ld\n",
-                     shift, " ", desc->name, m, n, tile->m, tile->n, tile->ld, ptr - base );
+            if ( trank == rank ) {
+                fprintf( stdout, "[%2d]%*s%s(%3d,%3d): %d * %d / ld = %d / offset= %ld\n",
+                         rank, shift, " ", desc->name, m, n, tile->m, tile->n, tile->ld, ptr - base );
 
-            if ( tile->format == CHAMELEON_TILE_DESC ) {
-                chameleon_desc_print( tiledesc, shift+2 );
+                if ( tile->format == CHAMELEON_TILE_DESC ) {
+                    chameleon_desc_print( tiledesc, shift+2 );
+                }
+            }
+            else {
+                assert( ptr == 0 );
+            }
+
+            if ( chamctxt->scheduler != RUNTIME_SCHED_OPENMP ) {
+                RUNTIME_barrier(chamctxt);
             }
         }
     }
diff --git a/control/descriptor.h b/control/descriptor.h
index fc239a56964d9dbc8424351d46eae4fbc5689cb2..6bf6d9a81ad9cb57458207b500b45b8fdc0bdc3d 100644
--- a/control/descriptor.h
+++ b/control/descriptor.h
@@ -70,6 +70,9 @@ static inline int chameleon_desc_init( CHAM_desc_t *desc, void *mat,
     assert( i == 0 );
     assert( j == 0 );
     assert( mb * nb == bsiz );
+    (void)bsiz;
+    (void)i;
+    (void)j;
     return chameleon_desc_init_internal( desc, NULL, mat, dtyp, mb, nb, lm, ln, m, n, p, q,
                                          get_blkaddr, get_blkldd, get_rankof );
 }
@@ -78,8 +81,6 @@ CHAM_desc_t* chameleon_desc_submatrix( CHAM_desc_t *descA, int i, int j, int m,
 void         chameleon_desc_destroy  ( CHAM_desc_t *desc );
 int          chameleon_desc_check    ( const CHAM_desc_t *desc );
 
-#define BLKLDD(A, k) A->get_blkldd( A, k )
-
 /**
  *  Internal function to return address of block (m,n) with m,n = block indices
  */
@@ -138,6 +139,7 @@ inline static void *chameleon_getaddr_cm(const CHAM_desc_t *A, int m, int n)
 inline static void *chameleon_getaddr_diag( const CHAM_desc_t *A, int m, int n )
 {
     assert( m == n );
+    (void)n;
     return chameleon_getaddr_ccrb( A, m, 0 );
 }
 
diff --git a/control/descriptor_rec.c b/control/descriptor_rec.c
index 496a4f4a0ae403ab357c012510123443eb1d3d2e..d595ec08b043b77ffff98ad4aba3132237f9025d 100644
--- a/control/descriptor_rec.c
+++ b/control/descriptor_rec.c
@@ -29,16 +29,29 @@ chameleon_recdesc_create( const char *name, CHAM_desc_t **descptr, void *mat, ch
                           int lm, int ln, int m, int n, int p, int q,
                           blkaddr_fct_t get_blkaddr, blkldd_fct_t get_blkldd, blkrankof_fct_t get_rankof )
 {
-    CHAM_desc_t *desc;
+    CHAM_context_t *chamctxt;
+    CHAM_desc_t    *desc;
     int rc;
 
+    *descptr = NULL;
+
+    chamctxt = chameleon_context_self();
+    if ( chamctxt == NULL ) {
+        chameleon_error( "CHAMELEON_Recursive_Desc_Create", "CHAMELEON not initialized" );
+        return CHAMELEON_ERR_NOT_INITIALIZED;
+    }
+    if ( chamctxt->scheduler != RUNTIME_SCHED_STARPU ) {
+        chameleon_error( "CHAMELEON_Recursive_Desc_Create", "CHAMELEON Recursive descriptors only available with StaRPU" );
+        return CHAMELEON_ERR_NOT_INITIALIZED;
+    }
+
     /* Let's make sure we have at least one couple (mb, nb) defined */
     assert( (mb[0] > 0) && (nb[0] > 0) );
 
     /* Create the current layer descriptor */
     desc = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t));
     rc = chameleon_desc_init_internal( desc, name, mat, dtyp, mb[0], nb[0],
-                                       lm, ln, m, n, 1, 1,
+                                       lm, ln, m, n, p, q,
                                        get_blkaddr, get_blkldd, get_rankof );
     *descptr = desc;
 
@@ -63,7 +76,8 @@ chameleon_recdesc_create( const char *name, CHAM_desc_t **descptr, void *mat, ch
             tile = desc->get_blktile( desc, m, n );
             tempmm = m == desc->mt-1 ? desc->m - m * desc->mb : desc->mb;
             tempnn = n == desc->nt-1 ? desc->n - n * desc->nb : desc->nb;
-            asprintf( &subname, "%s[%d,%d]", name, m, n );
+
+            chameleon_asprintf( &subname, "%s[%d,%d]", name, m, n );
 
             chameleon_recdesc_create( subname, &tiledesc, tile->mat,
                                       desc->dtyp, mb, nb,
diff --git a/control/workspace.c b/control/workspace.c
index 8375e8ab75d8a796126c42155d578a72e163f4c4..28581d42bd7bf571168ac03bcbbf8e257f702ef2 100644
--- a/control/workspace.c
+++ b/control/workspace.c
@@ -23,8 +23,6 @@
  * @brief Group routines exposed to users about specific workspaces management
  *
  */
-
-#include <stdlib.h>
 #include "control/common.h"
 #include "control/auxiliary.h"
 #include "control/workspace.h"
diff --git a/coreblas/compute/core_zcesca.c b/coreblas/compute/core_zcesca.c
index 989e48b82ad718b41d0975628368df85ba39c232..3f81f42700876a90c0410667004497202634b90a 100644
--- a/coreblas/compute/core_zcesca.c
+++ b/coreblas/compute/core_zcesca.c
@@ -136,6 +136,9 @@ int CORE_zcesca( int center, int scale,
     CHAMELEON_Complex64_t gi, gj, g, rc, sqrc;
     double di, dj;
 
+    gj = 0.;
+    dj = 0.;
+
     /* Check input arguments */
     if ( (center != 0) && (center != 1) ) {
         coreblas_error(1, "Illegal value of center");
diff --git a/coreblas/compute/core_zlatm1.c b/coreblas/compute/core_zlatm1.c
index d715ba61e0ff1e0a345625e7cc85213904611248..18a823e59eed6302554bbfd8dfbead4ca1372ab5 100644
--- a/coreblas/compute/core_zlatm1.c
+++ b/coreblas/compute/core_zlatm1.c
@@ -102,6 +102,7 @@ int CORE_zlatm1( int MODE, double COND, int IRSIGN, cham_dist_t DIST,
     unsigned long long int ran;
     int i;
     double alpha, temp;
+    CHAMELEON_Complex64_t ctemp;
 
     /*
      * Quick return if possible
@@ -234,8 +235,8 @@ int CORE_zlatm1( int MODE, double COND, int IRSIGN, cham_dist_t DIST,
 #if defined(PRECISION_z) || defined(PRECISION_c)
             double t1 = CORE_dlaran( &ran );
             double t2 = CORE_dlaran( &ran );
-            temp = sqrt( -2 * log( t1 ) ) * exp( I * 2. * M_PI * t2 );
-            D[i] = D[i] * ( temp / cabs(temp) );
+            ctemp = sqrt( -2 * log( t1 ) ) * exp( I * 2. * M_PI * t2 );
+            D[i] = D[i] * ( ctemp / cabs(ctemp) );
 #else
             if ( CORE_dlaran( &ran ) > .5 ) {
                 D[i] = -D[i];
@@ -249,9 +250,9 @@ int CORE_zlatm1( int MODE, double COND, int IRSIGN, cham_dist_t DIST,
      */
     if ( MODE < 0 ) {
         for( i=0; i<N/2; i++ ) {
-            temp = D[i];
-            D[i] = D[N-1-i];
-            D[N-1-i] = temp;
+            ctemp    = D[i];
+            D[i]     = D[N-1-i];
+            D[N-1-i] = ctemp;
         }
     }
 
diff --git a/coreblas/eztrace_module/CMakeLists.txt b/coreblas/eztrace_module/CMakeLists.txt
index 73f2559af3347a6d64c68b71b002b769cf0d693f..083ff4f9ac13029f19c033b695cb378db0a27fd8 100644
--- a/coreblas/eztrace_module/CMakeLists.txt
+++ b/coreblas/eztrace_module/CMakeLists.txt
@@ -28,7 +28,7 @@ if (NOT EZTRACE_FOUND)
     find_package(EZTRACE)
 endif()
 
-if (EZTRACE_FOUND AND EZTRACE_DIR_FOUND)
+if (EZTRACE_FOUND)
 
     set(EZTRACE_eztrace_create_plugin_DIR "EZTRACE_eztrace_create_plugin_DIR-NOTFOUND")
     find_path(EZTRACE_eztrace_create_plugin_DIR
@@ -75,7 +75,7 @@ if (EZTRACE_FOUND AND EZTRACE_DIR_FOUND)
         endforeach()
     endif (EZTRACE_eztrace_create_plugin_DIR)
 
-endif (EZTRACE_FOUND AND EZTRACE_DIR_FOUND)
+endif (EZTRACE_FOUND)
 
 ###
 ### END CMakeLists.txt
diff --git a/cudablas/compute/cuda_zgemerge.c b/cudablas/compute/cuda_zgemerge.c
index 5d7aa0cb4b7e0027da4151be5cf0eee98f0279d1..9f3f8d134b1695e69ce1537c429ef013cbd945de 100644
--- a/cudablas/compute/cuda_zgemerge.c
+++ b/cudablas/compute/cuda_zgemerge.c
@@ -23,12 +23,13 @@
 int
 CUDA_zgemerge( cham_side_t side, cham_diag_t diag,
                int M, int N,
-               cuDoubleComplex *A, int LDA,
+               const cuDoubleComplex *A, int LDA,
                cuDoubleComplex *B, int LDB,
                CUBLAS_STREAM_PARAM)
 {
     int i;
-    cuDoubleComplex *cola, *colb;
+    const cuDoubleComplex *cola;
+    cuDoubleComplex       *colb;
 
     if (M < 0) {
         return -1;
diff --git a/cudablas/compute/cuda_zgemm.c b/cudablas/compute/cuda_zgemm.c
index ebf104209b20ab1f2a557cd398be0a342a973e9f..7a5900b761ad081181e6b47977e540aa16797b1b 100644
--- a/cudablas/compute/cuda_zgemm.c
+++ b/cudablas/compute/cuda_zgemm.c
@@ -22,10 +22,10 @@
 
 int CUDA_zgemm(cham_trans_t transa, cham_trans_t transb,
                int m, int n, int k,
-               cuDoubleComplex *alpha,
+               const cuDoubleComplex *alpha,
                const cuDoubleComplex *A, int lda,
                const cuDoubleComplex *B, int ldb,
-               cuDoubleComplex *beta,
+               const cuDoubleComplex *beta,
                cuDoubleComplex *C, int ldc,
                CUBLAS_STREAM_PARAM)
 {
diff --git a/cudablas/compute/cuda_zhemm.c b/cudablas/compute/cuda_zhemm.c
index 0a71c08fee4e047293488e3cda871c42b5eaf867..26a470b3414aed3777a23e526ccd8e30febe75b4 100644
--- a/cudablas/compute/cuda_zhemm.c
+++ b/cudablas/compute/cuda_zhemm.c
@@ -22,10 +22,10 @@
 
 int CUDA_zhemm(cham_side_t side, cham_uplo_t uplo,
                int m, int n,
-               cuDoubleComplex *alpha,
+               const cuDoubleComplex *alpha,
                const cuDoubleComplex *A, int lda,
                const cuDoubleComplex *B, int ldb,
-               cuDoubleComplex *beta,
+               const cuDoubleComplex *beta,
                cuDoubleComplex *C, int ldc,
                CUBLAS_STREAM_PARAM)
 {
diff --git a/cudablas/compute/cuda_zher2k.c b/cudablas/compute/cuda_zher2k.c
index b5a8945c75fac27f4df2c54c4eb7fa0a60060c5c..0fd08570d9722bbdcc9a0f419008f343355077a7 100644
--- a/cudablas/compute/cuda_zher2k.c
+++ b/cudablas/compute/cuda_zher2k.c
@@ -22,10 +22,10 @@
 
 int CUDA_zher2k(cham_uplo_t uplo, cham_trans_t trans,
                 int n, int k,
-                cuDoubleComplex *alpha,
+                const cuDoubleComplex *alpha,
                 const cuDoubleComplex *A, int lda,
                 const cuDoubleComplex *B, int ldb,
-                double *beta,
+                const double *beta,
                 cuDoubleComplex *C, int ldc,
                 CUBLAS_STREAM_PARAM)
 {
diff --git a/cudablas/compute/cuda_zherk.c b/cudablas/compute/cuda_zherk.c
index 34674e9ff31a929f52fc7616e2b6d99dff52d32a..cd0d7ff6441932487e13e5ac4fc6ac9f59d3a12a 100644
--- a/cudablas/compute/cuda_zherk.c
+++ b/cudablas/compute/cuda_zherk.c
@@ -22,9 +22,9 @@
 
 int CUDA_zherk( cham_uplo_t uplo, cham_trans_t trans,
                 int n, int k,
-                double *alpha,
+                const double *alpha,
                 const cuDoubleComplex *A, int lda,
-                double *beta,
+                const double *beta,
                 cuDoubleComplex *B, int ldb,
                 CUBLAS_STREAM_PARAM)
 {
diff --git a/cudablas/compute/cuda_zlarfb.c b/cudablas/compute/cuda_zlarfb.c
index 51bbbc14601e1414a1d8607cf07a2c8ab892d7cb..3cc573ff59c813e7f9448ac847684e84de4a3f45 100644
--- a/cudablas/compute/cuda_zlarfb.c
+++ b/cudablas/compute/cuda_zlarfb.c
@@ -42,7 +42,8 @@ CUDA_zlarfb( cham_side_t side, cham_trans_t trans,
     double mzone = -1.0;
 #endif /* defined(PRECISION_z) || defined(PRECISION_c) */
 
-    cham_trans_t transT, uplo, notransV, transV;
+    cham_trans_t transT, notransV, transV;
+    cham_uplo_t  uplo;
 
     /* Check input arguments */
     if ((side != ChamLeft) && (side != ChamRight)) {
diff --git a/cudablas/compute/cuda_zsymm.c b/cudablas/compute/cuda_zsymm.c
index ecf201b2585e129f890a0d544564575ce4c1293f..2ed61af73945442e9586c0c2b5a98fb909aecd2a 100644
--- a/cudablas/compute/cuda_zsymm.c
+++ b/cudablas/compute/cuda_zsymm.c
@@ -20,14 +20,14 @@
  */
 #include "cudablas.h"
 
-int CUDA_zsymm(cham_side_t side, cham_uplo_t uplo,
-               int m, int n,
-               cuDoubleComplex *alpha,
-        const cuDoubleComplex *A, int lda,
-               const cuDoubleComplex *B, int ldb,
-               cuDoubleComplex *beta,
-               cuDoubleComplex *C, int ldc,
-               CUBLAS_STREAM_PARAM)
+int CUDA_zsymm( cham_side_t side, cham_uplo_t uplo,
+                int m, int n,
+                const cuDoubleComplex *alpha,
+                const cuDoubleComplex *A, int lda,
+                const cuDoubleComplex *B, int ldb,
+                const cuDoubleComplex *beta,
+                cuDoubleComplex *C, int ldc,
+                CUBLAS_STREAM_PARAM )
 {
     cublasZsymm(CUBLAS_HANDLE
                 chameleon_cublas_const(side), chameleon_cublas_const(uplo),
diff --git a/cudablas/compute/cuda_zsyr2k.c b/cudablas/compute/cuda_zsyr2k.c
index fb4217d0a09574630dc7f393890547e718fc0840..5c40f1d54fa8034218c9ccd9afd6c409e493186b 100644
--- a/cudablas/compute/cuda_zsyr2k.c
+++ b/cudablas/compute/cuda_zsyr2k.c
@@ -23,10 +23,10 @@
 int CUDA_zsyr2k(
         cham_uplo_t uplo, cham_trans_t trans,
         int n, int k,
-        cuDoubleComplex *alpha,
+        const cuDoubleComplex *alpha,
         const cuDoubleComplex *A, int lda,
         const cuDoubleComplex *B, int ldb,
-        cuDoubleComplex *beta,
+        const cuDoubleComplex *beta,
         cuDoubleComplex *C, int ldc,
         CUBLAS_STREAM_PARAM)
 {
diff --git a/cudablas/compute/cuda_zsyrk.c b/cudablas/compute/cuda_zsyrk.c
index 73a78280606cfea3befcd86e4247fd496bc2867d..b2a61353c747a430b887a661f588f502d713fe79 100644
--- a/cudablas/compute/cuda_zsyrk.c
+++ b/cudablas/compute/cuda_zsyrk.c
@@ -22,9 +22,9 @@
 
 int CUDA_zsyrk(cham_uplo_t uplo, cham_trans_t trans,
                int n, int k,
-               cuDoubleComplex *alpha,
+               const cuDoubleComplex *alpha,
                const cuDoubleComplex *A, int lda,
-               cuDoubleComplex *beta,
+               const cuDoubleComplex *beta,
                cuDoubleComplex *C, int ldc,
                CUBLAS_STREAM_PARAM)
 {
diff --git a/cudablas/compute/cuda_ztrmm.c b/cudablas/compute/cuda_ztrmm.c
index 71d9fa419a102dee69822f1ad0de5bee2ede21dc..a054413e7619e64d215ad4c68c1ef70294394fd5 100644
--- a/cudablas/compute/cuda_ztrmm.c
+++ b/cudablas/compute/cuda_ztrmm.c
@@ -24,7 +24,7 @@ int CUDA_ztrmm(
     cham_side_t side, cham_uplo_t uplo,
     cham_trans_t transa, cham_diag_t diag,
     int m, int n,
-    cuDoubleComplex *alpha,
+    const cuDoubleComplex *alpha,
     const cuDoubleComplex *A, int lda,
     cuDoubleComplex *B, int ldb,
     CUBLAS_STREAM_PARAM)
diff --git a/cudablas/compute/cuda_ztrsm.c b/cudablas/compute/cuda_ztrsm.c
index e2407be7caaf9d12e8d49360e5b96a1239ba883c..5f63d2464c679c239393040f66bb8f5ef3c1df9b 100644
--- a/cudablas/compute/cuda_ztrsm.c
+++ b/cudablas/compute/cuda_ztrsm.c
@@ -23,7 +23,7 @@
 int CUDA_ztrsm(cham_side_t side, cham_uplo_t uplo,
                cham_trans_t transa, cham_diag_t diag,
                int m, int n,
-               cuDoubleComplex *alpha,
+               const cuDoubleComplex *alpha,
                const cuDoubleComplex *A, int lda,
                cuDoubleComplex *B, int ldb,
                CUBLAS_STREAM_PARAM)
diff --git a/cudablas/include/cudablas/cudablas_z.h b/cudablas/include/cudablas/cudablas_z.h
index 49fcab19c46bbdf46c00fbce149b20c86096e279..2d22e33ca04a2215f76b477ca2a90c4b6c4cb96f 100644
--- a/cudablas/include/cudablas/cudablas_z.h
+++ b/cudablas/include/cudablas/cudablas_z.h
@@ -25,21 +25,21 @@
  *  Declarations of cuda kernels - alphabetical order
  */
 int CUDA_zgeadd( cham_trans_t trans, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
-int CUDA_zgemerge( cham_side_t side, cham_diag_t diag, int M, int N, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, CUBLAS_STREAM_PARAM );
-int CUDA_zgemm(  cham_trans_t transa, cham_trans_t transb, int m, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
-int CUDA_zhemm(  cham_side_t side, cham_uplo_t uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
-int CUDA_zher2k( cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, double *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
+int CUDA_zgemerge( cham_side_t side, cham_diag_t diag, int M, int N, const cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, CUBLAS_STREAM_PARAM );
+int CUDA_zgemm(  cham_trans_t transa, cham_trans_t transb, int m, int n, int k, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, const cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
+int CUDA_zhemm(  cham_side_t side, cham_uplo_t uplo, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, const cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
+int CUDA_zher2k( cham_uplo_t uplo, cham_trans_t trans, int n, int k, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, const double *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
 int CUDA_zherfb( cham_uplo_t uplo, int n, int k, int ib, int nb, const cuDoubleComplex *A, int lda, const cuDoubleComplex *T, int ldt, cuDoubleComplex *C, int ldc, cuDoubleComplex *WORK, int ldwork, CUBLAS_STREAM_PARAM );
-int CUDA_zherk(  cham_uplo_t uplo, cham_trans_t trans, int n, int k, double *alpha, const cuDoubleComplex *A, int lda, double *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
+int CUDA_zherk(  cham_uplo_t uplo, cham_trans_t trans, int n, int k, const double *alpha, const cuDoubleComplex *A, int lda, const double *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
 int CUDA_zlarfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M, int N, int K, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM );
 int CUDA_zparfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M1, int N1, int M2, int N2, int K, int L, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LWORK, CUBLAS_STREAM_PARAM );
-int CUDA_zsymm(  cham_side_t side, cham_uplo_t uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
-int CUDA_zsyr2k( cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
-int CUDA_zsyrk(  cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
+int CUDA_zsymm(  cham_side_t side, cham_uplo_t uplo, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, const cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
+int CUDA_zsyr2k( cham_uplo_t uplo, cham_trans_t trans, int n, int k, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, const cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
+int CUDA_zsyrk(  cham_uplo_t uplo, cham_trans_t trans, int n, int k, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM );
 int CUDA_ztpmqrt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, cuDoubleComplex *WORK, int lwork, CUBLAS_STREAM_PARAM );
 int CUDA_ztpmlqt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, cuDoubleComplex *WORK, int lwork, CUBLAS_STREAM_PARAM );
-int CUDA_ztrmm(  cham_side_t side, cham_uplo_t uplo, cham_trans_t transa, cham_diag_t diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
-int CUDA_ztrsm(  cham_side_t side, cham_uplo_t uplo, cham_trans_t transa, cham_diag_t diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
+int CUDA_ztrmm(  cham_side_t side, cham_uplo_t uplo, cham_trans_t transa, cham_diag_t diag, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
+int CUDA_ztrsm(  cham_side_t side, cham_uplo_t uplo, cham_trans_t transa, cham_diag_t diag, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM );
 int CUDA_ztsmlq( cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LWORK, CUBLAS_STREAM_PARAM );
 int CUDA_zttmlq( cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LWORK, CUBLAS_STREAM_PARAM );
 int CUDA_ztsmqr( cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LWORK, CUBLAS_STREAM_PARAM );
diff --git a/include/chameleon.h b/include/chameleon.h
index 49e9e4d06cf945c8c636a8717d5f44db5336dcea..e34925827c218b11af541393e4912deb599e7596 100644
--- a/include/chameleon.h
+++ b/include/chameleon.h
@@ -188,26 +188,33 @@ int  CHAMELEON_Recursive_Desc_Create( CHAM_desc_t **descptr, void *mat, cham_flt
  *
  */
 #if defined(CHAMELEON_SCHED_OPENMP)
-#define CHAMELEON_Init(nworkers, ncudas)\
-    __chameleon_init(nworkers, ncudas);\
-    _Pragma("omp parallel")\
-    _Pragma("omp master")\
+#define CHAMELEON_Init( _nworkers_, _ncudas_ )           \
+    __chameleon_init( (_nworkers_), (_ncudas_) );       \
+    _Pragma("omp parallel")                                    \
+    _Pragma("omp master")                                      \
     {
-#define CHAMELEON_InitPar(nworkers, ncudas, nthreads_per_worker)\
-    __chameleon_initpar(nworkers, ncudas, nthreads_per_worker);\
+
+#define CHAMELEON_InitPar( _nworkers_, _ncudas_, _nthreads_per_worker_ ) \
+    __chameleon_initpar( (_nworkers_), (_ncudas_), (_nthreads_per_worker_) ); \
     _Pragma("omp parallel")\
     _Pragma("omp master")\
     {
-#define CHAMELEON_Finalize()\
-    }\
+
+#define CHAMELEON_Finalize()                    \
+    }                                           \
     __chameleon_finalize();
+
 #else
-#define CHAMELEON_Init(nworkers, ncudas)\
-  __chameleon_init(nworkers, ncudas);
-#define CHAMELEON_InitPar(nworkers, ncudas, nthreads_per_worker)\
-  __chameleon_initpar(nworkers, ncudas, nthreads_per_worker);
-#define CHAMELEON_Finalize()\
-  __chameleon_finalize();
+
+#define CHAMELEON_Init( _nworkers_, _ncudas_ )            \
+    __chameleon_init( (_nworkers_), (_ncudas_) );
+
+#define CHAMELEON_InitPar( _nworkers_, _ncudas_, _nthreads_per_worker_ ) \
+    __chameleon_initpar( (_nworkers_), (_ncudas_), (_nthreads_per_worker_) );
+
+#define CHAMELEON_Finalize()                    \
+    __chameleon_finalize();
+
 #endif
 
 END_C_DECLS
diff --git a/include/chameleon/config.h.in b/include/chameleon/config.h.in
index dc878d47b68f1a0e514ca9b9bf6f9c95de0e1ece..2b7e3e4bc644f17cf7980463cfda09363a9ddc54 100644
--- a/include/chameleon/config.h.in
+++ b/include/chameleon/config.h.in
@@ -70,6 +70,13 @@
 /* chameleon runtime starpu */
 #cmakedefine CHAMELEON_ENABLE_PRUNING_STATS
 
+#cmakedefine HAVE_FALLTHROUGH
+#if defined(HAVE_FALLTHROUGH)
+#define chameleon_attr_fallthrough __attribute__((fallthrough))
+#else
+#define chameleon_attr_fallthrough do {} while(0)
+#endif
+
 #ifdef BEGIN_C_DECLS
 #undef BEGIN_C_DECLS
 #endif
diff --git a/runtime/openmp/CMakeLists.txt b/runtime/openmp/CMakeLists.txt
index 1fd0207ad19fdcbd513820cbeb2b02d8ddeb65ff..0a2242ff79a962b8941c48f826e4b8317c30a6b4 100644
--- a/runtime/openmp/CMakeLists.txt
+++ b/runtime/openmp/CMakeLists.txt
@@ -129,7 +129,7 @@ target_include_directories(chameleon_openmp PRIVATE
   $<BUILD_INTERFACE:${CHAMELEON_SOURCE_DIR}/coreblas/include>
   $<BUILD_INTERFACE:${CHAMELEON_BINARY_DIR}/coreblas/include>)
 
-target_link_libraries(chameleon_openmp PRIVATE OpenMP::OpenMP_C)
+target_link_libraries(chameleon_openmp PUBLIC OpenMP::OpenMP_C)
 target_link_libraries(chameleon_openmp PRIVATE coreblas)
 target_link_libraries(chameleon_openmp PRIVATE MORSE::M)
 
diff --git a/runtime/openmp/codelets/codelet_dlag2z.c b/runtime/openmp/codelets/codelet_dlag2z.c
index 5a5eae60332210c767854e48ccfc71ecc27efb6b..aa5c6a30dfffbadeb77fa7e5a9eed425023b491f 100644
--- a/runtime/openmp/codelets/codelet_dlag2z.c
+++ b/runtime/openmp/codelets/codelet_dlag2z.c
@@ -31,4 +31,6 @@ void INSERT_TASK_dlag2z( const RUNTIME_option_t *options,
 
 #pragma omp task firstprivate( uplo, m, n, tileA, tileB ) depend( in:tileA[0] ) depend( out:tileB[0] )
     TCORE_dlag2z( uplo, m, n, tileA, tileB );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_dzasum.c b/runtime/openmp/codelets/codelet_dzasum.c
index 77679fedaaffcc24ee775b784b379c5b5b7f4963..38b052c0c90db0cd9bd0e5b155586d6cc9f47a7f 100644
--- a/runtime/openmp/codelets/codelet_dzasum.c
+++ b/runtime/openmp/codelets/codelet_dzasum.c
@@ -30,6 +30,6 @@ void INSERT_TASK_dzasum( const RUNTIME_option_t *options,
 
 #pragma omp task firstprivate( storev, uplo, M, N, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_dzasum( storev, uplo, M, N, tileA, tileB->mat );
-}
-
 
+    (void)options;
+}
diff --git a/runtime/openmp/codelets/codelet_map.c b/runtime/openmp/codelets/codelet_map.c
index 3e83e8b2682c714d51420ab48e612815a85e7dee..b58575eceef31f720f9eb686f1cddd542fccfb41 100644
--- a/runtime/openmp/codelets/codelet_map.c
+++ b/runtime/openmp/codelets/codelet_map.c
@@ -28,4 +28,5 @@ void INSERT_TASK_map( const RUNTIME_option_t *options,
         op_fct( A, uplo, Am, An, tileA, op_args );
     }
 
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zaxpy.c b/runtime/openmp/codelets/codelet_zaxpy.c
index e338591c38919872cd3c8b403d828464dcf42996..8edbc3a1561e9611bbf6e914320545a8a6a5c06c 100644
--- a/runtime/openmp/codelets/codelet_zaxpy.c
+++ b/runtime/openmp/codelets/codelet_zaxpy.c
@@ -29,5 +29,6 @@ void INSERT_TASK_zaxpy( const RUNTIME_option_t *options,
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
 #pragma omp task firstprivate( M, alpha, incA, incB, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_zaxpy( M, alpha, tileA, incA, tileB, incB );
-}
 
+    (void)options;
+}
diff --git a/runtime/openmp/codelets/codelet_zbuild.c b/runtime/openmp/codelets/codelet_zbuild.c
index 1e816497a538bf0e4965437f9eb749001f3937bb..fc343e183a05dc4f5d8b046815d30f7c819efa08 100644
--- a/runtime/openmp/codelets/codelet_zbuild.c
+++ b/runtime/openmp/codelets/codelet_zbuild.c
@@ -21,18 +21,20 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zbuild( const RUNTIME_option_t *options,
-                        const CHAM_desc_t *A, int Am, int An,
-                        void *user_data, void* user_build_callback )
+                         const CHAM_desc_t *A, int Am, int An,
+                         void *user_data, void* user_build_callback )
 {
-  int row_min, row_max, col_min, col_max;
-  row_min = Am*A->mb ;
-  row_max = Am == A->mt-1 ? A->m-1 : row_min+A->mb-1 ;
-  col_min = An*A->nb ;
-  col_max = An == A->nt-1 ? A->n-1 : col_min+A->nb-1 ;
-  CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
-  void ( *callback )( int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data ) ;
-  callback = user_build_callback;
+    int row_min, row_max, col_min, col_max;
+    row_min = Am*A->mb ;
+    row_max = Am == A->mt-1 ? A->m-1 : row_min+A->mb-1 ;
+    col_min = An*A->nb ;
+    col_max = An == A->nt-1 ? A->n-1 : col_min+A->nb-1 ;
+    CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
+    void ( *callback )( int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data ) ;
+    callback = user_build_callback;
 
 #pragma omp task firstprivate( row_min, row_max, col_min, col_max, tileA, user_data ) depend( inout:tileA[0] )
-  callback( row_min, row_max, col_min, col_max, tileA->mat, tileA->ld, user_data );
+    callback( row_min, row_max, col_min, col_max, tileA->mat, tileA->ld, user_data );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zcesca.c b/runtime/openmp/codelets/codelet_zcesca.c
index e7724e52bc33f09aa956f1e9dd42fda4a55d2d38..dc92f33d06ccf76a48a4b69e5b16df71e5116abd 100644
--- a/runtime/openmp/codelets/codelet_zcesca.c
+++ b/runtime/openmp/codelets/codelet_zcesca.c
@@ -27,7 +27,7 @@ void INSERT_TASK_zcesca( const RUNTIME_option_t *options,
                          const CHAM_desc_t *G,  int Gm,  int Gn,
                          const CHAM_desc_t *Di, int Dim, int Din,
                          const CHAM_desc_t *Dj, int Djm, int Djn,
-                               CHAM_desc_t *A,  int Am,  int An )
+                         CHAM_desc_t *A,  int Am,  int An )
 {
     CHAM_tile_t *tileGi = Gi->get_blktile( Gi, Gim, Gin );
     CHAM_tile_t *tileGj = Gj->get_blktile( Gj, Gjm, Gjn );
@@ -39,4 +39,6 @@ void INSERT_TASK_zcesca( const RUNTIME_option_t *options,
 #pragma omp task firstprivate( center, scale, axis, m, n, mt, nt, tileGi, tileGj, tileG, tileDi, tileDj, tileA ) depend( in:tileGi[0], tileGj[0], tileG[0], tileDi[0], tileDj[0] ) depend( inout:tileA[0] )
     TCORE_zcesca( center, scale, axis, m, n, mt, nt,
                   tileGi, tileGj, tileG, tileDi, tileDj, tileA );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zgeadd.c b/runtime/openmp/codelets/codelet_zgeadd.c
index 2de3ceffded50c33eecef07180d136c8119c79f7..253cce2a41b672ab4d3bc4c5ef05810f945c16a7 100644
--- a/runtime/openmp/codelets/codelet_zgeadd.c
+++ b/runtime/openmp/codelets/codelet_zgeadd.c
@@ -29,4 +29,7 @@ void INSERT_TASK_zgeadd( const RUNTIME_option_t *options,
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
 #pragma omp task firstprivate( trans, m, n, alpha, beta, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_zgeadd( trans, m, n, alpha, tileA, beta, tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zgelqt.c b/runtime/openmp/codelets/codelet_zgelqt.c
index 5d83a18427182c7954062931349623633efdc8c4..6a2993ef51dca51405511d971632977877f79eea 100644
--- a/runtime/openmp/codelets/codelet_zgelqt.c
+++ b/runtime/openmp/codelets/codelet_zgelqt.c
@@ -37,4 +37,7 @@ void INSERT_TASK_zgelqt( const RUNTIME_option_t *options,
       TCORE_zlaset( ChamUpperLower, ib, m, 0., 0., tileT );
       TCORE_zgelqt( m, n, ib, tileA, tileT, TAU, work );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zgemm.c b/runtime/openmp/codelets/codelet_zgemm.c
index 00b7979b10d608feb236776d19c5d1b574223f07..5706c82d6ac1a5c5e71abec2b6d30cdafcb31e31 100644
--- a/runtime/openmp/codelets/codelet_zgemm.c
+++ b/runtime/openmp/codelets/codelet_zgemm.c
@@ -38,4 +38,7 @@ INSERT_TASK_zgemm( const RUNTIME_option_t *options,
                 alpha, tileA,
                 tileB,
                 beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zgemv.c b/runtime/openmp/codelets/codelet_zgemv.c
index afbab572186a9ede03ee1499271ae2c41b87c979..8f87a167383f5b6ab5c0ccae766aaa184296a770 100644
--- a/runtime/openmp/codelets/codelet_zgemv.c
+++ b/runtime/openmp/codelets/codelet_zgemv.c
@@ -34,4 +34,6 @@ INSERT_TASK_zgemv( const RUNTIME_option_t *options,
     TCORE_zgemv( trans,  m, n,
                  alpha, tileA, tileX, incX,
                  beta,  tileY, incY );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zgeqrt.c b/runtime/openmp/codelets/codelet_zgeqrt.c
index 8049e3a675f7bed5abcec1b3b80c7e7f668c4a2e..8bd38548aaaf685e2993d6b5188499d555b747b7 100644
--- a/runtime/openmp/codelets/codelet_zgeqrt.c
+++ b/runtime/openmp/codelets/codelet_zgeqrt.c
@@ -37,4 +37,7 @@ void INSERT_TASK_zgeqrt( const RUNTIME_option_t *options,
       TCORE_zlaset( ChamUpperLower, ib, n, 0., 0., tileT );
       TCORE_zgeqrt( m, n, ib, tileA, tileT, TAU, work );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zgessm.c b/runtime/openmp/codelets/codelet_zgessm.c
index 20094e5060ccca3f318917387055e57bc8bffabf..10d876a6e67390cfd54c88831534b6f313181b0d 100644
--- a/runtime/openmp/codelets/codelet_zgessm.c
+++ b/runtime/openmp/codelets/codelet_zgessm.c
@@ -29,6 +29,13 @@ void INSERT_TASK_zgessm( const RUNTIME_option_t *options,
 {
     CHAM_tile_t *tileD = D->get_blktile( D, Dm, Dn );
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
+
 #pragma omp task firstprivate( m, n, k, ib, IPIV, tileD, tileA ) depend( in:tileD[0] ) depend( inout:tileA[0] )
     TCORE_zgessm( m, n, k, ib, IPIV, tileD, tileA );
+
+    (void)options;
+    (void)nb;
+    (void)L;
+    (void)Lm;
+    (void)Ln;
 }
diff --git a/runtime/openmp/codelets/codelet_zgessq.c b/runtime/openmp/codelets/codelet_zgessq.c
index 90e8485767494480a9e00089652d21ace873b5dd..132b3a9e9c10b03c65a60ce0b8ae891c3928654a 100644
--- a/runtime/openmp/codelets/codelet_zgessq.c
+++ b/runtime/openmp/codelets/codelet_zgessq.c
@@ -30,4 +30,6 @@ void INSERT_TASK_zgessq( const RUNTIME_option_t *options,
     CHAM_tile_t *tileScaleSum = SCALESUMSQ->get_blktile( SCALESUMSQ, SCALESUMSQm, SCALESUMSQn );
 #pragma omp task firstprivate( storev, m, n, tileA, tileScaleSum ) depend( in:tileA[0] ) depend( inout:tileScaleSum[0] )
     TCORE_zgessq( storev, m, n, tileA, tileScaleSum );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zgesum.c b/runtime/openmp/codelets/codelet_zgesum.c
index 86b7bfd084fadee98c6218384e396597137e189f..f52f4bec5170be457c96dfc78d5550f4d4dcf6bb 100644
--- a/runtime/openmp/codelets/codelet_zgesum.c
+++ b/runtime/openmp/codelets/codelet_zgesum.c
@@ -28,4 +28,6 @@ void INSERT_TASK_zgesum( const RUNTIME_option_t *options,
     CHAM_tile_t *tileScaleSum = SUMS->get_blktile( SUMS, SUMSm, SUMSn );
 #pragma omp task firstprivate( storev, m, n, tileA, tileScaleSum ) depend( in:tileA[0] ) depend( inout:tileScaleSum[0] )
     TCORE_zgesum( storev, m, n, tileA, tileScaleSum );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zgetrf.c b/runtime/openmp/codelets/codelet_zgetrf.c
index 87b9472cddb2617bb0a10d689e82a7dba576015b..1f92b7a3d69b21b8f7f6a418604a8afbd9664653 100644
--- a/runtime/openmp/codelets/codelet_zgetrf.c
+++ b/runtime/openmp/codelets/codelet_zgetrf.c
@@ -28,6 +28,12 @@ void INSERT_TASK_zgetrf( const RUNTIME_option_t *options,
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     int info = 0;
+
 #pragma omp task firstprivate( m, n, tileA, IPIV, info ) depend( out:IPIV[0] ) depend( inout:tileA[0] )
     TCORE_zgetrf( m, n, tileA, IPIV, &info );
+
+    (void)options;
+    (void)nb;
+    (void)check_info;
+    (void)iinfo;
 }
diff --git a/runtime/openmp/codelets/codelet_zgetrf_incpiv.c b/runtime/openmp/codelets/codelet_zgetrf_incpiv.c
index 456c247a9827efc12d4f92fd6644a02b521a575f..1b8dad5450111457b54170a807652a55cc8c6885 100644
--- a/runtime/openmp/codelets/codelet_zgetrf_incpiv.c
+++ b/runtime/openmp/codelets/codelet_zgetrf_incpiv.c
@@ -31,4 +31,12 @@ void INSERT_TASK_zgetrf_incpiv( const RUNTIME_option_t *options,
     int info = 0;
 #pragma omp task firstprivate( m, n, ib, tileA, IPIV, info ) depend( out:IPIV[0] ) depend( inout:tileA[0] )
     TCORE_zgetrf_incpiv( m, n, ib, tileA, IPIV, &info );
+
+    (void)options;
+    (void)nb;
+    (void)L;
+    (void)Lm;
+    (void)Ln;
+    (void)check_info;
+    (void)iinfo;
 }
diff --git a/runtime/openmp/codelets/codelet_zgetrf_nopiv.c b/runtime/openmp/codelets/codelet_zgetrf_nopiv.c
index 2e108a71731ba11035f6cc86240f57a51679334e..63a6a07ed449fda7700263ce8f27e29ba734ddd8 100644
--- a/runtime/openmp/codelets/codelet_zgetrf_nopiv.c
+++ b/runtime/openmp/codelets/codelet_zgetrf_nopiv.c
@@ -29,4 +29,8 @@ void INSERT_TASK_zgetrf_nopiv( const RUNTIME_option_t *options,
     int info = 0;
 #pragma omp task firstprivate( m, n, ib, tileA, info ) depend( inout:tileA[0] )
     TCORE_zgetrf_nopiv( m, n, ib, tileA, &info );
+
+    (void)options;
+    (void)nb;
+    (void)iinfo;
 }
diff --git a/runtime/openmp/codelets/codelet_zgram.c b/runtime/openmp/codelets/codelet_zgram.c
index d0356618c7d170caf2ce73349900afd7b2fc4905..b8805f0da0ac5fd85223dbccca33f22dbbd4394b 100644
--- a/runtime/openmp/codelets/codelet_zgram.c
+++ b/runtime/openmp/codelets/codelet_zgram.c
@@ -37,4 +37,6 @@ void INSERT_TASK_zgram( const RUNTIME_option_t *options,
 #pragma omp task firstprivate( uplo, m, n, mt, nt, tileDi, tileDj, tileD, tileA ) depend( in:tileDi[0], tileDj[0], tileD[0] ) depend( inout:tileA[0] )
     TCORE_zgram( uplo, m, n, mt, nt,
                  tileDi, tileDj, tileD, tileA );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zhe2ge.c b/runtime/openmp/codelets/codelet_zhe2ge.c
index 7830f55b1cf3c50ff3837b4c49eaf4992b06a05b..61265d7b04aec45a62fe9213bea8212fa32728fd 100644
--- a/runtime/openmp/codelets/codelet_zhe2ge.c
+++ b/runtime/openmp/codelets/codelet_zhe2ge.c
@@ -22,13 +22,16 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zhe2ge( const RUNTIME_option_t *options,
-                       cham_uplo_t uplo,
-                       int m, int n, int mb,
-                       const CHAM_desc_t *A, int Am, int An,
-                       const CHAM_desc_t *B, int Bm, int Bn )
+                         cham_uplo_t uplo,
+                         int m, int n, int nb,
+                         const CHAM_desc_t *A, int Am, int An,
+                         const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
 #pragma omp task firstprivate( uplo, m, n, tileA, tileB ) depend( in: tileA[0] ) depend( inout:tileB[0] )
     TCORE_zhe2ge( uplo, m, n, tileA, tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zhemm.c b/runtime/openmp/codelets/codelet_zhemm.c
index 820e2dd61e052f1c7947b1a42cdbc5d8d4e3e8b3..9be2378aefaf8625733409ba9e15b8580118115f 100644
--- a/runtime/openmp/codelets/codelet_zhemm.c
+++ b/runtime/openmp/codelets/codelet_zhemm.c
@@ -36,4 +36,7 @@ void INSERT_TASK_zhemm( const RUNTIME_option_t *options,
         alpha, tileA,
         tileB,
         beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zher2k.c b/runtime/openmp/codelets/codelet_zher2k.c
index 3f6dc7ed6f9c03aa0ff527be7150164c42b6c1ac..85c1471f533728168d7ac7efac4f82f77182a4eb 100644
--- a/runtime/openmp/codelets/codelet_zher2k.c
+++ b/runtime/openmp/codelets/codelet_zher2k.c
@@ -33,4 +33,7 @@ void INSERT_TASK_zher2k( const RUNTIME_option_t *options,
 #pragma omp task firstprivate( uplo, trans, n, k, alpha, tileA, tileB, beta, tileC ) depend( in:tileA[0], tileB[0] ) depend( inout:tileC[0] )
     TCORE_zher2k( uplo, trans,
                 n, k, alpha, tileA, tileB, beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zherfb.c b/runtime/openmp/codelets/codelet_zherfb.c
index 249b5aef76d5d9252294baf330e73be38e585f4a..0be0211353d40fcbf0bf2c11b71416006859f0d1 100644
--- a/runtime/openmp/codelets/codelet_zherfb.c
+++ b/runtime/openmp/codelets/codelet_zherfb.c
@@ -37,4 +37,7 @@ void INSERT_TASK_zherfb( const RUNTIME_option_t *options,
       CHAMELEON_Complex64_t work[ws_size];
       TCORE_zherfb( uplo, n, k, ib, nb, tileA, tileT, tileC, work, nb );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zherk.c b/runtime/openmp/codelets/codelet_zherk.c
index 55a1540b717e7f3250b54461a797be9200a4ea6a..d3187185e201ae5018675ebc684935ee45aaeb75 100644
--- a/runtime/openmp/codelets/codelet_zherk.c
+++ b/runtime/openmp/codelets/codelet_zherk.c
@@ -33,4 +33,7 @@ void INSERT_TASK_zherk( const RUNTIME_option_t *options,
         n, k,
         alpha, tileA,
         beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlacpy.c b/runtime/openmp/codelets/codelet_zlacpy.c
index 0cd94f33af483d5e5dd57afe7171744c20852225..3728f844d48502c578c7e287b20cee52f5368b3c 100644
--- a/runtime/openmp/codelets/codelet_zlacpy.c
+++ b/runtime/openmp/codelets/codelet_zlacpy.c
@@ -38,6 +38,9 @@ void INSERT_TASK_zlacpyx( const RUNTIME_option_t *options,
 
         CORE_zlacpy( uplo, m, n, A + displA, tileA->ld, B + displB, tileB->ld );
     }
+
+    (void)options;
+    (void)nb;
 }
 
 void INSERT_TASK_zlacpy( const RUNTIME_option_t *options,
diff --git a/runtime/openmp/codelets/codelet_zlag2c.c b/runtime/openmp/codelets/codelet_zlag2c.c
index 45e6d921b2218c896b9ad9e299f8a5f246c893c0..b8ef54827db901d0f214d99c1089f44f1b020fe9 100644
--- a/runtime/openmp/codelets/codelet_zlag2c.c
+++ b/runtime/openmp/codelets/codelet_zlag2c.c
@@ -29,6 +29,9 @@ void INSERT_TASK_zlag2c( const RUNTIME_option_t *options,
     CHAMELEON_Complex32_t *tileB = B->get_blktile( B, Bm, Bn );
 #pragma omp task firstprivate( m, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_zlag2c( m, n, tileA, tileB );
+
+    (void)options;
+    (void)nb;
 }
 
 void INSERT_TASK_clag2z( const RUNTIME_option_t *options,
@@ -40,4 +43,7 @@ void INSERT_TASK_clag2z( const RUNTIME_option_t *options,
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
 #pragma omp task firstprivate( m, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_clag2z( m, n, tileA, tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlange.c b/runtime/openmp/codelets/codelet_zlange.c
index 3c4a46a0bba5084a892e890425a4731a6a15f34d..80a04cdf4a71eea4a817930c5e29eeb4fe666d9e 100644
--- a/runtime/openmp/codelets/codelet_zlange.c
+++ b/runtime/openmp/codelets/codelet_zlange.c
@@ -21,23 +21,26 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zlange( const RUNTIME_option_t *options,
-                         cham_normtype_t norm, int M, int N, int NB,
+                         cham_normtype_t norm, int m, int n, int nb,
                          const CHAM_desc_t *A, int Am, int An,
                          const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
     int ws_size = options->ws_wsize;
-#pragma omp task firstprivate( ws_size, M, N, tileA, tileB, options ) depend( in:tileA[0] ) depend( inout:tileB[0] )
+#pragma omp task firstprivate( ws_size, m, n, tileA, tileB, options ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     {
         double work[ws_size];
-        TCORE_zlange( norm, M, N, tileA, work, tileB->mat );
+        TCORE_zlange( norm, m, n, tileA, work, tileB->mat );
     }
+
+    (void)options;
+    (void)nb;
 }
 
 void INSERT_TASK_zlange_max( const RUNTIME_option_t *options,
-                           const CHAM_desc_t *A, int Am, int An,
-                           const CHAM_desc_t *B, int Bm, int Bn )
+                             const CHAM_desc_t *A, int Am, int An,
+                             const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
@@ -53,4 +56,6 @@ void INSERT_TASK_zlange_max( const RUNTIME_option_t *options,
             B[0] = A[0];
         }
     }
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zlanhe.c b/runtime/openmp/codelets/codelet_zlanhe.c
index 3b033ffb6b14c5a8ed4152821415ef7e9b098bb2..dd73a7ba5863d8428010a7ee07f7b3d2798c6acd 100644
--- a/runtime/openmp/codelets/codelet_zlanhe.c
+++ b/runtime/openmp/codelets/codelet_zlanhe.c
@@ -21,7 +21,7 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zlanhe( const RUNTIME_option_t *options,
-                         cham_normtype_t norm, cham_uplo_t uplo, int N, int NB,
+                         cham_normtype_t norm, cham_uplo_t uplo, int n, int nb,
                          const CHAM_desc_t *A, int Am, int An,
                          const CHAM_desc_t *B, int Bm, int Bn )
 {
@@ -29,9 +29,12 @@ void INSERT_TASK_zlanhe( const RUNTIME_option_t *options,
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
     int ws_size = options->ws_wsize;
 
-#pragma omp task firstprivate( ws_size, norm, uplo, N, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
+#pragma omp task firstprivate( ws_size, norm, uplo, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     {
         double work[ws_size];
-        TCORE_zlanhe( norm, uplo, N, tileA, work, tileB->mat );
+        TCORE_zlanhe( norm, uplo, n, tileA, work, tileB->mat );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlansy.c b/runtime/openmp/codelets/codelet_zlansy.c
index 68e38601408e99f600e3f116384241fe3f88f2bc..505e9be55cba513f5b4dd3ce3d73851dc5284534 100644
--- a/runtime/openmp/codelets/codelet_zlansy.c
+++ b/runtime/openmp/codelets/codelet_zlansy.c
@@ -21,7 +21,7 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zlansy( const RUNTIME_option_t *options,
-                         cham_normtype_t norm, cham_uplo_t uplo, int N, int NB,
+                         cham_normtype_t norm, cham_uplo_t uplo, int n, int nb,
                          const CHAM_desc_t *A, int Am, int An,
                          const CHAM_desc_t *B, int Bm, int Bn )
 {
@@ -29,9 +29,12 @@ void INSERT_TASK_zlansy( const RUNTIME_option_t *options,
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
     int ws_size = options->ws_wsize;
 
-#pragma omp task firstprivate( ws_size, norm, uplo, N, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
+#pragma omp task firstprivate( ws_size, norm, uplo, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     {
         double work[ws_size];
-        TCORE_zlansy( norm, uplo, N, tileA, work, tileB->mat );
+        TCORE_zlansy( norm, uplo, n, tileA, work, tileB->mat );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlantr.c b/runtime/openmp/codelets/codelet_zlantr.c
index 196b2a6a31a8e70c7258cc8b6b0277ce8c1aaea6..e667cd1a7a6ff7c8f942dafb19d3246a994e1686 100644
--- a/runtime/openmp/codelets/codelet_zlantr.c
+++ b/runtime/openmp/codelets/codelet_zlantr.c
@@ -22,16 +22,19 @@
 
 void INSERT_TASK_zlantr( const RUNTIME_option_t *options,
                          cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag,
-                         int M, int N, int NB,
+                         int m, int n, int nb,
                          const CHAM_desc_t *A, int Am, int An,
                          const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
     int ws_wsize = options->ws_wsize;
-#pragma omp task firstprivate( ws_wsize, norm, uplo, diag, M, N, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
+#pragma omp task firstprivate( ws_wsize, norm, uplo, diag, m, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     {
         double work[ws_wsize];
-        TCORE_zlantr( norm, uplo, diag, M, N, tileA, work, tileB->mat );
+        TCORE_zlantr( norm, uplo, diag, m, n, tileA, work, tileB->mat );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlascal.c b/runtime/openmp/codelets/codelet_zlascal.c
index 12f8943f6045dfd90a260e6340d515266df4383a..5b4757837de146dbaaaaaed420603f95afeeb025 100644
--- a/runtime/openmp/codelets/codelet_zlascal.c
+++ b/runtime/openmp/codelets/codelet_zlascal.c
@@ -29,4 +29,7 @@ void INSERT_TASK_zlascal( const RUNTIME_option_t *options,
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( uplo, m, n, alpha, tileA ) depend( inout:tileA[0] )
     TCORE_zlascal( uplo, m, n, alpha, tileA );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlaset.c b/runtime/openmp/codelets/codelet_zlaset.c
index d186893da18f9a7fd8e4cc6d14d16e3d98c06574..51203862154a27693ed00e3c411d915e39137986 100644
--- a/runtime/openmp/codelets/codelet_zlaset.c
+++ b/runtime/openmp/codelets/codelet_zlaset.c
@@ -21,11 +21,13 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zlaset( const RUNTIME_option_t *options,
-                         cham_uplo_t uplo, int M, int N,
+                         cham_uplo_t uplo, int m, int n,
                          CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta,
                          const CHAM_desc_t *A, int Am, int An )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
-#pragma omp task firstprivate( uplo, M, N, alpha, beta, tileA ) depend( inout:tileA[0] )
-    TCORE_zlaset( uplo, M, N, alpha, beta, tileA );
+#pragma omp task firstprivate( uplo, m, n, alpha, beta, tileA ) depend( inout:tileA[0] )
+    TCORE_zlaset( uplo, m, n, alpha, beta, tileA );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zlaset2.c b/runtime/openmp/codelets/codelet_zlaset2.c
index 53e78309400b3728e6af0f840a4a518e536ab226..957a2dce86c1723334b7b1acacf14fa275f595e2 100644
--- a/runtime/openmp/codelets/codelet_zlaset2.c
+++ b/runtime/openmp/codelets/codelet_zlaset2.c
@@ -21,11 +21,13 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zlaset2( const RUNTIME_option_t *options,
-                          cham_uplo_t uplo, int M, int N,
+                          cham_uplo_t uplo, int m, int n,
                           CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An )
 {
 
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
-#pragma omp task firstprivate( uplo, M, N, alpha, tileA ) depend( inout:tileA[0] )
-    TCORE_zlaset2( uplo, M, N, alpha, tileA );
+#pragma omp task firstprivate( uplo, m, n, alpha, tileA ) depend( inout:tileA[0] )
+    TCORE_zlaset2( uplo, m, n, alpha, tileA );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zlatro.c b/runtime/openmp/codelets/codelet_zlatro.c
index 9949e1ba6651e907a7c43bfa4bbff6e5fd943a03..fc5f6ed188a4ad06f7f3f82297f9e9aaba9fec96 100644
--- a/runtime/openmp/codelets/codelet_zlatro.c
+++ b/runtime/openmp/codelets/codelet_zlatro.c
@@ -22,7 +22,7 @@
 
 void INSERT_TASK_zlatro( const RUNTIME_option_t *options,
                          cham_uplo_t uplo, cham_trans_t trans,
-                         int m, int n, int mb,
+                         int m, int n, int nb,
                          const CHAM_desc_t *A, int Am, int An,
                          const CHAM_desc_t *B, int Bm, int Bn )
 {
@@ -30,4 +30,7 @@ void INSERT_TASK_zlatro( const RUNTIME_option_t *options,
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
 #pragma omp task firstprivate( uplo, trans, m, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_zlatro( uplo, trans, m, n, tileA, tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zlauum.c b/runtime/openmp/codelets/codelet_zlauum.c
index 8fd2e83b06919b7eb1579cfc03984315a83b29b8..173685b4062dc390091216a2704957609d8430f4 100644
--- a/runtime/openmp/codelets/codelet_zlauum.c
+++ b/runtime/openmp/codelets/codelet_zlauum.c
@@ -21,10 +21,13 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_zlauum( const RUNTIME_option_t *options,
-                       cham_uplo_t uplo, int n, int nb,
-                       const CHAM_desc_t *A, int Am, int An )
+                         cham_uplo_t uplo, int n, int nb,
+                         const CHAM_desc_t *A, int Am, int An )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( uplo, n, tileA ) depend( inout:tileA[0] )
     TCORE_zlauum( uplo, n, tileA );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zplghe.c b/runtime/openmp/codelets/codelet_zplghe.c
index 7101990da59efcb0a8ab115884041974f550ef7b..733fd0a3f09e53c935f09defbf0b81cd63206e9b 100644
--- a/runtime/openmp/codelets/codelet_zplghe.c
+++ b/runtime/openmp/codelets/codelet_zplghe.c
@@ -27,4 +27,6 @@ void INSERT_TASK_zplghe( const RUNTIME_option_t *options,
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( bump, m, n, tileA, bigM, m0, n0, seed ) depend( inout:tileA[0] )
     TCORE_zplghe( bump, m, n, tileA, bigM, m0, n0, seed );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zplgsy.c b/runtime/openmp/codelets/codelet_zplgsy.c
index ad0118c80438eef55f1356d1d24feb6385a920f0..76a7bc4e84d67c88e9e6b520b775ad4f5c553136 100644
--- a/runtime/openmp/codelets/codelet_zplgsy.c
+++ b/runtime/openmp/codelets/codelet_zplgsy.c
@@ -27,4 +27,6 @@ void INSERT_TASK_zplgsy( const RUNTIME_option_t *options,
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( bump, m, n, tileA, bigM, m0, n0, seed ) depend( inout:tileA[0] )
     TCORE_zplgsy( bump, m, n, tileA, bigM, m0, n0, seed );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zplrnt.c b/runtime/openmp/codelets/codelet_zplrnt.c
index a51f306b3d72661694c8e450521853d75032d6b5..1c58d5a5e11498abd0e4efece4d22e7fc87f9dab 100644
--- a/runtime/openmp/codelets/codelet_zplrnt.c
+++ b/runtime/openmp/codelets/codelet_zplrnt.c
@@ -27,4 +27,6 @@ void INSERT_TASK_zplrnt( const RUNTIME_option_t *options,
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( m, n, tileA, bigM, m0, n0, seed ) depend( inout:tileA[0] )
     TCORE_zplrnt( m, n, tileA, bigM, m0, n0, seed );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zplssq.c b/runtime/openmp/codelets/codelet_zplssq.c
index 5ef57d0986e054482daaad497d8d6afc276443cd..26c42c0da4a84c240a938b5bd5aaf3c5e722d8b0 100644
--- a/runtime/openmp/codelets/codelet_zplssq.c
+++ b/runtime/openmp/codelets/codelet_zplssq.c
@@ -17,7 +17,6 @@
  * @precisions normal z -> c d s
  *
  */
-#include <math.h>
 #include "chameleon_openmp.h"
 #include "chameleon/tasks_z.h"
 #include "coreblas/coreblas_ztile.h"
@@ -35,6 +34,8 @@ void INSERT_TASK_zplssq( const RUNTIME_option_t *options,
 
 #pragma omp task firstprivate( storev, M, N ) depend( in: tileIN[0] ) depend( inout: tileOUT[0] )
     CORE_zplssq( storev, M, N, tileIN->mat, tileOUT->mat );
+
+    (void)options;
 }
 
 void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, int N,
@@ -46,4 +47,6 @@ void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, int N,
 
 #pragma omp task firstprivate( N ) depend( inout: tileRESULT[0] )
     CORE_zplssq2( N, tileRESULT->mat );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zpotrf.c b/runtime/openmp/codelets/codelet_zpotrf.c
index 239344a86f3cdab2df22e30415d8ae2a342e9765..7bfca86e982c45430936c782248d1223166cd336 100644
--- a/runtime/openmp/codelets/codelet_zpotrf.c
+++ b/runtime/openmp/codelets/codelet_zpotrf.c
@@ -26,9 +26,12 @@ void INSERT_TASK_zpotrf( const RUNTIME_option_t *options,
                        const CHAM_desc_t *A, int Am, int An,
                        int iinfo )
 {
-    ( void )nb;
     int info = 0;
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( uplo, n, info, tileA ) depend( inout:tileA[0] )
     TCORE_zpotrf( uplo, n, tileA, &info );
+
+    (void)options;
+    (void)nb;
+    (void)iinfo;
 }
diff --git a/runtime/openmp/codelets/codelet_zssssm.c b/runtime/openmp/codelets/codelet_zssssm.c
index cb7cad2b44a1f05ca2168a86dbada0d0b79e329c..fd498f71fc7eb1216900fe12d1b562d96ef9826b 100644
--- a/runtime/openmp/codelets/codelet_zssssm.c
+++ b/runtime/openmp/codelets/codelet_zssssm.c
@@ -36,4 +36,7 @@ void INSERT_TASK_zssssm( const RUNTIME_option_t *options,
 #pragma omp task firstprivate( m1, n1, m2, n2, k, ib, tileA1, tileA2, tileL1, tileL2, IPIV ) \
     depend( inout:tileA1[0], tileA2[0] ) depend( in:tileL1[0], tileL2[0] )
     TCORE_zssssm( m1, n1, m2, n2, k, ib, tileA1, tileA2, tileL1, tileL2, IPIV );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zsymm.c b/runtime/openmp/codelets/codelet_zsymm.c
index 9e200c98d90ccc1bcac6a739c02db794d9ba3236..a87d3da6b925b795c640ecb171c22d4c33548c04 100644
--- a/runtime/openmp/codelets/codelet_zsymm.c
+++ b/runtime/openmp/codelets/codelet_zsymm.c
@@ -36,4 +36,7 @@ void INSERT_TASK_zsymm( const RUNTIME_option_t *options,
         alpha, tileA,
         tileB,
         beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zsyr2k.c b/runtime/openmp/codelets/codelet_zsyr2k.c
index 28e8d2406f4af5ede04df2131fc736892e3eb64f..d5380de40e259f08ba64b8152879df0b0154eb0b 100644
--- a/runtime/openmp/codelets/codelet_zsyr2k.c
+++ b/runtime/openmp/codelets/codelet_zsyr2k.c
@@ -27,11 +27,13 @@ void INSERT_TASK_zsyr2k( const RUNTIME_option_t *options,
                        const CHAM_desc_t *B, int Bm, int Bn,
                        CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn )
 {
-    ( void )nb;
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
     CHAM_tile_t *tileC = C->get_blktile( C, Cm, Cn );
 #pragma omp task firstprivate( uplo, trans, n, k, alpha, tileA, tileB, beta, tileC ) depend( in:tileA[0], tileB[0] ) depend( inout:tileC[0] )
     TCORE_zsyr2k( uplo, trans,
                  n, k, alpha, tileA, tileB, beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zsyrk.c b/runtime/openmp/codelets/codelet_zsyrk.c
index 78e0757bb94d46319a42960648cc78eb8e184d30..098adc94efbfcb63d5ebd6128d57cfce95cc8406 100644
--- a/runtime/openmp/codelets/codelet_zsyrk.c
+++ b/runtime/openmp/codelets/codelet_zsyrk.c
@@ -26,7 +26,6 @@ void INSERT_TASK_zsyrk( const RUNTIME_option_t *options,
                       CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An,
                       CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn )
 {
-    ( void )nb;
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileC = C->get_blktile( C, Cm, Cn );
 #pragma omp task firstprivate( uplo, trans, n, k, alpha, tileA, beta, tileC ) depend( in:tileA[0] ) depend( inout:tileC[0] )
@@ -34,4 +33,7 @@ void INSERT_TASK_zsyrk( const RUNTIME_option_t *options,
         n, k,
         alpha, tileA,
         beta, tileC );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zsyssq.c b/runtime/openmp/codelets/codelet_zsyssq.c
index aeac8a47413d5214a427d36ac8a137d181261fc4..fa3d1799c5503ace8a85853c7c596511a04cff76 100644
--- a/runtime/openmp/codelets/codelet_zsyssq.c
+++ b/runtime/openmp/codelets/codelet_zsyssq.c
@@ -30,4 +30,6 @@ void INSERT_TASK_zsyssq( const RUNTIME_option_t *options,
     CHAM_tile_t *tileSCALESUMSQ = SCALESUMSQ->get_blktile( SCALESUMSQ, SCALESUMSQm, SCALESUMSQn );
 #pragma omp task firstprivate( storev, uplo, n, tileA, tileSCALESUMSQ ) depend( in:tileA[0] ) depend( inout:tileSCALESUMSQ[0] )
     TCORE_zsyssq( storev, uplo, n, tileA, tileSCALESUMSQ );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_zsytrf_nopiv.c b/runtime/openmp/codelets/codelet_zsytrf_nopiv.c
index 8b081daf87db4a893fbbfb510ab1d2980039e46e..6219d3019f0e85f518c53000820d3fc059137793 100644
--- a/runtime/openmp/codelets/codelet_zsytrf_nopiv.c
+++ b/runtime/openmp/codelets/codelet_zsytrf_nopiv.c
@@ -28,4 +28,8 @@ void INSERT_TASK_zsytrf_nopiv( const RUNTIME_option_t *options,
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( uplo, n, tileA ) depend( inout:tileA[0] )
     TCORE_zsytf2_nopiv( uplo, n, tileA );
+
+    (void)options;
+    (void)nb;
+    (void)iinfo;
 }
diff --git a/runtime/openmp/codelets/codelet_ztplqt.c b/runtime/openmp/codelets/codelet_ztplqt.c
index 32014ff5453f741f6864157ccabc0cf31ce2d8a0..f158c4e2699949a9d3f1b3683271b74dd2a7bdbd 100644
--- a/runtime/openmp/codelets/codelet_ztplqt.c
+++ b/runtime/openmp/codelets/codelet_ztplqt.c
@@ -39,4 +39,7 @@ void INSERT_TASK_ztplqt( const RUNTIME_option_t *options,
         TCORE_ztplqt( M, N, L, ib,
                       tileA, tileB, tileT, work );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztpmlqt.c b/runtime/openmp/codelets/codelet_ztpmlqt.c
index c0eb2ebfb91bff927ad859602d9fa2aff797a089..abad44da2e77c0ddd53e2f83241f7dbc46b8c7bf 100644
--- a/runtime/openmp/codelets/codelet_ztpmlqt.c
+++ b/runtime/openmp/codelets/codelet_ztpmlqt.c
@@ -38,4 +38,7 @@ void INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options,
         TCORE_ztpmlqt( side, trans, M, N, K, L, ib,
                       tileV, tileT, tileA, tileB, work );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztpmqrt.c b/runtime/openmp/codelets/codelet_ztpmqrt.c
index d8cd06e692b027f9ede28ecfffe5e1908cf7f077..a264b0117771fc0373a01abb722755e4d9d2c0d5 100644
--- a/runtime/openmp/codelets/codelet_ztpmqrt.c
+++ b/runtime/openmp/codelets/codelet_ztpmqrt.c
@@ -38,4 +38,7 @@ void INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options,
         TCORE_ztpmqrt( side, trans, M, N, K, L, ib,
                       tileV, tileT, tileA, tileB, tmp );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztpqrt.c b/runtime/openmp/codelets/codelet_ztpqrt.c
index 95a166f46c510abb14b1362e1fca5cb92e662dc0..5bbfa7f4e20d9311e5f70273d055d4ae1ddfdd06 100644
--- a/runtime/openmp/codelets/codelet_ztpqrt.c
+++ b/runtime/openmp/codelets/codelet_ztpqrt.c
@@ -39,4 +39,7 @@ void INSERT_TASK_ztpqrt( const RUNTIME_option_t *options,
       TCORE_ztpqrt( M, N, L, ib,
                    tileA, tileB, tileT, tmp );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztradd.c b/runtime/openmp/codelets/codelet_ztradd.c
index f057ef56eca3374ac3e66e1f261784678070fc99..662d830f87ddff79a5579992c859fee4af4945a5 100644
--- a/runtime/openmp/codelets/codelet_ztradd.c
+++ b/runtime/openmp/codelets/codelet_ztradd.c
@@ -30,4 +30,7 @@ void INSERT_TASK_ztradd( const RUNTIME_option_t *options,
 
 #pragma omp task firstprivate( uplo, trans, m, n, alpha, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
     TCORE_ztradd( uplo, trans, m, n, alpha, tileA, beta, tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztrasm.c b/runtime/openmp/codelets/codelet_ztrasm.c
index edd3f5ab79ab787c6b0b1892fd9bd33039e20a41..dc201b02cf64796e2ae77de9655b80f099a14f54 100644
--- a/runtime/openmp/codelets/codelet_ztrasm.c
+++ b/runtime/openmp/codelets/codelet_ztrasm.c
@@ -21,12 +21,14 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_ztrasm( const RUNTIME_option_t *options,
-                       cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N,
-                       const CHAM_desc_t *A, int Am, int An,
-                       const CHAM_desc_t *B, int Bm, int Bn )
+                         cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int m, int n,
+                         const CHAM_desc_t *A, int Am, int An,
+                         const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
-#pragma omp task firstprivate( storev, uplo, diag, M, N, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
-    TCORE_ztrasm( storev, uplo, diag, M, N, tileA, tileB->mat );
+#pragma omp task firstprivate( storev, uplo, diag, m, n, tileA, tileB ) depend( in:tileA[0] ) depend( inout:tileB[0] )
+    TCORE_ztrasm( storev, uplo, diag, m, n, tileA, tileB->mat );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_ztrmm.c b/runtime/openmp/codelets/codelet_ztrmm.c
index 8b65e6fcfbe77fc4ee14b0500445303f66a2131e..fc8e2b3ff96d40e869ec726058431c003c2ada22 100644
--- a/runtime/openmp/codelets/codelet_ztrmm.c
+++ b/runtime/openmp/codelets/codelet_ztrmm.c
@@ -21,10 +21,10 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_ztrmm( const RUNTIME_option_t *options,
-                      cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
-                      int m, int n, int nb,
-                      CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An,
-                      const CHAM_desc_t *B, int Bm, int Bn )
+                        cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
+                        int m, int n, int nb,
+                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An,
+                        const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
@@ -34,4 +34,7 @@ void INSERT_TASK_ztrmm( const RUNTIME_option_t *options,
         m, n,
         alpha, tileA,
         tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztrsm.c b/runtime/openmp/codelets/codelet_ztrsm.c
index b4ac19be4ffe116d75a6a03ad80b35c1331ff428..741afef278034e7af981885eba7aa4206e85ff11 100644
--- a/runtime/openmp/codelets/codelet_ztrsm.c
+++ b/runtime/openmp/codelets/codelet_ztrsm.c
@@ -21,10 +21,10 @@
 #include "coreblas/coreblas_ztile.h"
 
 void INSERT_TASK_ztrsm( const RUNTIME_option_t *options,
-                      cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
-                      int m, int n, int nb,
-                      CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An,
-                      const CHAM_desc_t *B, int Bm, int Bn )
+                        cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
+                        int m, int n, int nb,
+                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An,
+                        const CHAM_desc_t *B, int Bm, int Bn )
 {
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
     CHAM_tile_t *tileB = B->get_blktile( B, Bm, Bn );
@@ -34,4 +34,7 @@ void INSERT_TASK_ztrsm( const RUNTIME_option_t *options,
         m, n,
         alpha, tileA,
         tileB );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztrssq.c b/runtime/openmp/codelets/codelet_ztrssq.c
index 933594990cb61ab303ad9cdc3152932622dcea42..a7f27565458950861ea3772e166d00696b92494d 100644
--- a/runtime/openmp/codelets/codelet_ztrssq.c
+++ b/runtime/openmp/codelets/codelet_ztrssq.c
@@ -30,4 +30,6 @@ void INSERT_TASK_ztrssq( const RUNTIME_option_t *options,
     CHAM_tile_t *tileW = W->get_blktile( W, Wm, Wn );
 #pragma omp task firstprivate( uplo, diag, m, n, tileA, tileW ) depend( in:tileA[0] ) depend( inout:tileW[0] )
     TCORE_ztrssq( uplo, diag, m, n, tileA, tileW );
+
+    (void)options;
 }
diff --git a/runtime/openmp/codelets/codelet_ztrtri.c b/runtime/openmp/codelets/codelet_ztrtri.c
index 6d86f196f04140814c58bf3fb0b69276ba5100cd..18491ba0861a96494f199c9f56cd1afd3338bb9c 100644
--- a/runtime/openmp/codelets/codelet_ztrtri.c
+++ b/runtime/openmp/codelets/codelet_ztrtri.c
@@ -29,4 +29,7 @@ void INSERT_TASK_ztrtri( const RUNTIME_option_t *options,
     CHAM_tile_t *tileA = A->get_blktile( A, Am, An );
 #pragma omp task firstprivate( uplo, diag, n, tileA, iinfo ) depend( inout:tileA[0] )
     TCORE_ztrtri( uplo, diag, n, tileA, &iinfo );
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c b/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c
index 68835ee2344afdea221e98192b305bf0e17f27d9..f6ab02011ae3284b254e9fbef6d01fd0a6a5718c 100644
--- a/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c
+++ b/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c
@@ -42,4 +42,7 @@ void INSERT_TASK_ztsmlq_hetra1( const RUNTIME_option_t *options,
       TCORE_ztsmlq_hetra1( side, trans, m1, n1, m2, n2, k,
                          ib, tileA1, tileA2, tileV, tileT, work, ldwork );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c b/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c
index 4bd4921eb41c112c94a3ee8fe569eb0ac94aef48..1a32871fcbcf95b2ff9a4eb17237726defecee9e 100644
--- a/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c
+++ b/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c
@@ -42,4 +42,7 @@ void INSERT_TASK_ztsmqr_hetra1( const RUNTIME_option_t *options,
       TCORE_ztsmqr_hetra1( side, trans, m1, n1, m2, n2, k,
                          ib, tileA1, tileA2, tileV, tileT, work, ldwork );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_ztstrf.c b/runtime/openmp/codelets/codelet_ztstrf.c
index e86b34e62d3ed0ea790e4cc7a04a93056f823f3e..9ef66b00f5af3e7bb44a7697e36b91685e5aa744 100644
--- a/runtime/openmp/codelets/codelet_ztstrf.c
+++ b/runtime/openmp/codelets/codelet_ztstrf.c
@@ -37,4 +37,9 @@ void INSERT_TASK_ztstrf( const RUNTIME_option_t *options,
       CHAMELEON_Complex64_t work[ws_size];
       TCORE_ztstrf( m, n, ib, nb, tileU, tileA, tileL, IPIV, work, nb, &iinfo );
     }
+
+    (void)options;
+    (void)nb;
+    (void)check_info;
+    (void)iinfo;
 }
diff --git a/runtime/openmp/codelets/codelet_zunmlq.c b/runtime/openmp/codelets/codelet_zunmlq.c
index 8ff6ab309cb7626d463302387c3987173c865a9e..134a7b493604bf8a52115be9913e4907040a57dd 100644
--- a/runtime/openmp/codelets/codelet_zunmlq.c
+++ b/runtime/openmp/codelets/codelet_zunmlq.c
@@ -37,4 +37,7 @@ void INSERT_TASK_zunmlq( const RUNTIME_option_t *options,
       TCORE_zunmlq( side, trans, m, n, k, ib,
                   tileA, tileT, tileC, work, nb );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/codelets/codelet_zunmqr.c b/runtime/openmp/codelets/codelet_zunmqr.c
index 26a47ad6f81b366ef4a0d079b96d34a02f54faf7..251a27a6797cd0e498d571a71f6d386636d0b338 100644
--- a/runtime/openmp/codelets/codelet_zunmqr.c
+++ b/runtime/openmp/codelets/codelet_zunmqr.c
@@ -37,4 +37,7 @@ void INSERT_TASK_zunmqr( const RUNTIME_option_t *options,
       TCORE_zunmqr( side, trans, m, n, k, ib,
           tileA, tileT, tileC, tmp, nb );
     }
+
+    (void)options;
+    (void)nb;
 }
diff --git a/runtime/openmp/control/runtime_async.c b/runtime/openmp/control/runtime_async.c
index fb921cf35b7dfaf8fcf46524ce45acc083c8981d..d14a19791d5edd11b49f3f5a74f2f7c0b58eacfc 100644
--- a/runtime/openmp/control/runtime_async.c
+++ b/runtime/openmp/control/runtime_async.c
@@ -19,7 +19,6 @@
  * @date 2020-04-22
  *
  */
-#include <stdlib.h>
 #include "chameleon_openmp.h"
 
 /**
@@ -107,4 +106,4 @@ int RUNTIME_request_set( CHAM_context_t  *chamctxt,
     (void)param;
     (void)value;
     return CHAMELEON_SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/runtime/openmp/control/runtime_context.c b/runtime/openmp/control/runtime_context.c
index bd99804d315d17ecf10dcd41f51aad195fcedf84..b83faded2abcc0f0514e5b5027c9104450c28f5e 100644
--- a/runtime/openmp/control/runtime_context.c
+++ b/runtime/openmp/control/runtime_context.c
@@ -19,7 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_openmp.h"
 
 /**
@@ -59,6 +58,7 @@ void RUNTIME_enable( void *runtime_ctxt, int lever )
     default:
         return;
     }
+    (void)runtime_ctxt;
     return;
 }
 
@@ -81,5 +81,6 @@ void RUNTIME_disable( void *runtime_ctxt, int lever )
     default:
         return;
     }
+    (void)runtime_ctxt;
     return;
 }
diff --git a/runtime/openmp/control/runtime_control.c b/runtime/openmp/control/runtime_control.c
index dd44911534f28b355d386777422a842010441b35..6ab7dc0e79652a98758abb20b733e4e35d6d1862 100644
--- a/runtime/openmp/control/runtime_control.c
+++ b/runtime/openmp/control/runtime_control.c
@@ -20,7 +20,6 @@
  * @date 2020-04-22
  *
  */
-#include <stdlib.h>
 #include "chameleon_openmp.h"
 
 /**
diff --git a/runtime/openmp/control/runtime_descriptor.c b/runtime/openmp/control/runtime_descriptor.c
index 1f4a9d3e11eaba6363140400c95f343332ba5aa4..87c46728da5a616e1be1138631e6be99d51f5ae3 100644
--- a/runtime/openmp/control/runtime_descriptor.c
+++ b/runtime/openmp/control/runtime_descriptor.c
@@ -19,7 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_openmp.h"
 
 void RUNTIME_comm_set_tag_sizes( int user_tag_width,
diff --git a/runtime/openmp/control/runtime_options.c b/runtime/openmp/control/runtime_options.c
index 5e5a2e5289825fde459a212e2ef54357eda94a85..04aaca357baaa13977a9f35d29cb07be78fa9d87 100644
--- a/runtime/openmp/control/runtime_options.c
+++ b/runtime/openmp/control/runtime_options.c
@@ -19,7 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_openmp.h"
 
 void RUNTIME_options_init( RUNTIME_option_t *option, CHAM_context_t *chamctxt,
@@ -46,7 +45,7 @@ void RUNTIME_options_finalize( RUNTIME_option_t *option, CHAM_context_t *chamctx
 
 int RUNTIME_options_ws_alloc( RUNTIME_option_t *options, size_t worker_size, size_t host_size )
 {
-    if (worker_size > 0) {
+    if ( worker_size > 0 ) {
         /*
          * NOTE: we set the size, but instead of doing a malloc shared by multiple workers,
          * we just create a VLA in the relevant codelets, within the task's body.
@@ -54,6 +53,7 @@ int RUNTIME_options_ws_alloc( RUNTIME_option_t *options, size_t worker_size, siz
          */
         options->ws_wsize = worker_size;
     }
+    (void)host_size;
     return CHAMELEON_SUCCESS;
 }
 
diff --git a/runtime/openmp/include/chameleon_openmp.h b/runtime/openmp/include/chameleon_openmp.h
index fbc24494309bd57b26adfad9b83e41c44fbe9a90..a44a63db65efceaa514090138d3628446332f943 100644
--- a/runtime/openmp/include/chameleon_openmp.h
+++ b/runtime/openmp/include/chameleon_openmp.h
@@ -21,8 +21,8 @@
 #ifndef _chameleon_openmp_h_
 #define _chameleon_openmp_h_
 
-#include "coreblas.h"
 #include "control/common.h"
+#include "coreblas.h"
 #include <omp.h>
 
 #endif /* _chameleon_openmp_h_ */
diff --git a/runtime/parsec/codelets/codelet_zgeadd.c b/runtime/parsec/codelets/codelet_zgeadd.c
index 8941ac88e0d6a5a78215ec7b13ee6c7a586821e6..cb1053a6a95bb9475e00ac900afadd6b8527033d 100644
--- a/runtime/parsec/codelets/codelet_zgeadd.c
+++ b/runtime/parsec/codelets/codelet_zgeadd.c
@@ -110,7 +110,7 @@ void INSERT_TASK_zgeadd( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zgeadd_parsec, options->priority, "geadd",
-        sizeof(int),        &trans, VALUE,
+        sizeof(cham_trans_t),        &trans, VALUE,
         sizeof(int),               &m,     VALUE,
         sizeof(int),               &n,     VALUE,
         sizeof(CHAMELEON_Complex64_t), &alpha, VALUE,
diff --git a/runtime/parsec/codelets/codelet_zgemm.c b/runtime/parsec/codelets/codelet_zgemm.c
index 61740552d90c28c779fd2bf636c079be6dbf9029..2c92f7e8250a8ddfa9f147296eacc776e3622869 100644
--- a/runtime/parsec/codelets/codelet_zgemm.c
+++ b/runtime/parsec/codelets/codelet_zgemm.c
@@ -72,8 +72,8 @@ void INSERT_TASK_zgemm( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zgemm_parsec, options->priority, "Gemm",
-        sizeof(int),    &transA,                           VALUE,
-        sizeof(int),    &transB,                           VALUE,
+        sizeof(cham_trans_t),    &transA,                           VALUE,
+        sizeof(cham_trans_t),    &transB,                           VALUE,
         sizeof(int),           &m,                                VALUE,
         sizeof(int),           &n,                                VALUE,
         sizeof(int),           &k,                                VALUE,
diff --git a/runtime/parsec/codelets/codelet_zgram.c b/runtime/parsec/codelets/codelet_zgram.c
index 6d180bc745f165310b2aee646a4abed0d9fdffc8..55c60abdfcc1978816fb5b6b0cb1098f242dde6e 100644
--- a/runtime/parsec/codelets/codelet_zgram.c
+++ b/runtime/parsec/codelets/codelet_zgram.c
@@ -97,7 +97,7 @@ void INSERT_TASK_zgram( const RUNTIME_option_t *options,
     if (ptrDi == ptrDj) {
         parsec_dtd_taskpool_insert_task(
             PARSEC_dtd_taskpool, CORE_zsygram_parsec, options->priority, "sygram",
-            sizeof(int),   &uplo, VALUE,
+            sizeof(cham_uplo_t),   &uplo, VALUE,
             sizeof(int),   &m,    VALUE,
             sizeof(int),   &n,    VALUE,
             sizeof(int),   &mt,   VALUE,
@@ -111,7 +111,7 @@ void INSERT_TASK_zgram( const RUNTIME_option_t *options,
     } else {
         parsec_dtd_taskpool_insert_task(
             PARSEC_dtd_taskpool, CORE_zgegram_parsec, options->priority, "gegram",
-            sizeof(int),   &uplo, VALUE,
+            sizeof(cham_uplo_t),   &uplo, VALUE,
             sizeof(int),   &m,    VALUE,
             sizeof(int),   &n,    VALUE,
             sizeof(int),   &mt,   VALUE,
diff --git a/runtime/parsec/codelets/codelet_zhe2ge.c b/runtime/parsec/codelets/codelet_zhe2ge.c
index 10598ce390bed1046c5470d42a5376c26152e18e..8e48b096af1402f8695af738b9a1eb4724ec4bed 100644
--- a/runtime/parsec/codelets/codelet_zhe2ge.c
+++ b/runtime/parsec/codelets/codelet_zhe2ge.c
@@ -56,7 +56,7 @@ void INSERT_TASK_zhe2ge(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zhe2ge_parsec, options->priority, "he2ge",
-        sizeof(int), &uplo,   VALUE,
+        sizeof(cham_uplo_t), &uplo,   VALUE,
         sizeof(int),        &m,      VALUE,
         sizeof(int),        &n,      VALUE,
         PASSED_BY_REF,       RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT ,
diff --git a/runtime/parsec/codelets/codelet_zhemm.c b/runtime/parsec/codelets/codelet_zhemm.c
index 9b9338a37595a225d1fc1d5d3f09ed6f82defc41..066e450549f18cec3ae89ad315725c9fcce40418 100644
--- a/runtime/parsec/codelets/codelet_zhemm.c
+++ b/runtime/parsec/codelets/codelet_zhemm.c
@@ -65,8 +65,8 @@ void INSERT_TASK_zhemm(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zhemm_parsec, options->priority, "hemm",
-        sizeof(int),                &side,    VALUE,
-        sizeof(int),                &uplo,    VALUE,
+        sizeof(cham_side_t),                &side,    VALUE,
+        sizeof(cham_uplo_t),                &uplo,    VALUE,
         sizeof(int),                       &m,       VALUE,
         sizeof(int),                       &n,       VALUE,
         sizeof(CHAMELEON_Complex64_t),         &alpha,   VALUE,
diff --git a/runtime/parsec/codelets/codelet_zher2k.c b/runtime/parsec/codelets/codelet_zher2k.c
index 6088fd99e3e5dbc0a13ad0cfc81fd02859997248..958155b40a09bd1003f3343d4a6948a73958ca7f 100644
--- a/runtime/parsec/codelets/codelet_zher2k.c
+++ b/runtime/parsec/codelets/codelet_zher2k.c
@@ -65,8 +65,8 @@ void INSERT_TASK_zher2k(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zher2k_parsec, options->priority, "her2k",
-        sizeof(int),                 &uplo,     VALUE,
-        sizeof(int),                 &trans,    VALUE,
+        sizeof(cham_uplo_t),                 &uplo,     VALUE,
+        sizeof(cham_trans_t),                 &trans,    VALUE,
         sizeof(int),                        &n,        VALUE,
         sizeof(int),                        &k,        VALUE,
         sizeof(CHAMELEON_Complex64_t),          &alpha,    VALUE,
diff --git a/runtime/parsec/codelets/codelet_zherfb.c b/runtime/parsec/codelets/codelet_zherfb.c
index 252e7cc837f6563d2c20d0090aac6ed13a3a4853..fe703f09a89bf80503664f9c0002f73c1fd4362f 100644
--- a/runtime/parsec/codelets/codelet_zherfb.c
+++ b/runtime/parsec/codelets/codelet_zherfb.c
@@ -65,7 +65,7 @@ void INSERT_TASK_zherfb(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zherfb_parsec, options->priority, "herfb",
-        sizeof(int), &uplo, VALUE,
+        sizeof(cham_uplo_t), &uplo, VALUE,
         sizeof(int),        &n,    VALUE,
         sizeof(int),        &k,    VALUE,
         sizeof(int),        &ib,   VALUE,
diff --git a/runtime/parsec/codelets/codelet_zherk.c b/runtime/parsec/codelets/codelet_zherk.c
index 95ea7d858cda6fb36f32b756addae0247d4826f3..83a8873e7da4c76c1001dd80f1ddadf222176f56 100644
--- a/runtime/parsec/codelets/codelet_zherk.c
+++ b/runtime/parsec/codelets/codelet_zherk.c
@@ -60,8 +60,8 @@ void INSERT_TASK_zherk(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zherk_parsec, options->priority, "herk",
-        sizeof(int),    &uplo,                             VALUE,
-        sizeof(int),    &trans,                            VALUE,
+        sizeof(cham_uplo_t),    &uplo,                             VALUE,
+        sizeof(cham_trans_t),    &trans,                            VALUE,
         sizeof(int),           &n,                                VALUE,
         sizeof(int),           &k,                                VALUE,
         sizeof(double),        &alpha,                            VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlacpy.c b/runtime/parsec/codelets/codelet_zlacpy.c
index d1fd86a724df6ed74c22e49747eb47c13c4f2298..1c2b732f92db04032f3a2e562552b15f3679cfdf 100644
--- a/runtime/parsec/codelets/codelet_zlacpy.c
+++ b/runtime/parsec/codelets/codelet_zlacpy.c
@@ -56,7 +56,7 @@ void INSERT_TASK_zlacpyx( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlacpyx_parsec, options->priority, "lacpy",
-        sizeof(int),    &uplo,                      VALUE,
+        sizeof(cham_uplo_t),    &uplo,                      VALUE,
         sizeof(int),           &m,                         VALUE,
         sizeof(int),           &n,                         VALUE,
         sizeof(int),           &displA,                    VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlange.c b/runtime/parsec/codelets/codelet_zlange.c
index ee4209b9e115dda74724cf7f0ecc6d088211b7c0..32dfc6a949618326d504d56c6e6e39e4e3691e56 100644
--- a/runtime/parsec/codelets/codelet_zlange.c
+++ b/runtime/parsec/codelets/codelet_zlange.c
@@ -55,7 +55,7 @@ void INSERT_TASK_zlange(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlange_parsec, options->priority, "lange",
-        sizeof(int),            &norm,          VALUE,
+        sizeof(cham_normtype_t),            &norm,          VALUE,
         sizeof(int),                   &M,             VALUE,
         sizeof(int),                   &N,             VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
diff --git a/runtime/parsec/codelets/codelet_zlanhe.c b/runtime/parsec/codelets/codelet_zlanhe.c
index c0cdac9cf59abfceb1accbdc5f6bb1473965af0b..b4e556d9f96bc5734c76d24cc8239bbfa0f9fef0 100644
--- a/runtime/parsec/codelets/codelet_zlanhe.c
+++ b/runtime/parsec/codelets/codelet_zlanhe.c
@@ -54,8 +54,8 @@ void INSERT_TASK_zlanhe(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlanhe_parsec, options->priority, "LANHE",
-        sizeof(int),            &norm,          VALUE,
-        sizeof(int),            &uplo,          VALUE,
+        sizeof(cham_normtype_t),            &norm,          VALUE,
+        sizeof(cham_uplo_t),            &uplo,          VALUE,
         sizeof(int),                   &N,             VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
         sizeof(int), &(tileA->ld),           VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlansy.c b/runtime/parsec/codelets/codelet_zlansy.c
index 1374e383c51dcc282713361d8345a4a55730a42c..12373a0d4337475a220e8b8531e9af5a63956c8b 100644
--- a/runtime/parsec/codelets/codelet_zlansy.c
+++ b/runtime/parsec/codelets/codelet_zlansy.c
@@ -54,8 +54,8 @@ void INSERT_TASK_zlansy(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlansy_parsec, options->priority, "lansy",
-        sizeof(int),            &norm,          VALUE,
-        sizeof(int),            &uplo,          VALUE,
+        sizeof(cham_normtype_t),            &norm,          VALUE,
+        sizeof(cham_uplo_t),            &uplo,          VALUE,
         sizeof(int),                   &N,             VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlantr.c b/runtime/parsec/codelets/codelet_zlantr.c
index 897214150698a7d816b1667dc36ad5830fe7809d..84c9dfa0abcf763982e0a73ebdf7fe72f2c2ccbb 100644
--- a/runtime/parsec/codelets/codelet_zlantr.c
+++ b/runtime/parsec/codelets/codelet_zlantr.c
@@ -26,7 +26,9 @@ static inline int
 CORE_zlantr_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    cham_normtype_t norm, uplo, diag;
+    cham_normtype_t norm;
+    cham_uplo_t uplo;
+    cham_diag_t diag;
     int M;
     int N;
     CHAMELEON_Complex64_t *A;
@@ -55,9 +57,9 @@ void INSERT_TASK_zlantr(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlantr_parsec, options->priority, "lantr",
-        sizeof(int), &norm,       VALUE,
-        sizeof(int), &uplo,       VALUE,
-        sizeof(int), &diag,       VALUE,
+        sizeof(cham_normtype_t), &norm,       VALUE,
+        sizeof(cham_uplo_t), &uplo,       VALUE,
+        sizeof(cham_diag_t), &diag,       VALUE,
         sizeof(int), &M,          VALUE,
         sizeof(int), &N,          VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
diff --git a/runtime/parsec/codelets/codelet_zlascal.c b/runtime/parsec/codelets/codelet_zlascal.c
index df009c83304fc1ca5be87a84d90b15e996b80231..eded3f55013a12efa50d0de3d870860649f447ad 100644
--- a/runtime/parsec/codelets/codelet_zlascal.c
+++ b/runtime/parsec/codelets/codelet_zlascal.c
@@ -56,7 +56,7 @@ void INSERT_TASK_zlascal(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlascal_parsec, options->priority, "lascal",
-        sizeof(int),        &uplo,  VALUE,
+        sizeof(cham_uplo_t),        &uplo,  VALUE,
         sizeof(int),               &m,     VALUE,
         sizeof(int),               &n,     VALUE,
         sizeof(CHAMELEON_Complex64_t), &alpha, VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlaset.c b/runtime/parsec/codelets/codelet_zlaset.c
index 8ffbde8c01183f70ba2e2c6b45a56e36b809510c..fea7c911ec331e52f1e739c7b3acf46fa425f43f 100644
--- a/runtime/parsec/codelets/codelet_zlaset.c
+++ b/runtime/parsec/codelets/codelet_zlaset.c
@@ -53,7 +53,7 @@ void INSERT_TASK_zlaset(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlaset_parsec, options->priority, "laset",
-        sizeof(int),              &uplo,        VALUE,
+        sizeof(cham_uplo_t),              &uplo,        VALUE,
         sizeof(int),                     &M,           VALUE,
         sizeof(int),                     &N,           VALUE,
         sizeof(CHAMELEON_Complex64_t),       &alpha,       VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlaset2.c b/runtime/parsec/codelets/codelet_zlaset2.c
index de189dea27f31d3b627b47a5c5279d16875b1f4c..fef44ec1b0bfc5c94c55fa6c778852cafc2a183f 100644
--- a/runtime/parsec/codelets/codelet_zlaset2.c
+++ b/runtime/parsec/codelets/codelet_zlaset2.c
@@ -51,7 +51,7 @@ void INSERT_TASK_zlaset2(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlaset2_parsec, options->priority, "laset2",
-        sizeof(int),                &uplo,      VALUE,
+        sizeof(cham_uplo_t),                &uplo,      VALUE,
         sizeof(int),                       &M,         VALUE,
         sizeof(int),                       &N,         VALUE,
         sizeof(int),                &alpha,     VALUE,
diff --git a/runtime/parsec/codelets/codelet_zlatro.c b/runtime/parsec/codelets/codelet_zlatro.c
index 2ab3a491a6c878f34468c7cc22958762da02bee4..8e03d0914b32660e0316c7150d16ee2d104b900d 100644
--- a/runtime/parsec/codelets/codelet_zlatro.c
+++ b/runtime/parsec/codelets/codelet_zlatro.c
@@ -57,8 +57,8 @@ void INSERT_TASK_zlatro(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlatro_parsec, options->priority, "latro",
-        sizeof(int), &uplo,  VALUE,
-        sizeof(int), &trans, VALUE,
+        sizeof(cham_uplo_t), &uplo,  VALUE,
+        sizeof(cham_trans_t), &trans, VALUE,
         sizeof(int),        &m,     VALUE,
         sizeof(int),        &n,     VALUE,
         PASSED_BY_REF,       RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
diff --git a/runtime/parsec/codelets/codelet_zlauum.c b/runtime/parsec/codelets/codelet_zlauum.c
index 5ac6dc6576c590a9cd6ca8470114da655c56b50f..c2f7efe3bc86c0a13d8d7f12416962c8e2e51f39 100644
--- a/runtime/parsec/codelets/codelet_zlauum.c
+++ b/runtime/parsec/codelets/codelet_zlauum.c
@@ -49,7 +49,7 @@ void INSERT_TASK_zlauum(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zlauum_parsec, options->priority, "lauum",
-        sizeof(int),    &uplo,                  VALUE,
+        sizeof(cham_uplo_t),    &uplo,                  VALUE,
         sizeof(int),           &n,                     VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_zplssq.c b/runtime/parsec/codelets/codelet_zplssq.c
index bebbdbfb773525a824342ac57016c06dd698eb2c..1231b5304b0b371006b2c5667f218a8a60baa6c9 100644
--- a/runtime/parsec/codelets/codelet_zplssq.c
+++ b/runtime/parsec/codelets/codelet_zplssq.c
@@ -19,7 +19,6 @@
  * @precisions normal z -> c d s
  *
  */
-#include <math.h>
 #include "chameleon_parsec.h"
 #include "chameleon/tasks_z.h"
 #include "coreblas/coreblas_z.h"
diff --git a/runtime/parsec/codelets/codelet_zpotrf.c b/runtime/parsec/codelets/codelet_zpotrf.c
index 3e0791ff10870028154c7da63714bb5c032fd758..5d7a7624222fb08c62ba55c3e8217d9092db625f 100644
--- a/runtime/parsec/codelets/codelet_zpotrf.c
+++ b/runtime/parsec/codelets/codelet_zpotrf.c
@@ -63,7 +63,7 @@ void INSERT_TASK_zpotrf(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zpotrf_parsec, options->priority, "potrf",
-        sizeof(int),                 &uplo,                             VALUE,
+        sizeof(cham_uplo_t),                 &uplo,                             VALUE,
         sizeof(int),                 &n,                                VALUE,
         PASSED_BY_REF,               RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_zsymm.c b/runtime/parsec/codelets/codelet_zsymm.c
index 195c8797d5da8ef4ba91b4bd8ef3e6f7eff6f020..93ef4c5e9c220ede9d0b1d54f967d40a27d4bf21 100644
--- a/runtime/parsec/codelets/codelet_zsymm.c
+++ b/runtime/parsec/codelets/codelet_zsymm.c
@@ -65,8 +65,8 @@ void INSERT_TASK_zsymm(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zsymm_parsec, options->priority, "symm",
-        sizeof(int),     &side,              VALUE,
-        sizeof(int),     &uplo,              VALUE,
+        sizeof(cham_side_t),     &side,              VALUE,
+        sizeof(cham_uplo_t),     &uplo,              VALUE,
         sizeof(int),            &m,                 VALUE,
         sizeof(int),            &n,                 VALUE,
         sizeof(CHAMELEON_Complex64_t),  &alpha,         VALUE,
diff --git a/runtime/parsec/codelets/codelet_zsyr2k.c b/runtime/parsec/codelets/codelet_zsyr2k.c
index 5f5febf8912ca8e2fd567331f32139b4274e6713..41da64f3f86b67370e05c053c899746e0604b7a4 100644
--- a/runtime/parsec/codelets/codelet_zsyr2k.c
+++ b/runtime/parsec/codelets/codelet_zsyr2k.c
@@ -65,8 +65,8 @@ void INSERT_TASK_zsyr2k(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zsyr2k_parsec, options->priority, "syr2k",
-        sizeof(int),     &uplo,                  VALUE,
-        sizeof(int),     &trans,                 VALUE,
+        sizeof(cham_uplo_t),     &uplo,                  VALUE,
+        sizeof(cham_trans_t),     &trans,                 VALUE,
         sizeof(int),            &n,                     VALUE,
         sizeof(int),            &k,                     VALUE,
         sizeof(CHAMELEON_Complex64_t), &alpha,              VALUE,
diff --git a/runtime/parsec/codelets/codelet_zsyrk.c b/runtime/parsec/codelets/codelet_zsyrk.c
index 2e4a724ece2f9c708ee3c5824d56b207c3c049f0..3e0d22d04976a5d12c92341b215251fbd0245768 100644
--- a/runtime/parsec/codelets/codelet_zsyrk.c
+++ b/runtime/parsec/codelets/codelet_zsyrk.c
@@ -60,8 +60,8 @@ void INSERT_TASK_zsyrk(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zsyrk_parsec, options->priority, "syrk",
-        sizeof(int),    &uplo,                              VALUE,
-        sizeof(int),    &trans,                             VALUE,
+        sizeof(cham_uplo_t),    &uplo,                              VALUE,
+        sizeof(cham_trans_t),    &trans,                             VALUE,
         sizeof(int),           &n,                                 VALUE,
         sizeof(int),           &k,                                 VALUE,
         sizeof(CHAMELEON_Complex64_t),           &alpha,               VALUE,
diff --git a/runtime/parsec/codelets/codelet_zsyssq.c b/runtime/parsec/codelets/codelet_zsyssq.c
index d9b102981b3953a69fe013eec66063d147c4dc3a..cb95d4bd52469248c7c98d25af6d8ce4d5ecf5d9 100644
--- a/runtime/parsec/codelets/codelet_zsyssq.c
+++ b/runtime/parsec/codelets/codelet_zsyssq.c
@@ -54,7 +54,7 @@ void INSERT_TASK_zsyssq( const RUNTIME_option_t *options,
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zsyssq_parsec, options->priority, "syssq",
         sizeof(cham_store_t),   &storev,                VALUE,
-        sizeof(int),            &uplo,                  VALUE,
+        sizeof(cham_uplo_t),            &uplo,                  VALUE,
         sizeof(int),            &n,                     VALUE,
         PASSED_BY_REF,          RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_zsytrf_nopiv.c b/runtime/parsec/codelets/codelet_zsytrf_nopiv.c
index d41a88eb6355694b47b365efe343bebfd843272c..0a9033c481f3fedddef879f13cda12099565916b 100644
--- a/runtime/parsec/codelets/codelet_zsytrf_nopiv.c
+++ b/runtime/parsec/codelets/codelet_zsytrf_nopiv.c
@@ -51,7 +51,7 @@ void INSERT_TASK_zsytrf_nopiv(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zsytrf_nopiv_parsec, options->priority, "sytrf_nopiv",
-        sizeof(int),              &uplo,                VALUE,
+        sizeof(cham_uplo_t),              &uplo,                VALUE,
         sizeof(int),                     &n,                   VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztpmlqt.c b/runtime/parsec/codelets/codelet_ztpmlqt.c
index f4c81c4362e9e9f66cb6b54df5bf0f2b9b8975a9..8b220f70eea3f5af58fab90e9dae4e4bf8b3bdf8 100644
--- a/runtime/parsec/codelets/codelet_ztpmlqt.c
+++ b/runtime/parsec/codelets/codelet_ztpmlqt.c
@@ -68,8 +68,8 @@ void INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztpmlqt_parsec, options->priority, "tpmlqt",
-        sizeof(int), &side,  VALUE,
-        sizeof(int), &trans, VALUE,
+        sizeof(cham_side_t), &side,  VALUE,
+        sizeof(cham_trans_t), &trans, VALUE,
         sizeof(int),        &M,     VALUE,
         sizeof(int),        &N,     VALUE,
         sizeof(int),        &K,     VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztpmqrt.c b/runtime/parsec/codelets/codelet_ztpmqrt.c
index e8140490fcdd2d64bfb8acf18080cf7413c7ccde..75ffdeb9420ca881f20144560c9b486ab0793f5d 100644
--- a/runtime/parsec/codelets/codelet_ztpmqrt.c
+++ b/runtime/parsec/codelets/codelet_ztpmqrt.c
@@ -68,8 +68,8 @@ void INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztpmqrt_parsec, options->priority, "tpmqrt",
-        sizeof(int), &side,  VALUE,
-        sizeof(int), &trans, VALUE,
+        sizeof(cham_side_t), &side,  VALUE,
+        sizeof(cham_trans_t), &trans, VALUE,
         sizeof(int),        &M,     VALUE,
         sizeof(int),        &N,     VALUE,
         sizeof(int),        &K,     VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztradd.c b/runtime/parsec/codelets/codelet_ztradd.c
index 4b969404709d40e5774c0c9d1fb150d8f4a60e69..f7de42bf733c1096c722cacf4e1e00c666e3566c 100644
--- a/runtime/parsec/codelets/codelet_ztradd.c
+++ b/runtime/parsec/codelets/codelet_ztradd.c
@@ -116,8 +116,8 @@ void INSERT_TASK_ztradd( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztradd_parsec, options->priority, "tradd",
-        sizeof(int),        &uplo,  VALUE,
-        sizeof(int),        &trans, VALUE,
+        sizeof(cham_uplo_t),        &uplo,  VALUE,
+        sizeof(cham_trans_t),        &trans, VALUE,
         sizeof(int),               &m,     VALUE,
         sizeof(int),               &n,     VALUE,
         sizeof(CHAMELEON_Complex64_t), &alpha, VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztrasm.c b/runtime/parsec/codelets/codelet_ztrasm.c
index 370f2362fb809a7aec67d4a7901d3dcac784a1ba..8de5a5f091407c1f0f06b5de27d6f9bf563754cf 100644
--- a/runtime/parsec/codelets/codelet_ztrasm.c
+++ b/runtime/parsec/codelets/codelet_ztrasm.c
@@ -55,8 +55,8 @@ void INSERT_TASK_ztrasm(const RUNTIME_option_t *options,
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztrasm_parsec, options->priority, "trasm",
         sizeof(int),     &storev,                VALUE,
-        sizeof(int),     &uplo,                  VALUE,
-        sizeof(int),     &diag,                  VALUE,
+        sizeof(cham_uplo_t),     &uplo,                  VALUE,
+        sizeof(cham_diag_t),     &diag,                  VALUE,
         sizeof(int),            &M,                     VALUE,
         sizeof(int),            &N,                     VALUE,
         PASSED_BY_REF,          RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
diff --git a/runtime/parsec/codelets/codelet_ztrmm.c b/runtime/parsec/codelets/codelet_ztrmm.c
index 8383f31117539821bb085ef16ac2745653afd633..978ffa8bc1abfe39853a51e288d8f3f93044e2af 100644
--- a/runtime/parsec/codelets/codelet_ztrmm.c
+++ b/runtime/parsec/codelets/codelet_ztrmm.c
@@ -63,10 +63,10 @@ void INSERT_TASK_ztrmm(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztrmm_parsec, options->priority, "trmm",
-        sizeof(int),     &side,                  VALUE,
-        sizeof(int),     &uplo,                  VALUE,
-        sizeof(int),     &transA,                VALUE,
-        sizeof(int),     &diag,                  VALUE,
+        sizeof(cham_side_t),     &side,                  VALUE,
+        sizeof(cham_uplo_t),     &uplo,                  VALUE,
+        sizeof(cham_trans_t),     &transA,                VALUE,
+        sizeof(cham_diag_t),     &diag,                  VALUE,
         sizeof(int),            &m,                     VALUE,
         sizeof(int),            &n,                     VALUE,
         sizeof(CHAMELEON_Complex64_t),         &alpha,      VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztrsm.c b/runtime/parsec/codelets/codelet_ztrsm.c
index 71fcf9e891573d1a44e8ab90685e3673abe96602..4ab4c68469047a60df7bfe37dc29dfae159b7fd1 100644
--- a/runtime/parsec/codelets/codelet_ztrsm.c
+++ b/runtime/parsec/codelets/codelet_ztrsm.c
@@ -26,7 +26,10 @@ static inline int
 CORE_ztrsm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    cham_side_t side, uplo, trans, diag;
+    cham_side_t side;
+    cham_uplo_t uplo;
+    cham_trans_t trans;
+    cham_diag_t diag;
     int tempmm, nb, ldak, ldam;
     CHAMELEON_Complex64_t alpha;
     CHAMELEON_Complex64_t *T;
@@ -55,12 +58,12 @@ void INSERT_TASK_ztrsm(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztrsm_parsec, options->priority, "Trsm",
-        sizeof(int),    &side,                     VALUE,
-        sizeof(int),    &uplo,                     VALUE,
-        sizeof(int),    &transA,                   VALUE,
-        sizeof(int),    &diag,                     VALUE,
-        sizeof(int),           &m,                        VALUE,
-        sizeof(int),           &n,                        VALUE,
+        sizeof(cham_side_t),  &side,                     VALUE,
+        sizeof(cham_uplo_t),  &uplo,                     VALUE,
+        sizeof(cham_trans_t), &transA,                   VALUE,
+        sizeof(cham_diag_t),  &diag,                     VALUE,
+        sizeof(int),          &m,                        VALUE,
+        sizeof(int),          &n,                        VALUE,
         sizeof(CHAMELEON_Complex64_t),           &alpha,      VALUE,
         PASSED_BY_REF,     RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztrssq.c b/runtime/parsec/codelets/codelet_ztrssq.c
index cb104187786ada6045a91bbb43da11e97035b956..1c3683d51262335a7813e53d6a9196389af0b300 100644
--- a/runtime/parsec/codelets/codelet_ztrssq.c
+++ b/runtime/parsec/codelets/codelet_ztrssq.c
@@ -54,8 +54,8 @@ void INSERT_TASK_ztrssq( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztrssq_parsec, options->priority, "trssq",
-        sizeof(int),     &uplo,                  VALUE,
-        sizeof(int),     &diag,                  VALUE,
+        sizeof(cham_uplo_t),     &uplo,                  VALUE,
+        sizeof(cham_diag_t),     &diag,                  VALUE,
         sizeof(int),            &m,                     VALUE,
         sizeof(int),            &n,                     VALUE,
         PASSED_BY_REF,          RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT,
diff --git a/runtime/parsec/codelets/codelet_ztrtri.c b/runtime/parsec/codelets/codelet_ztrtri.c
index 80b70fb98be4b27df072c69bc25b2472bb8024f2..f1a23bcd7089e4ca13653d4532a68a1cdf91da29 100644
--- a/runtime/parsec/codelets/codelet_ztrtri.c
+++ b/runtime/parsec/codelets/codelet_ztrtri.c
@@ -61,8 +61,8 @@ void INSERT_TASK_ztrtri( const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztrtri_parsec, options->priority, "trtri",
-        sizeof(int),                 &uplo,                  VALUE,
-        sizeof(int),                 &diag,                  VALUE,
+        sizeof(cham_uplo_t),                 &uplo,                  VALUE,
+        sizeof(cham_diag_t),                 &diag,                  VALUE,
         sizeof(int),                 &n,                     VALUE,
         PASSED_BY_REF,               RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY,
         sizeof(int), &(tileA->ld), VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c b/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c
index 7b08661b867ea1b6523152396177adce5c0585bd..26635d22156a40a681361acdb32b285e2a51bd1e 100644
--- a/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c
+++ b/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c
@@ -76,8 +76,8 @@ void INSERT_TASK_ztsmlq_hetra1(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztsmlq_hetra1_parsec, options->priority, "tsmlq_hetra1",
-        sizeof(int), &side,   VALUE,
-        sizeof(int), &trans,  VALUE,
+        sizeof(cham_side_t), &side,   VALUE,
+        sizeof(cham_trans_t), &trans,  VALUE,
         sizeof(int),        &m1,     VALUE,
         sizeof(int),        &n1,     VALUE,
         sizeof(int),        &m2,     VALUE,
diff --git a/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c b/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c
index 4d8814d4d27557cab461f936889d977ef0d4946d..fbc00f607137dd7327ecc458919ac67f37b188e5 100644
--- a/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c
+++ b/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c
@@ -76,8 +76,8 @@ void INSERT_TASK_ztsmqr_hetra1(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_ztsmqr_hetra1_parsec, options->priority, "tsmqr_hetra1",
-        sizeof(int), &side,   VALUE,
-        sizeof(int), &trans,  VALUE,
+        sizeof(cham_side_t), &side,   VALUE,
+        sizeof(cham_trans_t), &trans,  VALUE,
         sizeof(int),        &m1,     VALUE,
         sizeof(int),        &n1,     VALUE,
         sizeof(int),        &m2,     VALUE,
diff --git a/runtime/parsec/codelets/codelet_zunmlq.c b/runtime/parsec/codelets/codelet_zunmlq.c
index addb8401f5ebdc87547adf0da09f07f0163850fe..f5f5c1785952d7b15463e1d57e6bbca073f17220 100644
--- a/runtime/parsec/codelets/codelet_zunmlq.c
+++ b/runtime/parsec/codelets/codelet_zunmlq.c
@@ -65,8 +65,8 @@ void INSERT_TASK_zunmlq(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zunmlq_parsec, options->priority, "unmlq",
-        sizeof(int),                 &side,              VALUE,
-        sizeof(int),                 &trans,             VALUE,
+        sizeof(cham_side_t),                 &side,              VALUE,
+        sizeof(cham_trans_t),                 &trans,             VALUE,
         sizeof(int),                        &m,                 VALUE,
         sizeof(int),                        &n,                 VALUE,
         sizeof(int),                        &k,                 VALUE,
diff --git a/runtime/parsec/codelets/codelet_zunmqr.c b/runtime/parsec/codelets/codelet_zunmqr.c
index dfdfe204cc6056883636a40f287687d6898ad927..579f5eee5bf49ecf21e733027d313fa7007f7381 100644
--- a/runtime/parsec/codelets/codelet_zunmqr.c
+++ b/runtime/parsec/codelets/codelet_zunmqr.c
@@ -65,8 +65,8 @@ void INSERT_TASK_zunmqr(const RUNTIME_option_t *options,
 
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zunmqr_parsec, options->priority, "unmqr",
-        sizeof(int),    &side,                              VALUE,
-        sizeof(int),    &trans,                             VALUE,
+        sizeof(cham_side_t),    &side,                              VALUE,
+        sizeof(cham_trans_t),    &trans,                             VALUE,
         sizeof(int),           &m,                                 VALUE,
         sizeof(int),           &n,                                 VALUE,
         sizeof(int),           &k,                                 VALUE,
diff --git a/runtime/parsec/control/runtime_async.c b/runtime/parsec/control/runtime_async.c
index 2be61345ccfaaacb663cdd7001671675795afe5c..792e18c10ef43e881c57bcdbef5d4526ef182452 100644
--- a/runtime/parsec/control/runtime_async.c
+++ b/runtime/parsec/control/runtime_async.c
@@ -18,7 +18,6 @@
  * @date 2020-04-22
  *
  */
-#include <stdlib.h>
 #include "chameleon_parsec.h"
 
 /**
@@ -120,4 +119,4 @@ int RUNTIME_request_set( CHAM_context_t  *chamctxt,
     (void)param;
     (void)value;
     return CHAMELEON_SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/runtime/parsec/control/runtime_context.c b/runtime/parsec/control/runtime_context.c
index 7e143f58bdc08decdbc7644173c4eb05c7b14c03..6b51b5e9a20a3305fe6c19fd74f5775e549f8ee7 100644
--- a/runtime/parsec/control/runtime_context.c
+++ b/runtime/parsec/control/runtime_context.c
@@ -17,7 +17,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_parsec.h"
 
 /**
@@ -59,6 +58,8 @@ void RUNTIME_enable( void *runtime_ctxt, int lever )
     default:
         return;
     }
+
+    (void)runtime_ctxt;
     return;
 }
 
@@ -82,5 +83,7 @@ void RUNTIME_disable( void *runtime_ctxt, int lever )
     default:
         return;
     }
+
+    (void)runtime_ctxt;
     return;
 }
diff --git a/runtime/parsec/control/runtime_control.c b/runtime/parsec/control/runtime_control.c
index e673bdcef7b979590b94348d8f89bb46e502cd17..f4c20c35dd4b581245f2a057442e13dc82cc8014 100644
--- a/runtime/parsec/control/runtime_control.c
+++ b/runtime/parsec/control/runtime_control.c
@@ -18,8 +18,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdio.h>
-#include <stdlib.h>
 #include "chameleon_parsec.h"
 
 #if defined(CHAMELEON_USE_MPI)
diff --git a/runtime/parsec/control/runtime_descriptor.c b/runtime/parsec/control/runtime_descriptor.c
index b78181685fa9bb401dfa1582ff47ad35a8137557..be2a095c11cc86f5a307f294dd307d52578bd423 100644
--- a/runtime/parsec/control/runtime_descriptor.c
+++ b/runtime/parsec/control/runtime_descriptor.c
@@ -19,7 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_parsec.h"
 #include <parsec/data.h>
 #include <parsec/datatype.h>
@@ -229,11 +228,9 @@ void RUNTIME_desc_create( CHAM_desc_t *mdesc )
     data_collection->vpid_of_key = chameleon_parsec_vpid_of_key;
 #if defined(PARSEC_PROF_TRACE)
     {
-        int rc;
         data_collection->key_to_string = chameleon_parsec_key_to_string;
         data_collection->key           = NULL;
-        rc = asprintf(&(data_collection->key_dim), "(%d, %d)", mdesc->lmt, mdesc->lnt);
-        (void)rc;
+        chameleon_asprintf(&(data_collection->key_dim), "(%d, %d)", mdesc->lmt, mdesc->lnt);
     }
 #endif
     data_collection->memory_registration_status = MEMORY_STATUS_UNREGISTERED;
@@ -282,7 +279,8 @@ void RUNTIME_desc_create( CHAM_desc_t *mdesc )
             case ChamRealDouble:    datatype = parsec_datatype_double_t; break;
             case ChamComplexFloat:  datatype = parsec_datatype_complex_t; break;
             case ChamComplexDouble: datatype = parsec_datatype_double_complex_t; break;
-            default: chameleon_fatal_error("CHAMELEON_Element_Size", "undefined type"); break;
+            default: chameleon_fatal_error("CHAMELEON_Element_Size", "undefined type");
+                return;
             }
 
             /* Register the new arena */
diff --git a/runtime/parsec/control/runtime_options.c b/runtime/parsec/control/runtime_options.c
index 7a4f1df29c726683bc3062f617c4ca3eae752a12..e851318b20f0427a9741124144d420bd136f117c 100644
--- a/runtime/parsec/control/runtime_options.c
+++ b/runtime/parsec/control/runtime_options.c
@@ -17,8 +17,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdio.h>
-#include <stdlib.h>
 #include "chameleon_parsec.h"
 
 void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt,
diff --git a/runtime/parsec/include/chameleon_parsec.h b/runtime/parsec/include/chameleon_parsec.h
index b941b60b6d42e44073abf1fd4c90bf0656e8e240..fdec33ac6500ac269ef0972eeda24ab39ee422d2 100644
--- a/runtime/parsec/include/chameleon_parsec.h
+++ b/runtime/parsec/include/chameleon_parsec.h
@@ -22,15 +22,12 @@
 #ifndef _chameleon_parsec_h_
 #define _chameleon_parsec_h_
 
+#include "control/common.h"
+
 #include <parsec.h>
 #include <parsec/interfaces/superscalar/insert_function.h>
 #include <parsec/data_dist/matrix/matrix.h>
 
-/* Undefined PaRSEC definition of BLKLDD */
-#undef BLKLDD
-
-#include "control/common.h"
-
 struct chameleon_parsec_desc_s {
     parsec_data_collection_t super;
     int                      arena_index;
diff --git a/runtime/quark/codelets/codelet_zgetrf_incpiv.c b/runtime/quark/codelets/codelet_zgetrf_incpiv.c
index be4374bb232491554917939af2c56af98f6a71dd..3cfe46a71c0f8305f0b46693337c06f00abc0af8 100644
--- a/runtime/quark/codelets/codelet_zgetrf_incpiv.c
+++ b/runtime/quark/codelets/codelet_zgetrf_incpiv.c
@@ -69,4 +69,8 @@ void INSERT_TASK_zgetrf_incpiv(const RUNTIME_option_t *options,
         sizeof(int),                        &iinfo,         VALUE,
         0);
 
+    (void)L;
+    (void)Lm;
+    (void)Ln;
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zgetrf_nopiv.c b/runtime/quark/codelets/codelet_zgetrf_nopiv.c
index 0c1d77fee0e7a838f6c320c1a371ec7592db2a9a..b59d417e9c516f9d9fb8176e840758e3f82767df 100644
--- a/runtime/quark/codelets/codelet_zgetrf_nopiv.c
+++ b/runtime/quark/codelets/codelet_zgetrf_nopiv.c
@@ -60,4 +60,6 @@ void INSERT_TASK_zgetrf_nopiv(const RUNTIME_option_t *options,
         sizeof(RUNTIME_request_t*),            &(options->request),       VALUE,
         sizeof(int),                        &iinfo,         VALUE,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zhe2ge.c b/runtime/quark/codelets/codelet_zhe2ge.c
index 7c0379a46a4c662ccc9dbec708080a9a4784a811..73d5f6f6704fd28c29a5200754f0bd4b20052891 100644
--- a/runtime/quark/codelets/codelet_zhe2ge.c
+++ b/runtime/quark/codelets/codelet_zhe2ge.c
@@ -36,7 +36,7 @@ static inline void CORE_zhe2ge_quark(Quark *quark)
 
 void INSERT_TASK_zhe2ge( const RUNTIME_option_t *options,
                          cham_uplo_t uplo,
-                         int m, int n, int mb,
+                         int m, int n, int nb,
                          const CHAM_desc_t *A, int Am, int An,
                          const CHAM_desc_t *B, int Bm, int Bn )
 {
@@ -49,4 +49,6 @@ void INSERT_TASK_zhe2ge( const RUNTIME_option_t *options,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
         sizeof(void*), RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zlacpy.c b/runtime/quark/codelets/codelet_zlacpy.c
index b8cf0bc3fc19d5b6b713f7a1c447d6e7153d2717..79085b4f0eaafd632ce36b41cd016673ab7c70c5 100644
--- a/runtime/quark/codelets/codelet_zlacpy.c
+++ b/runtime/quark/codelets/codelet_zlacpy.c
@@ -64,6 +64,7 @@ void INSERT_TASK_zlacpyx( const RUNTIME_option_t *options,
         sizeof(int),                     &displB, VALUE,
         sizeof(void*), RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn),             OUTPUT,
         0);
+    (void)nb;
 }
 
 void INSERT_TASK_zlacpy( const RUNTIME_option_t *options,
diff --git a/runtime/quark/codelets/codelet_zlange.c b/runtime/quark/codelets/codelet_zlange.c
index d0443c3ddd660cf9043be74df9411b98d42f874f..920e83e65f788b0e0f88cfe1045410fedd9ff702 100644
--- a/runtime/quark/codelets/codelet_zlange.c
+++ b/runtime/quark/codelets/codelet_zlange.c
@@ -38,22 +38,24 @@ void CORE_zlange_quark(Quark *quark)
 }
 
 void INSERT_TASK_zlange(const RUNTIME_option_t *options,
-                       cham_normtype_t norm, int M, int N, int NB,
+                       cham_normtype_t norm, int m, int n, int nb,
                        const CHAM_desc_t *A, int Am, int An,
                        const CHAM_desc_t *B, int Bm, int Bn)
 {
     quark_option_t *opt = (quark_option_t*)(options->schedopt);
     DAG_CORE_LANGE;
-    int szeW = chameleon_max( M, N );
+    int szeW = chameleon_max( m, n );
     QUARK_Insert_Task(
         opt->quark, CORE_zlange_quark, (Quark_Task_Flags*)opt,
         sizeof(int),              &norm,  VALUE,
-        sizeof(int),                     &M,     VALUE,
-        sizeof(int),                     &N,     VALUE,
+        sizeof(int),                     &m,     VALUE,
+        sizeof(int),                     &n,     VALUE,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
         sizeof(double)*szeW,             NULL,   SCRATCH,
         sizeof(void*), RTBLKADDR(B, double, Bm, Bn), OUTPUT,
         0);
+
+    (void)nb;
 }
 
 void CORE_zlange_max_quark(Quark *quark)
diff --git a/runtime/quark/codelets/codelet_zlanhe.c b/runtime/quark/codelets/codelet_zlanhe.c
index 058990df3ff7f7757125c1796bf85750e06c77f2..d8b1804080531c87d5cd469c105e93f2197d1717 100644
--- a/runtime/quark/codelets/codelet_zlanhe.c
+++ b/runtime/quark/codelets/codelet_zlanhe.c
@@ -37,21 +37,23 @@ void CORE_zlanhe_quark(Quark *quark)
     TCORE_zlanhe( norm, uplo, N, tileA, work, tileNorm->mat );
 }
 
-void INSERT_TASK_zlanhe(const RUNTIME_option_t *options,
-                       cham_normtype_t norm, cham_uplo_t uplo, int N, int NB,
-                       const CHAM_desc_t *A, int Am, int An,
-                       const CHAM_desc_t *B, int Bm, int Bn)
+void INSERT_TASK_zlanhe( const RUNTIME_option_t *options,
+                         cham_normtype_t norm, cham_uplo_t uplo, int n, int nb,
+                         const CHAM_desc_t *A, int Am, int An,
+                         const CHAM_desc_t *B, int Bm, int Bn )
 {
     quark_option_t *opt = (quark_option_t*)(options->schedopt);
     DAG_CORE_LANHE;
-    int szeW = chameleon_max( 1, N );
+    int szeW = chameleon_max( 1, n );
     QUARK_Insert_Task(
         opt->quark, CORE_zlanhe_quark, (Quark_Task_Flags*)opt,
         sizeof(int),              &norm,  VALUE,
         sizeof(int),              &uplo,  VALUE,
-        sizeof(int),                     &N,     VALUE,
+        sizeof(int),                     &n,     VALUE,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
         sizeof(double)*szeW,             NULL,   SCRATCH,
         sizeof(void*), RTBLKADDR(B, double, Bm, Bn), OUTPUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zlansy.c b/runtime/quark/codelets/codelet_zlansy.c
index adda052ac96423740bf5098642836874a799ab1e..9c75b979259f95b02271c06f6252ba843412801c 100644
--- a/runtime/quark/codelets/codelet_zlansy.c
+++ b/runtime/quark/codelets/codelet_zlansy.c
@@ -37,21 +37,23 @@ void CORE_zlansy_quark(Quark *quark)
     TCORE_zlansy( norm, uplo, N, tileA, work, tileNorm->mat );
 }
 
-void INSERT_TASK_zlansy(const RUNTIME_option_t *options,
-                       cham_normtype_t norm, cham_uplo_t uplo, int N, int NB,
-                       const CHAM_desc_t *A, int Am, int An,
-                       const CHAM_desc_t *B, int Bm, int Bn)
+void INSERT_TASK_zlansy( const RUNTIME_option_t *options,
+                         cham_normtype_t norm, cham_uplo_t uplo, int n, int nb,
+                         const CHAM_desc_t *A, int Am, int An,
+                         const CHAM_desc_t *B, int Bm, int Bn)
 {
     quark_option_t *opt = (quark_option_t*)(options->schedopt);
     DAG_CORE_LANSY;
-    int szeW = chameleon_max( 1, N );
+    int szeW = chameleon_max( 1, n );
     QUARK_Insert_Task(
         opt->quark, CORE_zlansy_quark, (Quark_Task_Flags*)opt,
         sizeof(int),              &norm,  VALUE,
         sizeof(int),              &uplo,  VALUE,
-        sizeof(int),                     &N,     VALUE,
+        sizeof(int),                     &n,     VALUE,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
         sizeof(double)*szeW,             NULL,   SCRATCH,
         sizeof(void*), RTBLKADDR(B, double, Bm, Bn), OUTPUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zlantr.c b/runtime/quark/codelets/codelet_zlantr.c
index dfc3855e416f6303e085c0f388c1fddffa3b0a39..38a3a5f897e331c8e3104c5a2832bf09fd57bf54 100644
--- a/runtime/quark/codelets/codelet_zlantr.c
+++ b/runtime/quark/codelets/codelet_zlantr.c
@@ -25,7 +25,9 @@
 void CORE_zlantr_quark(Quark *quark)
 {
     CHAM_tile_t *tileNorm;
-    cham_normtype_t norm, uplo, diag;
+    cham_normtype_t norm;
+    cham_uplo_t     uplo;
+    cham_diag_t     diag;
     int M;
     int N;
     CHAM_tile_t *tileA;
@@ -35,24 +37,26 @@ void CORE_zlantr_quark(Quark *quark)
     TCORE_zlantr( norm, uplo, diag, M, N, tileA, work, tileNorm->mat );
 }
 
-void INSERT_TASK_zlantr(const RUNTIME_option_t *options,
-                       cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag,
-                       int M, int N, int NB,
-                       const CHAM_desc_t *A, int Am, int An,
-                       const CHAM_desc_t *B, int Bm, int Bn)
+void INSERT_TASK_zlantr( const RUNTIME_option_t *options,
+                         cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag,
+                         int m, int n, int nb,
+                         const CHAM_desc_t *A, int Am, int An,
+                         const CHAM_desc_t *B, int Bm, int Bn )
 {
     quark_option_t *opt = (quark_option_t*)(options->schedopt);
     DAG_CORE_LANTR;
-    int szeW = chameleon_max( 1, N );
+    int szeW = chameleon_max( 1, n );
     QUARK_Insert_Task(
         opt->quark, CORE_zlantr_quark, (Quark_Task_Flags*)opt,
         sizeof(int),              &norm,  VALUE,
         sizeof(int),              &uplo,  VALUE,
         sizeof(int),              &diag,  VALUE,
-        sizeof(int),                     &M,     VALUE,
-        sizeof(int),                     &N,     VALUE,
+        sizeof(int),                     &m,     VALUE,
+        sizeof(int),                     &n,     VALUE,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
         sizeof(double)*szeW,             NULL,   SCRATCH,
         sizeof(void*), RTBLKADDR(B, double, Bm, Bn), OUTPUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zlascal.c b/runtime/quark/codelets/codelet_zlascal.c
index a031b57b406575f025f9134afe4171f4586383be..93565a1732497b2fafd5022ba0d197ac06469288 100644
--- a/runtime/quark/codelets/codelet_zlascal.c
+++ b/runtime/quark/codelets/codelet_zlascal.c
@@ -60,4 +60,6 @@ void INSERT_TASK_zlascal(const RUNTIME_option_t *options,
         sizeof(CHAMELEON_Complex64_t),       &alpha, VALUE,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zlatro.c b/runtime/quark/codelets/codelet_zlatro.c
index f5b375baf757ee5194ebdf8dbb250a66be7b2f8c..5a3e30887c3009e1b8d87daf5f7469deb9d5edb8 100644
--- a/runtime/quark/codelets/codelet_zlatro.c
+++ b/runtime/quark/codelets/codelet_zlatro.c
@@ -37,7 +37,7 @@ void CORE_zlatro_quark(Quark *quark)
 
 void INSERT_TASK_zlatro(const RUNTIME_option_t *options,
                        cham_uplo_t uplo, cham_trans_t trans,
-                       int m, int n, int mb,
+                       int m, int n, int nb,
                        const CHAM_desc_t *A, int Am, int An,
                        const CHAM_desc_t *B, int Bm, int Bn)
 {
@@ -51,4 +51,6 @@ void INSERT_TASK_zlatro(const RUNTIME_option_t *options,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT,
         sizeof(void*), RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zlauum.c b/runtime/quark/codelets/codelet_zlauum.c
index 2367de04caf98472983596cd16a96fe09276ce52..01ee1558f8e1ebf417db5de6f81a049f5f08ceb9 100644
--- a/runtime/quark/codelets/codelet_zlauum.c
+++ b/runtime/quark/codelets/codelet_zlauum.c
@@ -36,15 +36,17 @@ void CORE_zlauum_quark(Quark *quark)
     TCORE_zlauum(uplo, N, tileA);
 }
 
-void INSERT_TASK_zlauum(const RUNTIME_option_t *options,
-                       cham_uplo_t uplo, int n, int nb,
-                       const CHAM_desc_t *A, int Am, int An)
+void INSERT_TASK_zlauum( const RUNTIME_option_t *options,
+                         cham_uplo_t uplo, int n, int nb,
+                         const CHAM_desc_t *A, int Am, int An )
 {
     quark_option_t *opt = (quark_option_t*)(options->schedopt);
     DAG_CORE_LAUUM;
     QUARK_Insert_Task(opt->quark, CORE_zlauum_quark, (Quark_Task_Flags*)opt,
         sizeof(int),                &uplo,  VALUE,
-        sizeof(int),                        &n,     VALUE,
+        sizeof(int),                &n,     VALUE,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An),             INOUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zplssq.c b/runtime/quark/codelets/codelet_zplssq.c
index 7403980c367fff705558d5369067e4c83e8b7d96..c6c10eb704a5b10899a8b5c78b8330954c9ccac4 100644
--- a/runtime/quark/codelets/codelet_zplssq.c
+++ b/runtime/quark/codelets/codelet_zplssq.c
@@ -18,7 +18,6 @@
  * @precisions normal z -> c d s
  *
  */
-#include <math.h>
 #include "chameleon_quark.h"
 #include "chameleon/tasks_z.h"
 #include "coreblas/coreblas_ztile.h"
diff --git a/runtime/quark/codelets/codelet_zpotrf.c b/runtime/quark/codelets/codelet_zpotrf.c
index d8a3691c7b8c8847be317bd190697164793b2cba..a27ddd5abfb666d644e96a9aa37552a117988957 100644
--- a/runtime/quark/codelets/codelet_zpotrf.c
+++ b/runtime/quark/codelets/codelet_zpotrf.c
@@ -59,4 +59,6 @@ void INSERT_TASK_zpotrf(const RUNTIME_option_t *options,
                       sizeof(RUNTIME_request_t*),            &(options->request),   VALUE,
                       sizeof(int),                        &iinfo,     VALUE,
                       0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_zsytrf_nopiv.c b/runtime/quark/codelets/codelet_zsytrf_nopiv.c
index 4a5b2c1ca897bb58436c68a4988d90f0e858e766..1eb683e43ce5286ca5eeda4f580f337c3fae8ecc 100644
--- a/runtime/quark/codelets/codelet_zsytrf_nopiv.c
+++ b/runtime/quark/codelets/codelet_zsytrf_nopiv.c
@@ -59,4 +59,6 @@ void INSERT_TASK_zsytrf_nopiv(const RUNTIME_option_t *options,
         sizeof(RUNTIME_request_t*),        &(options->request),  VALUE,
         sizeof(int),                     &iinfo,               VALUE,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_ztrmm.c b/runtime/quark/codelets/codelet_ztrmm.c
index 53b30d5876e593c0a4bf1b679008151a0e1d715c..c424a27d8e011c54fedc3a2502e1a278794b03c5 100644
--- a/runtime/quark/codelets/codelet_ztrmm.c
+++ b/runtime/quark/codelets/codelet_ztrmm.c
@@ -70,4 +70,6 @@ void INSERT_TASK_ztrmm( const RUNTIME_option_t *options,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An),                 INPUT,
         sizeof(void*), RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn),                 INOUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_ztrsm.c b/runtime/quark/codelets/codelet_ztrsm.c
index d630db7442eeec54ada5e7fb985b38e4fbd91149..57712e5428a8301b4acf5cfc9b040712f565ecd3 100644
--- a/runtime/quark/codelets/codelet_ztrsm.c
+++ b/runtime/quark/codelets/codelet_ztrsm.c
@@ -65,4 +65,6 @@ void INSERT_TASK_ztrsm(const RUNTIME_option_t *options,
         sizeof(void*), RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An),                 INPUT,
         sizeof(void*), RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn),                 INOUT,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/codelets/codelet_ztrtri.c b/runtime/quark/codelets/codelet_ztrtri.c
index d1ed474207073489562f1cc3cef8caf53fc603fe..fb54394e451f40b71c1a9b338f62e24d18e63282 100644
--- a/runtime/quark/codelets/codelet_ztrtri.c
+++ b/runtime/quark/codelets/codelet_ztrtri.c
@@ -62,4 +62,6 @@ void INSERT_TASK_ztrtri(const RUNTIME_option_t *options,
         sizeof(RUNTIME_request_t*),            &(options->request),   VALUE,
         sizeof(int),                        &iinfo,     VALUE,
         0);
+
+    (void)nb;
 }
diff --git a/runtime/quark/control/runtime_async.c b/runtime/quark/control/runtime_async.c
index b21ebfa87e62fa62968cebaf45638ad07f33c1fd..5324c1c08a9d39c71c6e2354a499933edb7de249 100644
--- a/runtime/quark/control/runtime_async.c
+++ b/runtime/quark/control/runtime_async.c
@@ -20,7 +20,6 @@
  * @date 2020-04-22
  *
  */
-#include <stdlib.h>
 #include "chameleon_quark.h"
 
 /**
@@ -111,4 +110,4 @@ int RUNTIME_request_set( CHAM_context_t  *chamctxt,
     (void)param;
     (void)value;
     return CHAMELEON_SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/runtime/quark/control/runtime_context.c b/runtime/quark/control/runtime_context.c
index 713672d6aafca7c8cd84d58b6c12e6ec3652bd81..b95ccde564707c6449c7a85223e3380f57ec77e6 100644
--- a/runtime/quark/control/runtime_context.c
+++ b/runtime/quark/control/runtime_context.c
@@ -19,7 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_quark.h"
 
 /**
diff --git a/runtime/quark/control/runtime_control.c b/runtime/quark/control/runtime_control.c
index 21ba5cc4e2ca3c738813396b07850890e2d70d46..36d634ab310d98c52dec2fa87666ab8a9d877334 100644
--- a/runtime/quark/control/runtime_control.c
+++ b/runtime/quark/control/runtime_control.c
@@ -20,8 +20,6 @@
  * @date 2020-04-22
  *
  */
-#include <stdio.h>
-#include <stdlib.h>
 #include "chameleon_quark.h"
 
 /**
diff --git a/runtime/quark/control/runtime_descriptor.c b/runtime/quark/control/runtime_descriptor.c
index b843f272ddf0342c1847e84e4f53db5737383518..78859a86fd593b41a8a303cba7f3068d3a26fcc0 100644
--- a/runtime/quark/control/runtime_descriptor.c
+++ b/runtime/quark/control/runtime_descriptor.c
@@ -20,7 +20,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdlib.h>
 #include "chameleon_quark.h"
 
 void RUNTIME_comm_set_tag_sizes( int user_tag_width,
diff --git a/runtime/quark/control/runtime_options.c b/runtime/quark/control/runtime_options.c
index b32061bac017edbfb9e64c1f0a88f4f9670f2390..bab33ac075fdad9c78894b0044400485cb4a8f50 100644
--- a/runtime/quark/control/runtime_options.c
+++ b/runtime/quark/control/runtime_options.c
@@ -19,8 +19,6 @@
  * @date 2020-03-03
  *
  */
-#include <stdio.h>
-#include <stdlib.h>
 #include "chameleon_quark.h"
 
 void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt,
diff --git a/runtime/quark/include/core_blas_dag.h b/runtime/quark/include/core_blas_dag.h
index cfc82f227b23cb8fb0edce1a1c42a0e34e928e66..dd55bf284632885c25416454637b5a3aab72a570 100644
--- a/runtime/quark/include/core_blas_dag.h
+++ b/runtime/quark/include/core_blas_dag.h
@@ -22,9 +22,9 @@
 #define _core_blas_dag_h_
 
 #if defined(QUARK_DOT_DAG_ENABLE) /* || 1 */
-#define DAG_SET_PROPERTIES( _name, _color )                            \
-  QUARK_Task_Flag_Set(task_flags, TASK_LABEL, (intptr_t)(_name));      \
-  QUARK_Task_Flag_Set(task_flags, TASK_COLOR, (intptr_t)(_color));
+#define DAG_SET_PROPERTIES( _name, _color )                             \
+    QUARK_Task_Flag_Set( (Quark_Task_Flags*)opt, TASK_LABEL, (intptr_t)(_name)  ); \
+    QUARK_Task_Flag_Set( (Quark_Task_Flags*)opt, TASK_COLOR, (intptr_t)(_color) );
 #else
 #define DAG_SET_PROPERTIES( _name, _color )
 #endif
diff --git a/runtime/starpu/codelets/codelet_zlantr.c b/runtime/starpu/codelets/codelet_zlantr.c
index c299fb82a70ff5b8536b5fb1abee3cb768db90a3..b45ca0d1203e7782bef13b2b2bb2edbe5ac974df 100644
--- a/runtime/starpu/codelets/codelet_zlantr.c
+++ b/runtime/starpu/codelets/codelet_zlantr.c
@@ -29,7 +29,9 @@
 static void cl_zlantr_cpu_func(void *descr[], void *cl_arg)
 {
     CHAM_tile_t *tilenormA;
-    cham_normtype_t norm, uplo, diag;
+    cham_normtype_t norm;
+    cham_uplo_t     uplo;
+    cham_diag_t     diag;
     int M, N;
     CHAM_tile_t *tileA;
     CHAM_tile_t *tilework;
diff --git a/runtime/starpu/codelets/codelet_zplssq.c b/runtime/starpu/codelets/codelet_zplssq.c
index 22179ff0032ca18bdc7a1ca5cea47bb4c6b03df6..187ceb3e66270737e4f281cb8d90c9d7d7b32f1c 100644
--- a/runtime/starpu/codelets/codelet_zplssq.c
+++ b/runtime/starpu/codelets/codelet_zplssq.c
@@ -21,7 +21,6 @@
  * @precisions normal z -> c d s
  *
  */
-#include <math.h>
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
 
diff --git a/runtime/starpu/control/runtime_async.c b/runtime/starpu/control/runtime_async.c
index 6d7260d6364d9c3b0f2cd5e7ba389298c2301169..cc229cd068585a8c5f8797c2aeb738627c397318 100644
--- a/runtime/starpu/control/runtime_async.c
+++ b/runtime/starpu/control/runtime_async.c
@@ -19,7 +19,6 @@
  * @date 2020-04-22
  *
  */
-#include <stdlib.h>
 #include "chameleon_starpu.h"
 
 /**
@@ -36,7 +35,7 @@ int RUNTIME_sequence_create( CHAM_context_t  *chamctxt,
 /**
  *  Destroy a sequence
  */
-int RUNTIME_sequence_destroy( CHAM_context_t  *chamctxt,
+int RUNTIME_sequence_destroy( CHAM_context_t     *chamctxt,
                               RUNTIME_sequence_t *sequence )
 {
     (void)chamctxt;
@@ -47,7 +46,7 @@ int RUNTIME_sequence_destroy( CHAM_context_t  *chamctxt,
 /**
  *  Wait for the completion of a sequence
  */
-int RUNTIME_sequence_wait( CHAM_context_t  *chamctxt,
+int RUNTIME_sequence_wait( CHAM_context_t     *chamctxt,
                            RUNTIME_sequence_t *sequence )
 {
     (void)chamctxt;
@@ -73,7 +72,7 @@ int RUNTIME_sequence_wait( CHAM_context_t  *chamctxt,
 /**
  *  Terminate a sequence
  */
-void RUNTIME_sequence_flush( CHAM_context_t  *chamctxt,
+void RUNTIME_sequence_flush( CHAM_context_t     *chamctxt,
                              RUNTIME_sequence_t *sequence,
                              RUNTIME_request_t  *request,
                              int status )
@@ -88,7 +87,7 @@ void RUNTIME_sequence_flush( CHAM_context_t  *chamctxt,
 /**
  *  Create a request
  */
-int RUNTIME_request_create( CHAM_context_t  *chamctxt,
+int RUNTIME_request_create( CHAM_context_t    *chamctxt,
                             RUNTIME_request_t *request )
 {
     (void)chamctxt;
@@ -140,4 +139,4 @@ int RUNTIME_request_set( CHAM_context_t  *chamctxt,
     }
 
     return CHAMELEON_SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/runtime/starpu/control/runtime_context.c b/runtime/starpu/control/runtime_context.c
index 177605ca9fcb63349bdaf7855122e93170ba38e3..176b9cbbb9aa1d82f3c00dc6b0408896d505cf38 100644
--- a/runtime/starpu/control/runtime_context.c
+++ b/runtime/starpu/control/runtime_context.c
@@ -19,7 +19,6 @@
  * @date 2020-12-01
  *
  */
-#include <stdlib.h>
 #include "chameleon_starpu.h"
 
 /**
diff --git a/runtime/starpu/control/runtime_control.c b/runtime/starpu/control/runtime_control.c
index 7561f2e4fca742f1d35a9b43f5c0099b09bf51fb..611634699907dce78695388556b7827a88fb4938 100644
--- a/runtime/starpu/control/runtime_control.c
+++ b/runtime/starpu/control/runtime_control.c
@@ -21,9 +21,9 @@
  * @date 2020-07-01
  *
  */
+#include "chameleon_starpu.h"
 #include <stdio.h>
 #include <stdlib.h>
-#include "chameleon_starpu.h"
 #if defined(STARPU_USE_FXT)
 #include <starpu_fxt.h>
 #endif
diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c
index 9b802391aeb26b55c0968f7ebe7b5e281e67aa8f..4ab987d2bb4546a3ab0db510806d6c56b7d04eda 100644
--- a/runtime/starpu/control/runtime_descriptor.c
+++ b/runtime/starpu/control/runtime_descriptor.c
@@ -22,8 +22,6 @@
  * @date 2020-12-01
  *
  */
-#include <stdlib.h>
-#include <unistd.h>
 #include "chameleon_starpu.h"
 
 /**
@@ -210,7 +208,7 @@ void RUNTIME_desc_create( CHAM_desc_t *desc )
             chameleon_fatal_error("RUNTIME_desc_create", "Too many tiles in the descriptor for MPI tags");
             return;
         }
-        assert( (lmt*lnt) <= (1UL<<tag_sep) );
+        assert( ((uintptr_t)(lnt*lmt)) <= ((uintptr_t)(1UL<<tag_sep)) );
 
         if ( ((uintptr_t)desc->id) >= (uintptr_t)(1UL<<(tag_width-tag_sep)) ) {
             chameleon_fatal_error("RUNTIME_desc_create", "Number of descriptor available in MPI mode out of stock");
diff --git a/runtime/starpu/control/runtime_options.c b/runtime/starpu/control/runtime_options.c
index 553fed070e13a0a2407692431792dab777d8f317..6687984b2d56f62bb7a8c1369bab5c3191c10405 100644
--- a/runtime/starpu/control/runtime_options.c
+++ b/runtime/starpu/control/runtime_options.c
@@ -19,8 +19,6 @@
  * @date 2020-01-07
  *
  */
-#include <stdio.h>
-#include <stdlib.h>
 #include "chameleon_starpu.h"
 
 void RUNTIME_options_init( RUNTIME_option_t *option, CHAM_context_t *chamctxt,
diff --git a/runtime/starpu/control/runtime_profiling.c b/runtime/starpu/control/runtime_profiling.c
index 4881cadeebfb166d8c34d48678d280edc977272a..fb8fc039fc8a06e4ac09aa05f9cf613f9a709d03 100644
--- a/runtime/starpu/control/runtime_profiling.c
+++ b/runtime/starpu/control/runtime_profiling.c
@@ -20,8 +20,8 @@
  * @date 2020-03-03
  *
  */
-#include <math.h>
 #include "chameleon_starpu.h"
+#include <math.h>
 #if defined(STARPU_USE_FXT)
 #include <starpu_fxt.h>
 #endif
diff --git a/runtime/starpu/include/chameleon_starpu.h.in b/runtime/starpu/include/chameleon_starpu.h.in
index c2ac71d22cab33200716a75dda3c7ceb62544226..e9fc23d52967610ab53ad3a99fd2736f80041782 100644
--- a/runtime/starpu/include/chameleon_starpu.h.in
+++ b/runtime/starpu/include/chameleon_starpu.h.in
@@ -23,7 +23,7 @@
 #ifndef _chameleon_starpu_h_
 #define _chameleon_starpu_h_
 
-#include "chameleon/config.h"
+#include "control/common.h"
 
 /* StarPU options */
 #cmakedefine HAVE_STARPU_IDLE_PREFETCH
diff --git a/runtime/starpu/interface/cham_tile_interface.c b/runtime/starpu/interface/cham_tile_interface.c
index 92d2d42036d0a525e76649d8319cccfe904771b0..c95bf0b85a829b59b3c41e00024f57c4bcd46ad5 100644
--- a/runtime/starpu/interface/cham_tile_interface.c
+++ b/runtime/starpu/interface/cham_tile_interface.c
@@ -186,7 +186,7 @@ cti_free_data_on_node( void *data_interface, unsigned node )
     else
 #endif
     {
-        assert( (intptr_t)(cham_tile_interface->tile.mat) == cham_tile_interface->dev_handle );
+        assert( (uintptr_t)(cham_tile_interface->tile.mat) == cham_tile_interface->dev_handle );
     }
 
     starpu_free_on_node( node, cham_tile_interface->dev_handle, cham_tile_interface->allocsize );
@@ -334,6 +334,8 @@ cti_pack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface,
 {
 #if !defined(CHAMELEON_USE_HMAT)
     assert( 0 );
+    (void)cham_tile_interface;
+    (void)ptr;
 #else
     hmat_matrix_t *mat = cham_tile_interface->tile.mat;
     STARPU_ASSERT_MSG( mat != NULL, "cti_pack_data_hmat: Try to pack a NULL pointer\n" );
@@ -433,6 +435,8 @@ cti_unpack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface,
     assert( cham_tile_interface->tile.format & CHAMELEON_TILE_HMAT );
 #if !defined(CHAMELEON_USE_HMAT)
     assert( 0 );
+    (void)cham_tile_interface;
+    (void)ptr;
 #else
     hmat_matrix_t *mat = NULL;
     switch( cham_tile_interface->flttype ) {
diff --git a/testing/chameleon_ztesting.c b/testing/chameleon_ztesting.c
index 6673656658160fd962fd4aff02295bb5fbbb4620..7a47afc1b5c062d7a45a1cbee59403d12a4814cc 100644
--- a/testing/chameleon_ztesting.c
+++ b/testing/chameleon_ztesting.c
@@ -629,7 +629,7 @@ int main (int argc, char **argv) {
 
     if ( rc != CHAMELEON_SUCCESS ) {
         fprintf( stderr, "CHAMELEON_Init failed and returned %d.\n", rc );
-        return EXIT_FAILURE;
+        goto end;
     }
 
     /* Set ncores to the right value */
@@ -656,7 +656,7 @@ int main (int argc, char **argv) {
             fprintf( stderr,
                      "--forcegpu can't be enable without GPU (-g 0).\n"
                      "  Please specify a larger number of GPU or disable this option\n" );
-            return EXIT_FAILURE;
+            goto end;
         }
         RUNTIME_zlocality_allrestrict( RUNTIME_CUDA );
     }
@@ -712,6 +712,8 @@ int main (int argc, char **argv) {
     }
     free( runlist );
 
+  end:
+    ;/* OpenMP end */
     CHAMELEON_Finalize();
     parameters_destroy();
 
diff --git a/testing/testing_zcesca.c b/testing/testing_zcesca.c
index 8fdcd839490fd5265ca32c940600a5d26ffc7546..4bc57a46f5231ccb989b138b4a0764d2ac866884 100644
--- a/testing/testing_zcesca.c
+++ b/testing/testing_zcesca.c
@@ -87,6 +87,7 @@ testing_zcesca( run_arg_list_t *args, int check )
 
     CHAMELEON_Desc_Destroy( &descA );
 
+    (void)check;
     return hres;
 }
 
diff --git a/testing/testing_zcheck.c b/testing/testing_zcheck.c
index 2bc8ceb11edfb9a793a8c5931ae28abb0c9bac2c..35b044b4a870930805e3d95f46977081e8e6622e 100644
--- a/testing/testing_zcheck.c
+++ b/testing/testing_zcheck.c
@@ -18,6 +18,7 @@
  * @precisions normal z -> c d s
  *
  */
+#include "../control/common.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -33,7 +34,6 @@
 #if defined(CHAMELEON_USE_MPI)
 #include <mpi.h>
 #endif
-#include "../control/common.h"
 #include "testings.h"
 #include "testing_zcheck.h"
 #include <chameleon/flops.h>
diff --git a/testing/testing_zgels.c b/testing/testing_zgels.c
index df61a7ad3b4217afd11eccd2f772b20187e6d91f..9e63a8020d557b854e1ae77037f46643ff591121 100644
--- a/testing/testing_zgels.c
+++ b/testing/testing_zgels.c
@@ -17,11 +17,11 @@
  * @precisions normal z -> c d s
  *
  */
+#include "../control/common.h"
 #include <chameleon.h>
 #include "testings.h"
 #include "testing_zcheck.h"
 #include <chameleon/flops.h>
-#include "../control/common.h"
 
 static cham_fixdbl_t
 flops_zgels( cham_trans_t trans, int M, int N, int NRHS )
diff --git a/testing/testing_zgels_hqr.c b/testing/testing_zgels_hqr.c
index e897ac7ae5002a7b815e7a32e264729e0a723304..f0227671a35a880f44ca6bcf56afc7a423270e89 100644
--- a/testing/testing_zgels_hqr.c
+++ b/testing/testing_zgels_hqr.c
@@ -17,11 +17,11 @@
  * @precisions normal z -> c d s
  *
  */
+#include "../control/common.h"
 #include <chameleon.h>
 #include "testings.h"
 #include "testing_zcheck.h"
 #include <chameleon/flops.h>
-#include "../control/common.h"
 
 static cham_fixdbl_t
 flops_zgels_hqr( cham_trans_t trans, int M, int N, int NRHS )
diff --git a/testing/testing_zgram.c b/testing/testing_zgram.c
index edacb306a6de1f0f29dc3b2d0848c2418c443428..eca6b24f07505671d9a86e33228900b615fa28ec 100644
--- a/testing/testing_zgram.c
+++ b/testing/testing_zgram.c
@@ -87,6 +87,7 @@ testing_zgram( run_arg_list_t *args, int check )
 
     CHAMELEON_Desc_Destroy( &descA );
 
+    (void)check;
     return hres;
 }
 
diff --git a/testing/testing_zhemm.c b/testing/testing_zhemm.c
index ae396c1aac7d8c7ac77fe4e10d6d93942cb225be..c592e8ceeeca316b50c31ffeeed33ead1804a059 100644
--- a/testing/testing_zhemm.c
+++ b/testing/testing_zhemm.c
@@ -33,7 +33,7 @@ testing_zhemm( run_arg_list_t *args, int check )
     intptr_t              mtxfmt = parameters_getvalue_int( "mtxfmt" );
     int                   nb     = run_arg_get_int( args, "nb", 320 );
     int                   P      = parameters_getvalue_int( "P" );
-    cham_side_t           side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t           side   = run_arg_get_side( args, "side", ChamLeft );
     cham_uplo_t           uplo   = run_arg_get_uplo( args, "uplo", ChamUpper );
     int                   N      = run_arg_get_int( args, "N", 1000 );
     int                   M      = run_arg_get_int( args, "M", N );
diff --git a/testing/testing_zprint.c b/testing/testing_zprint.c
index ae489df40c54470faa418ace53693d108dccc8b8..a73d7b7a6485127e6f829f842aca11c02e5321e2 100644
--- a/testing/testing_zprint.c
+++ b/testing/testing_zprint.c
@@ -52,7 +52,7 @@ chameleon_getblkldd_cm( const CHAM_desc_t *A, int m )
 int
 testing_zprint( run_arg_list_t *args, int check )
 {
-    int hres = 0;
+    int rc, hres = 0;
 
     /* Read arguments */
     intptr_t mtxfmt    = parameters_getvalue_int( "mtxfmt" );
@@ -73,42 +73,62 @@ testing_zprint( run_arg_list_t *args, int check )
     CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
 
     fprintf( stdout, "--- Tile layout ---\n" );
-    CHAMELEON_Desc_Create(
+    rc = CHAMELEON_Desc_Create(
         &descA, (void*)(-mtxfmt), ChamComplexDouble, nb, nb, nb * nb, LDA, N, 0, 0, M, N, P, Q );
 
-    CHAMELEON_Desc_Print( descA );
+    if ( rc == CHAMELEON_SUCCESS ) {
+        CHAMELEON_Desc_Print( descA );
+    }
+    else {
+        fprintf( stdout, "--- Tile layout (FAILED)---\n" );
+        hres++;
+    }
 
     CHAMELEON_Desc_Destroy( &descA );
 
-    fprintf( stdout, "--- Lapacke layout ---\n" );
-    CHAMELEON_Desc_Create_User(
+    fprintf( stdout, "--- Lapack layout ---\n" );
+    rc = CHAMELEON_Desc_Create_User(
         &descA, (void*)(-mtxfmt), ChamComplexDouble, nb, nb, nb * nb, LDA, N, 0, 0, M, N, P, Q,
         chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL );
 
-    CHAMELEON_Desc_Print( descA );
+    if ( rc == CHAMELEON_SUCCESS ) {
+        CHAMELEON_Desc_Print( descA );
+    }
+    else {
+        fprintf( stdout, "--- Lapack layout (FAILED)---\n" );
+        hres++;
+    }
     CHAMELEON_Desc_Destroy( &descA );
 
-    fprintf( stdout, "--- Recursive layout (Tile)---\n" );
-    CHAMELEON_Recursive_Desc_Create(
-        &descA, CHAMELEON_MAT_ALLOC_GLOBAL, ChamComplexDouble,
-        list_nb, list_nb, LDA, N, M, N, P, Q,
-        NULL, NULL, NULL );
-
-    CHAMELEON_Desc_Print( descA );
-    CHAMELEON_Desc_Destroy( &descA );
-
-    fprintf( stdout, "--- Recursive layout (Lapack) ---\n" );
-    CHAMELEON_Recursive_Desc_Create(
-        &descA, CHAMELEON_MAT_ALLOC_GLOBAL, ChamComplexDouble,
-        list_nb, list_nb, LDA, N, M, N, P, Q,
-        chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL );
-
-    CHAMELEON_Desc_Print( descA );
-    CHAMELEON_Desc_Destroy( &descA );
+    if ( CHAMELEON_Comm_size() == 0 )
+    {
+        fprintf( stdout, "--- Recursive layout (Tile)---\n" );
+        rc = CHAMELEON_Recursive_Desc_Create(
+            &descA, CHAMELEON_MAT_ALLOC_GLOBAL, ChamComplexDouble,
+            list_nb, list_nb, LDA, N, M, N, P, Q,
+            NULL, NULL, NULL );
+
+        if ( rc == CHAMELEON_SUCCESS ) {
+            CHAMELEON_Desc_Print( descA );
+        }
+        CHAMELEON_Desc_Destroy( &descA );
+
+        fprintf( stdout, "--- Recursive layout (Lapack) ---\n" );
+        rc = CHAMELEON_Recursive_Desc_Create(
+            &descA, CHAMELEON_MAT_ALLOC_GLOBAL, ChamComplexDouble,
+            list_nb, list_nb, LDA, N, M, N, P, Q,
+            chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL );
+
+        if ( rc == CHAMELEON_SUCCESS ) {
+            CHAMELEON_Desc_Print( descA );
+        }
+        CHAMELEON_Desc_Destroy( &descA );
+    }
 
     run_arg_add_fixdbl( args, "time", 1. );
     run_arg_add_fixdbl( args, "gflops", 1. );
 
+    (void)check;
     return hres;
 }
 
diff --git a/testing/testing_zsymm.c b/testing/testing_zsymm.c
index c37aec490c3a041d7b440f25dfab4b7486bb99fe..e4437d418b9b9d45235b8b42fa1bbef57555bf80 100644
--- a/testing/testing_zsymm.c
+++ b/testing/testing_zsymm.c
@@ -33,7 +33,7 @@ testing_zsymm( run_arg_list_t *args, int check )
     intptr_t              mtxfmt = parameters_getvalue_int( "mtxfmt" );
     int                   nb     = run_arg_get_int( args, "nb", 320 );
     int                   P      = parameters_getvalue_int( "P" );
-    cham_side_t           side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t           side   = run_arg_get_side( args, "side", ChamLeft );
     cham_uplo_t           uplo   = run_arg_get_uplo( args, "uplo", ChamUpper );
     int                   N      = run_arg_get_int( args, "N", 1000 );
     int                   M      = run_arg_get_int( args, "M", N );
diff --git a/testing/testing_ztrmm.c b/testing/testing_ztrmm.c
index 24a342fd768942686244056d6f09847ddf791055..bd226288f55c1dd64081027a319af67cafea38eb 100644
--- a/testing/testing_ztrmm.c
+++ b/testing/testing_ztrmm.c
@@ -34,7 +34,7 @@ testing_ztrmm( run_arg_list_t *args, int check )
     int                   nb     = run_arg_get_int( args, "nb", 320 );
     int                   P      = parameters_getvalue_int( "P" );
     cham_trans_t          trans  = run_arg_get_trans( args, "trans", ChamNoTrans );
-    cham_side_t           side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t           side   = run_arg_get_side( args, "side", ChamLeft );
     cham_uplo_t           uplo   = run_arg_get_uplo( args, "uplo", ChamUpper );
     cham_diag_t           diag   = run_arg_get_diag( args, "diag", ChamNonUnit );
     int                   N      = run_arg_get_int( args, "N", 1000 );
diff --git a/testing/testing_zunmlq.c b/testing/testing_zunmlq.c
index 8e811f900648c0179878e1132c661f90228dc1f1..f2708fa7e46546a30c50efec7269bda90d920cd6 100644
--- a/testing/testing_zunmlq.c
+++ b/testing/testing_zunmlq.c
@@ -34,7 +34,7 @@ testing_zunmlq( run_arg_list_t *args, int check )
     int          nb     = run_arg_get_int( args, "nb", 320 );
     int          ib     = run_arg_get_int( args, "ib", 48 );
     int          P      = parameters_getvalue_int( "P" );
-    cham_side_t  side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t  side   = run_arg_get_side( args, "side", ChamLeft );
     cham_trans_t trans  = run_arg_get_trans( args, "trans", ChamNoTrans );
     int          N      = run_arg_get_int( args, "N", 1000 );
     int          M      = run_arg_get_int( args, "M", N );
diff --git a/testing/testing_zunmlq_hqr.c b/testing/testing_zunmlq_hqr.c
index 156bb51404d1da96c9a039389096eff74e6c879f..d657648bd38dfe71b80324971b6e1827221e2f91 100644
--- a/testing/testing_zunmlq_hqr.c
+++ b/testing/testing_zunmlq_hqr.c
@@ -34,7 +34,7 @@ testing_zunmlq_hqr( run_arg_list_t *args, int check )
     int          nb     = run_arg_get_int( args, "nb", 320 );
     int          ib     = run_arg_get_int( args, "ib", 48 );
     int          P      = parameters_getvalue_int( "P" );
-    cham_side_t  side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t  side   = run_arg_get_side( args, "side", ChamLeft );
     cham_trans_t trans  = run_arg_get_trans( args, "trans", ChamNoTrans );
     int          N      = run_arg_get_int( args, "N", 1000 );
     int          M      = run_arg_get_int( args, "M", N );
diff --git a/testing/testing_zunmqr.c b/testing/testing_zunmqr.c
index f954246803bd09333e71f65065c5bfa978745e16..34fe5bc9a983661c149b1b2315d91ec2ab94e7c3 100644
--- a/testing/testing_zunmqr.c
+++ b/testing/testing_zunmqr.c
@@ -34,7 +34,7 @@ testing_zunmqr( run_arg_list_t *args, int check )
     int          nb     = run_arg_get_int( args, "nb", 320 );
     int          ib     = run_arg_get_int( args, "ib", 48 );
     int          P      = parameters_getvalue_int( "P" );
-    cham_side_t  side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t  side   = run_arg_get_side( args, "side", ChamLeft );
     cham_trans_t trans  = run_arg_get_trans( args, "trans", ChamNoTrans );
     int          N      = run_arg_get_int( args, "N", 1000 );
     int          M      = run_arg_get_int( args, "M", N );
diff --git a/testing/testing_zunmqr_hqr.c b/testing/testing_zunmqr_hqr.c
index 0c8748290b6ee26504477673d199384eb05058c7..e4f5e62b20fcbb704deb83f23c85cc4366c74fd8 100644
--- a/testing/testing_zunmqr_hqr.c
+++ b/testing/testing_zunmqr_hqr.c
@@ -34,7 +34,7 @@ testing_zunmqr_hqr( run_arg_list_t *args, int check )
     int          nb     = run_arg_get_int( args, "nb", 320 );
     int          ib     = run_arg_get_int( args, "ib", 48 );
     int          P      = parameters_getvalue_int( "P" );
-    cham_side_t  side   = run_arg_get_uplo( args, "side", ChamLeft );
+    cham_side_t  side   = run_arg_get_side( args, "side", ChamLeft );
     cham_trans_t trans  = run_arg_get_trans( args, "trans", ChamNoTrans );
     int          N      = run_arg_get_int( args, "N", 1000 );
     int          M      = run_arg_get_int( args, "M", N );