diff --git a/sopalin/starpu/codelet_blok_zadd.c b/sopalin/starpu/codelet_blok_zadd.c
index c44ba8953500dca545800e10eb81a848cf0b0349..735ee52417ccd3901aeee1943bf98c9056caf1ff 100644
--- a/sopalin/starpu/codelet_blok_zadd.c
+++ b/sopalin/starpu/codelet_blok_zadd.c
@@ -106,6 +106,7 @@ static void (*blok_zadd_callback)(void*) = cl_profiling_callback;
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -161,10 +162,11 @@ fct_blok_zadd_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_blok_zadd_model = {
-#if defined( PASTIX_STARPU_COST_PER_ARCH )
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
     .type               = STARPU_PER_ARCH,
     .arch_cost_function = fct_blok_zadd_cost,
 #else
diff --git a/sopalin/starpu/codelet_blok_zgemmsp.c b/sopalin/starpu/codelet_blok_zgemmsp.c
index 653ca0576a33f75b591cff7ad08b0a38de72895a..9dc17d6f4f13d6f0355cfb4978c1634e472fa6bd 100644
--- a/sopalin/starpu/codelet_blok_zgemmsp.c
+++ b/sopalin/starpu/codelet_blok_zgemmsp.c
@@ -108,6 +108,7 @@ static void (*blok_zgemmsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -163,7 +164,7 @@ fct_blok_zgemmsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
-
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_blok_zgemmsp_model = {
diff --git a/sopalin/starpu/codelet_blok_zgetrfsp.c b/sopalin/starpu/codelet_blok_zgetrfsp.c
index 454cf4f4972cd7e4467ba8cd28d4465066e7a4e8..b4edd50cf84fb94d235875853f170e89cb74b01b 100644
--- a/sopalin/starpu/codelet_blok_zgetrfsp.c
+++ b/sopalin/starpu/codelet_blok_zgetrfsp.c
@@ -98,6 +98,7 @@ static void (*blok_zgetrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -151,6 +152,7 @@ fct_blok_zgetrfsp_cost( struct starpu_task          *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_blok_zgetrfsp_model = {
diff --git a/sopalin/starpu/codelet_blok_zhetrfsp.c b/sopalin/starpu/codelet_blok_zhetrfsp.c
index bc07e19c4a377d0fe1baf44dc94e2380a389e82a..d073d0f5731fbb95b14e60188e3f84c6196bdd51 100644
--- a/sopalin/starpu/codelet_blok_zhetrfsp.c
+++ b/sopalin/starpu/codelet_blok_zhetrfsp.c
@@ -98,6 +98,7 @@ static void (*blok_zhetrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -151,6 +152,7 @@ fct_blok_zhetrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_blok_zhetrfsp_model = {
diff --git a/sopalin/starpu/codelet_blok_zpotrfsp.c b/sopalin/starpu/codelet_blok_zpotrfsp.c
index 28e6631b59cbf4e5a0dbd1ebc8f5f4a0b4cd5099..020ec960e59f7eb5058f2485b3dae56087d2bbe2 100644
--- a/sopalin/starpu/codelet_blok_zpotrfsp.c
+++ b/sopalin/starpu/codelet_blok_zpotrfsp.c
@@ -98,6 +98,7 @@ static void (*blok_zpotrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -151,6 +152,7 @@ fct_blok_zpotrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_blok_zpotrfsp_model = {
diff --git a/sopalin/starpu/codelet_blok_zpxtrfsp.c b/sopalin/starpu/codelet_blok_zpxtrfsp.c
index e293d922a3e75992e0e74c4c69ce1f08af8b6528..e76e2c6642f04433d89bb2947634b524bc19fd0b 100644
--- a/sopalin/starpu/codelet_blok_zpxtrfsp.c
+++ b/sopalin/starpu/codelet_blok_zpxtrfsp.c
@@ -99,6 +99,7 @@ static void (*blok_zpxtrfsp_callback)(void*) = cl_profiling_callback;
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -152,6 +153,7 @@ fct_blok_zpxtrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 static struct starpu_perfmodel starpu_blok_zpxtrfsp_model = {
 #if defined(PASTIX_STARPU_COST_PER_ARCH)
diff --git a/sopalin/starpu/codelet_blok_zscalo.c b/sopalin/starpu/codelet_blok_zscalo.c
index 78d7dc68ac335c4944b7c7cc46707709346d6351..f7fa83f5e3e8b9f0ac40fde4f9e0ec4877def8bb 100644
--- a/sopalin/starpu/codelet_blok_zscalo.c
+++ b/sopalin/starpu/codelet_blok_zscalo.c
@@ -71,6 +71,7 @@ static void (*blok_ztrsmsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  * @brief Cost model function
  *
@@ -107,6 +108,7 @@ fct_blok_zscalo_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 static struct starpu_perfmodel starpu_blok_zscalo_model = {
 #if defined(PASTIX_STARPU_COST_PER_ARCH)
diff --git a/sopalin/starpu/codelet_blok_zsytrfsp.c b/sopalin/starpu/codelet_blok_zsytrfsp.c
index cd67d9705b17a7b2d879690233f11a51faa86251..b842643a9511f3ebbf174459a01d996fd48fc0b6 100644
--- a/sopalin/starpu/codelet_blok_zsytrfsp.c
+++ b/sopalin/starpu/codelet_blok_zsytrfsp.c
@@ -99,6 +99,7 @@ static void (*blok_zsytrfsp_callback)(void*) = cl_profiling_callback;
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -152,6 +153,7 @@ fct_blok_zsytrfsp_cost( struct starpu_task          *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 static struct starpu_perfmodel starpu_blok_zsytrfsp_model = {
 #if defined(PASTIX_STARPU_COST_PER_ARCH)
diff --git a/sopalin/starpu/codelet_blok_ztrsmsp.c b/sopalin/starpu/codelet_blok_ztrsmsp.c
index d896c199178c1c065ff0712ae8067a10dd677520..dad2a19556d177e3e4af754fb4e21521c826e29a 100644
--- a/sopalin/starpu/codelet_blok_ztrsmsp.c
+++ b/sopalin/starpu/codelet_blok_ztrsmsp.c
@@ -107,6 +107,7 @@ static void (*blok_ztrsmsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -161,6 +162,7 @@ fct_blok_ztrsmsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_blok_ztrsmsp_model = {
diff --git a/sopalin/starpu/codelet_cblk_zadd.c b/sopalin/starpu/codelet_cblk_zadd.c
index 5b5bc7450ba7b065725a612727953c6f99fbafed..8783af7cb11ecf4a185b54f42c55312eb06e98ad 100644
--- a/sopalin/starpu/codelet_cblk_zadd.c
+++ b/sopalin/starpu/codelet_cblk_zadd.c
@@ -102,6 +102,7 @@ static void (*cblk_zadd_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -156,6 +157,7 @@ fct_cblk_zadd_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zadd_model = {
@@ -371,6 +373,7 @@ starpu_task_cblk_zadd_fanin( sopalin_data_t    *sopalin_data,
 #endif
         0);
 
+    (void)sopalin_data;
     (void)prio;
 }
 
diff --git a/sopalin/starpu/codelet_cblk_zgemmsp.c b/sopalin/starpu/codelet_cblk_zgemmsp.c
index 9231d5574044d0192f11835393b8d73c5ac205ab..84b1065f98003a13569d31e0e477291cacfcae8c 100644
--- a/sopalin/starpu/codelet_cblk_zgemmsp.c
+++ b/sopalin/starpu/codelet_cblk_zgemmsp.c
@@ -111,6 +111,7 @@ static void (*cblk_zgemmsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -169,6 +170,7 @@ fct_cblk_zgemmsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zgemmsp_model = {
diff --git a/sopalin/starpu/codelet_cblk_zgetrfsp.c b/sopalin/starpu/codelet_cblk_zgetrfsp.c
index 7b948a78d0b8a87d3cfff01afaccf4844e96ec82..16d00b8c331b149d45fc1edc6b95ce09f30a9461 100644
--- a/sopalin/starpu/codelet_cblk_zgetrfsp.c
+++ b/sopalin/starpu/codelet_cblk_zgetrfsp.c
@@ -100,6 +100,7 @@ static void (*cblk_zgetrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -158,6 +159,7 @@ fct_cblk_zgetrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zgetrfsp_model = {
diff --git a/sopalin/starpu/codelet_cblk_zhetrfsp.c b/sopalin/starpu/codelet_cblk_zhetrfsp.c
index cf621c6d219c0c9a4ebe711b43f74de0656a9cc4..49de7d81434f7076a7fbccd03457cfa2befd27d2 100644
--- a/sopalin/starpu/codelet_cblk_zhetrfsp.c
+++ b/sopalin/starpu/codelet_cblk_zhetrfsp.c
@@ -101,6 +101,7 @@ static void (*cblk_zhetrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -159,6 +160,7 @@ fct_cblk_zhetrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zhetrfsp_model = {
diff --git a/sopalin/starpu/codelet_cblk_zpotrfsp.c b/sopalin/starpu/codelet_cblk_zpotrfsp.c
index 1d42a2e5d6a3fdba13486e7678e19f7cfb3f7f37..38a3dd19a62b79dd5637c3317299bdadf1fa8535 100644
--- a/sopalin/starpu/codelet_cblk_zpotrfsp.c
+++ b/sopalin/starpu/codelet_cblk_zpotrfsp.c
@@ -100,6 +100,7 @@ static void (*cblk_zpotrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -158,6 +159,7 @@ fct_cblk_zpotrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zpotrfsp_model = {
diff --git a/sopalin/starpu/codelet_cblk_zpxtrfsp.c b/sopalin/starpu/codelet_cblk_zpxtrfsp.c
index 1542138a7b0d80333c3f48c7bf210a23aa5e69db..37bb584184b00e6afc84672be1d395e9b45e70fd 100644
--- a/sopalin/starpu/codelet_cblk_zpxtrfsp.c
+++ b/sopalin/starpu/codelet_cblk_zpxtrfsp.c
@@ -99,6 +99,7 @@ static void (*cblk_zpxtrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -157,6 +158,7 @@ fct_cblk_zpxtrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zpxtrfsp_model = {
diff --git a/sopalin/starpu/codelet_cblk_zsytrfsp.c b/sopalin/starpu/codelet_cblk_zsytrfsp.c
index 390fa63fed3e58d0f695b605ce2d492b7a27cbfe..5d117bc9b4278bfa2881b2e8bce5670bec9d0bf2 100644
--- a/sopalin/starpu/codelet_cblk_zsytrfsp.c
+++ b/sopalin/starpu/codelet_cblk_zsytrfsp.c
@@ -101,6 +101,7 @@ static void (*cblk_zsytrfsp_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined(PASTIX_STARPU_PROFILING) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  *******************************************************************************
  *
@@ -159,6 +160,7 @@ fct_cblk_zsytrfsp_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_cblk_zsytrfsp_model = {
diff --git a/sopalin/starpu/codelet_template.c b/sopalin/starpu/codelet_template.c
index c9929fdf7acc01fbb23cab17ae5e15512bceed55..ffdcb2451942a84a42c2ee9b276b882952e2e905 100644
--- a/sopalin/starpu/codelet_template.c
+++ b/sopalin/starpu/codelet_template.c
@@ -100,6 +100,7 @@ static void (*template_callback)(void*) = cl_profiling_callback;
 
 #endif /* defined( PASTIX_STARPU_PROFILING ) */
 
+#if defined(PASTIX_STARPU_COST_PER_ARCH)
 /**
  * @brief Cost model function
  *
@@ -137,6 +138,7 @@ fct_template_cost( struct starpu_task           *task,
     (void)nimpl;
     return cost;
 }
+#endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 static struct starpu_perfmodel starpu_template_model = {
diff --git a/sopalin/starpu/starpu_rhs.c b/sopalin/starpu/starpu_rhs.c
index db51da4337e2186799083ebbc548fb15eb76ef57..8bc1c8052ebc1ebea15aa0d3a7fe133761020cea 100644
--- a/sopalin/starpu/starpu_rhs.c
+++ b/sopalin/starpu/starpu_rhs.c
@@ -158,10 +158,9 @@ starpu_rhs_init( SolverMatrix *solvmtx,
     starpu_data_handle_t *handler;
     SolverCblk           *cblk;
     pastix_int_t          cblknbr, cblknum, nrow;
-    pastix_int_t          ncol = rhsb->n;
-    int64_t               tag_desc;
+    pastix_int_t          ncol    = rhsb->n;
+    starpu_rhs_desc_t    *rhsdesc = rhsb->starpu_desc;
 
-    starpu_rhs_desc_t *rhsdesc = rhsb->starpu_desc;
     if ( rhsdesc != NULL ) {
         if ( ( ncol    == rhsdesc->ncol ) &&
              ( rhsb->b == rhsdesc->dataptr ) ) {
@@ -176,8 +175,10 @@ starpu_rhs_init( SolverMatrix *solvmtx,
     cblknbr = solvmtx->cblknbr;
 
 #if defined(PASTIX_WITH_MPI)
-    tag_desc           = ( (int64_t) ( solvmtx->gcblknbr + solvmtx->gfanincblknbr ) );
-    rhsdesc->mpitag    = pastix_starpu_tag_book( tag_desc );
+    {
+        int64_t tag_desc = ( (int64_t) ( solvmtx->gcblknbr + solvmtx->gfanincblknbr ) );
+        rhsdesc->mpitag  = pastix_starpu_tag_book( tag_desc );
+    }
 #endif
     rhsdesc->ncol      = ncol;
     rhsdesc->typesze   = pastix_size_of( typesize );
diff --git a/sopalin/starpu/starpu_ztrsm.c b/sopalin/starpu/starpu_ztrsm.c
index 5905f806ce6cec932f8c879f110fe397810b4786..6aede0aff255fb68d54fe488a04264cba43d9219 100644
--- a/sopalin/starpu/starpu_ztrsm.c
+++ b/sopalin/starpu/starpu_ztrsm.c
@@ -267,7 +267,10 @@ starpu_ztrsm_sp1dplus( pastix_data_t      *pastix_data,
                        const args_solve_t *enums )
 {
     SolverMatrix *datacode = sopalin_data->solvmtx;
-    SolverCblk   *cblk, *fcblk;
+    SolverCblk   *cblk;
+#if defined(PASTIX_WITH_MPI)
+    SolverCblk   *fcblk;
+#endif
     pastix_int_t  i, cblknbr, prio;
 
     /* Backward like */