diff --git a/compute/CMakeLists.txt b/compute/CMakeLists.txt
index 9a98f52459b9d01b391e2d3869442d1f688543dd..815d613b3b4b512fcd8a5d4963c272890fc6d248 100644
--- a/compute/CMakeLists.txt
+++ b/compute/CMakeLists.txt
@@ -303,12 +303,8 @@ list(INSERT CHAMELEON_DEP 0 -lchameleon)
 
 add_dependencies(chameleon
   chameleon_include
-  coreblas_include
   control_include
 )
-if (NOT CHAMELEON_SIMULATION)
-    add_dependencies(chameleon coreblas_include)
-endif()
 
 set_property(TARGET chameleon PROPERTY LINKER_LANGUAGE Fortran)
 set_property(TARGET chameleon PROPERTY Fortran_MODULE_DIRECTORY "${CMAKE_BINARY_DIR}/include")
diff --git a/compute/zgesvd.c b/compute/zgesvd.c
index 044a9e811baa2aeff6bbff6a695d0edf3e58eb4f..4362bcd1870b6549518c0a9f60a8417e49dbc5d6 100644
--- a/compute/zgesvd.c
+++ b/compute/zgesvd.c
@@ -23,6 +23,8 @@
  * @precisions normal z -> s d c
  *
  **/
+#include <stdio.h>
+#include <string.h>
 #include <coreblas/lapacke.h>
 #include "control/common.h"
 
diff --git a/compute/zheevd.c b/compute/zheevd.c
index ea0aad7e1e7ae0197478946585f68da283f1c1ef..1683086544445252128257df8750ca6710ce8f5a 100644
--- a/compute/zheevd.c
+++ b/compute/zheevd.c
@@ -23,6 +23,7 @@
  * @precisions normal z -> s d c
  *
  **/
+#include <string.h>
 #include <coreblas/lapacke.h>
 #include "control/common.h"
 
diff --git a/control/common.h b/control/common.h
index 3e0854f856e41ce78742e31fa5398d6dfd17249b..81bce72c4f73839e0f48a2bcfaba627df088d34f 100644
--- a/control/common.h
+++ b/control/common.h
@@ -74,11 +74,6 @@
  **/
 #include "morse.h"
 
-#include "coreblas.h"
-#if defined(CHAMELEON_USE_CUDA) && !defined(CHAMELEON_SIMULATION)
-#include "cudablas.h"
-#endif
-
 #include "control/global.h"
 #include "control/auxiliary.h"
 #include "control/context.h"
diff --git a/control/descriptor.c b/control/descriptor.c
index 1a856099a45a291031f159a6dcc154bc5d1e04ed..26a0d4747c511cb80f920b10bdc331f2a319d014 100644
--- a/control/descriptor.c
+++ b/control/descriptor.c
@@ -29,9 +29,9 @@
  * @brief Group descriptor routines exposed to users
  *
  */
-
 #include <stdlib.h>
 #include <assert.h>
+#include <string.h>
 #include "control/common.h"
 #include "control/descriptor.h"
 #include "chameleon/morse_runtime.h"
diff --git a/runtime/parsec/CMakeLists.txt b/runtime/parsec/CMakeLists.txt
index f6ea641c8a81a836cb142d8b9b627108ce74c0e0..45a1559e971eaad0e287d081612871319c372d22 100644
--- a/runtime/parsec/CMakeLists.txt
+++ b/runtime/parsec/CMakeLists.txt
@@ -44,8 +44,8 @@ set(RUNTIME_HDRS_GENERATED "")
 # Define the list of headers
 # --------------------------
 set(RUNTIME_HDRS
-    include/chameleon_parsec.h
-    )
+  include/chameleon_parsec.h
+  )
 
 # Add generated headers
 # ---------------------
@@ -111,10 +111,16 @@ add_library(chameleon_parsec ${RUNTIME_SRCS})
 set_property(TARGET chameleon_parsec PROPERTY LINKER_LANGUAGE Fortran)
 set_property(TARGET chameleon_parsec PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
 
-target_link_libraries(chameleon_parsec coreblas ${PARSEC_LIBRARIES_DEP})
-if(CHAMELEON_USE_CUDA)
-  target_link_libraries(chameleon_parsec cudablas)
-endif(CHAMELEON_USE_CUDA)
+target_link_libraries(chameleon_parsec
+  ${PARSEC_LIBRARIES_DEP})
+if (NOT CHAMELEON_SIMULATION)
+  target_link_libraries(chameleon_parsec
+    coreblas)
+  if(CHAMELEON_USE_CUDA)
+    target_link_libraries(chameleon_parsec
+      cudablas)
+  endif(CHAMELEON_USE_CUDA)
+endif(NOT CHAMELEON_SIMULATION)
 
 add_dependencies(chameleon_parsec
   chameleon_include
@@ -123,14 +129,18 @@ add_dependencies(chameleon_parsec
   runtime_parsec_include
 )
 
-if (CHAMELEON_USE_CUDA AND NOT CHAMELEON_SIMULATION)
+if (NOT CHAMELEON_SIMULATION)
+  add_dependencies(chameleon_parsec coreblas_include)
+  if (CHAMELEON_USE_CUDA)
     add_dependencies(chameleon_parsec cudablas_include)
+  endif()
 endif()
 
 # installation
 # ------------
 install(TARGETS chameleon_parsec
-  DESTINATION lib)
+  ARCHIVE DESTINATION lib
+  LIBRARY DESTINATION lib)
 
 ###
 ### END CMakeLists.txt
diff --git a/runtime/starpu/CMakeLists.txt b/runtime/starpu/CMakeLists.txt
index dc23a30f0e83c160b5e53c8bd55bdeb46e76af30..b875800dbf35781e5554ed6fe3b505fec8b2537f 100644
--- a/runtime/starpu/CMakeLists.txt
+++ b/runtime/starpu/CMakeLists.txt
@@ -75,7 +75,7 @@ install(
   DESTINATION include/runtime/starpu )
 
 # Generate the Chameleon common for all possible precisions
-# -----------------------------------------------------
+# ---------------------------------------------------------
 set(RUNTIME_COMMON_GENERATED "")
 set(ZSRC
   control/runtime_zprofiling.c
@@ -106,7 +106,7 @@ endforeach()
 set_source_files_properties(control/runtime_profiling.c PROPERTIES COMPILE_FLAGS "${flags_to_add}")
 
 # Generate the Chameleon sources for all possible precisions
-# ------------------------------------------------------
+# ----------------------------------------------------------
 set(RUNTIME_SRCS_GENERATED "")
 set(ZSRC
   codelets/codelet_zcallback.c
diff --git a/runtime/starpu/codelets/codelet_zasum.c b/runtime/starpu/codelets/codelet_zasum.c
index 77211ecea6b902884c4c714911eb244f6affb7ec..d73861beb853e2950c65561ad1e3d2a4c20c46c8 100644
--- a/runtime/starpu/codelets/codelet_zasum.c
+++ b/runtime/starpu/codelets/codelet_zasum.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_dzasum(const MORSE_option_t *options,
                        MORSE_enum storev, MORSE_enum uplo, int M, int N,
diff --git a/runtime/starpu/codelets/codelet_zaxpy.c b/runtime/starpu/codelets/codelet_zaxpy.c
index e2060eb119a6d59c9e51cf6dde2339eb29b06f82..b41925a34e8af57186f499bd151622bd41d62c7b 100644
--- a/runtime/starpu/codelets/codelet_zaxpy.c
+++ b/runtime/starpu/codelets/codelet_zaxpy.c
@@ -24,7 +24,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zaxpy(const MORSE_option_t *options,
                       int M, MORSE_Complex64_t alpha,
diff --git a/runtime/starpu/codelets/codelet_zbuild.c b/runtime/starpu/codelets/codelet_zbuild.c
index e6086c0f73f3c9660a81fe196e88081038f84ff3..9cc59fd4d13d98688192523c294c45fabc0c2f0f 100644
--- a/runtime/starpu/codelets/codelet_zbuild.c
+++ b/runtime/starpu/codelets/codelet_zbuild.c
@@ -31,7 +31,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zbuild( const MORSE_option_t *options,
                         const MORSE_desc_t *A, int Am, int An, int lda,
diff --git a/runtime/starpu/codelets/codelet_zgeadd.c b/runtime/starpu/codelets/codelet_zgeadd.c
index 513259fd8d44c0f6335b547ea8e9b4df826196a4..9597ec9f1c606a581f89976565765e734981ccbb 100644
--- a/runtime/starpu/codelets/codelet_zgeadd.c
+++ b/runtime/starpu/codelets/codelet_zgeadd.c
@@ -28,7 +28,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  ******************************************************************************
diff --git a/runtime/starpu/codelets/codelet_zgelqt.c b/runtime/starpu/codelets/codelet_zgelqt.c
index cb8717bddc0223a99728a478f167b344b6d966f3..422d14327bdbf0d0a2e763180b6011d66c5a85ab 100644
--- a/runtime/starpu/codelets/codelet_zgelqt.c
+++ b/runtime/starpu/codelets/codelet_zgelqt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zgemm.c b/runtime/starpu/codelets/codelet_zgemm.c
index 376b7c4e48e76e9a8e1e33f0b5a57561cd86cb56..eb439b162fa25804dacf1a587ee13aee9a6f42fb 100644
--- a/runtime/starpu/codelets/codelet_zgemm.c
+++ b/runtime/starpu/codelets/codelet_zgemm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zgeqrt.c b/runtime/starpu/codelets/codelet_zgeqrt.c
index 24bdd536371e06fa7b82b3baca0a452221015eb9..e5ecb4c451848e7c793cd8b641bcb1153c4b6bef 100644
--- a/runtime/starpu/codelets/codelet_zgeqrt.c
+++ b/runtime/starpu/codelets/codelet_zgeqrt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zgessm.c b/runtime/starpu/codelets/codelet_zgessm.c
index 0ef95eccccda20a98490090586e144bff1e3506d..97bc41a51a4907f967d2362854c43363076d2fd5 100644
--- a/runtime/starpu/codelets/codelet_zgessm.c
+++ b/runtime/starpu/codelets/codelet_zgessm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zgessq.c b/runtime/starpu/codelets/codelet_zgessq.c
index 69ff940d763cc268a4468006c586393565a6dbd5..67883aa7eb3338124563b725e9cbdba9815bc97d 100644
--- a/runtime/starpu/codelets/codelet_zgessq.c
+++ b/runtime/starpu/codelets/codelet_zgessq.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zgessq( const MORSE_option_t *options,
                         int m, int n,
diff --git a/runtime/starpu/codelets/codelet_zgetrf.c b/runtime/starpu/codelets/codelet_zgetrf.c
index b07c35b920ddb5654876911f7e3ca29773cf9d40..597353b22be33595441fc9a220700001a22296d9 100644
--- a/runtime/starpu/codelets/codelet_zgetrf.c
+++ b/runtime/starpu/codelets/codelet_zgetrf.c
@@ -28,7 +28,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zgetrf(const MORSE_option_t *options,
                        int m, int n, int nb,
diff --git a/runtime/starpu/codelets/codelet_zgetrf_incpiv.c b/runtime/starpu/codelets/codelet_zgetrf_incpiv.c
index 7515cf3889b644552c5e24d818da8a0163b544e7..2c8a49a98c150e7a170aa2ba6dce0a8dae6e08b3 100644
--- a/runtime/starpu/codelets/codelet_zgetrf_incpiv.c
+++ b/runtime/starpu/codelets/codelet_zgetrf_incpiv.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zgetrf_nopiv.c b/runtime/starpu/codelets/codelet_zgetrf_nopiv.c
index 6994c8e18e2f423003bc01bd9ce76207ec4de86f..42b3b91a4e8925da39af9bc96f7b5ebde1f3921a 100644
--- a/runtime/starpu/codelets/codelet_zgetrf_nopiv.c
+++ b/runtime/starpu/codelets/codelet_zgetrf_nopiv.c
@@ -27,7 +27,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zhe2ge.c b/runtime/starpu/codelets/codelet_zhe2ge.c
index d4898be959cb1baece1240bf9229316e71096d7b..9af2ab510230d7d246153657fae314426f0f786e 100644
--- a/runtime/starpu/codelets/codelet_zhe2ge.c
+++ b/runtime/starpu/codelets/codelet_zhe2ge.c
@@ -22,7 +22,6 @@
 
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zhemm.c b/runtime/starpu/codelets/codelet_zhemm.c
index 7eb1cab6f0dc9105df9820237e7fd7c8eab7966a..d800964e7912b8e2ca219611f00730ed17820c06 100644
--- a/runtime/starpu/codelets/codelet_zhemm.c
+++ b/runtime/starpu/codelets/codelet_zhemm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zher2k.c b/runtime/starpu/codelets/codelet_zher2k.c
index 9cd19851c1f23b8b47b64dd7046c68e39ae9dca2..0ff45dd33581e96bd4f19604c643c772d4824ca2 100644
--- a/runtime/starpu/codelets/codelet_zher2k.c
+++ b/runtime/starpu/codelets/codelet_zher2k.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zherfb.c b/runtime/starpu/codelets/codelet_zherfb.c
index 693c6b4fd0ffedcf7427dbe72ba6f043a41bf149..f4898a60c386fc72fc32103aafd996596d3fe308 100644
--- a/runtime/starpu/codelets/codelet_zherfb.c
+++ b/runtime/starpu/codelets/codelet_zherfb.c
@@ -24,7 +24,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zherk.c b/runtime/starpu/codelets/codelet_zherk.c
index 1dcd00f9aad0834db5ea0ff31b439182ff633fa6..e6a8e29b3b2a9b387b3af9698d26bb463b498f24 100644
--- a/runtime/starpu/codelets/codelet_zherk.c
+++ b/runtime/starpu/codelets/codelet_zherk.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zhessq.c b/runtime/starpu/codelets/codelet_zhessq.c
index 64c5a6212993c2fa6f3c984664f8d59e47f66098..dbb036a5ad1e1d35cae7b9d54abd16650cff6527 100644
--- a/runtime/starpu/codelets/codelet_zhessq.c
+++ b/runtime/starpu/codelets/codelet_zhessq.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zhessq( const MORSE_option_t *options,
                         MORSE_enum uplo, int n,
diff --git a/runtime/starpu/codelets/codelet_zlacpy.c b/runtime/starpu/codelets/codelet_zlacpy.c
index 03d56c1e2e47ee39a4ef4bb48576aba283af1064..eae3ea4650f63d0d86ba72e87fedf2eba19c8486 100644
--- a/runtime/starpu/codelets/codelet_zlacpy.c
+++ b/runtime/starpu/codelets/codelet_zlacpy.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zlag2c.c b/runtime/starpu/codelets/codelet_zlag2c.c
index 1d714321e79d345d810d3aafa2d77b22a7bc78a1..de49959497e4d1328289cd5ceb65969822975873 100644
--- a/runtime/starpu/codelets/codelet_zlag2c.c
+++ b/runtime/starpu/codelets/codelet_zlag2c.c
@@ -28,7 +28,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zlange.c b/runtime/starpu/codelets/codelet_zlange.c
index 1ebf6b5efc1cf77f8970c3fbc6acbc1fd354e42a..f2d412623e2da3b645dba787bf098e03f7d06373 100644
--- a/runtime/starpu/codelets/codelet_zlange.c
+++ b/runtime/starpu/codelets/codelet_zlange.c
@@ -28,7 +28,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zlange(const MORSE_option_t *options,
                        MORSE_enum norm, int M, int N, int NB,
diff --git a/runtime/starpu/codelets/codelet_zlanhe.c b/runtime/starpu/codelets/codelet_zlanhe.c
index fb119405da53eb4eb041eb07e21573bd7348f179..b5560132a5e491d927a6d7db407d28ba5dbb854f 100644
--- a/runtime/starpu/codelets/codelet_zlanhe.c
+++ b/runtime/starpu/codelets/codelet_zlanhe.c
@@ -28,7 +28,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zlanhe(const MORSE_option_t *options,
                        MORSE_enum norm, MORSE_enum uplo, int N, int NB,
diff --git a/runtime/starpu/codelets/codelet_zlansy.c b/runtime/starpu/codelets/codelet_zlansy.c
index 5729b6aa49f3b6e75ca0ecb4d6efe831dfffef38..43be8209f0fe59453f69b132f0c8181104f38a94 100644
--- a/runtime/starpu/codelets/codelet_zlansy.c
+++ b/runtime/starpu/codelets/codelet_zlansy.c
@@ -28,7 +28,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zlansy(const MORSE_option_t *options,
                        MORSE_enum norm, MORSE_enum uplo, int N, int NB,
diff --git a/runtime/starpu/codelets/codelet_zlantr.c b/runtime/starpu/codelets/codelet_zlantr.c
index 673b154801e13a0e5dbeb27ecacc2b687c740e95..f4a542cf0647b25e8c0ab348dfa6c599ac15868b 100644
--- a/runtime/starpu/codelets/codelet_zlantr.c
+++ b/runtime/starpu/codelets/codelet_zlantr.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zlantr(const MORSE_option_t *options,
                        MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag,
diff --git a/runtime/starpu/codelets/codelet_zlascal.c b/runtime/starpu/codelets/codelet_zlascal.c
index 9a4bc3fea17030365a9b661c4dff906bb311268b..518278ee71b7fe09ba41ab218192b40e34be5f16 100644
--- a/runtime/starpu/codelets/codelet_zlascal.c
+++ b/runtime/starpu/codelets/codelet_zlascal.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zlaset.c b/runtime/starpu/codelets/codelet_zlaset.c
index b6c7f294cd4d874ca6c8964a6ee5a63ac4507e59..b4be0033479fc3c82be90f70d9c4fb23739a0449 100644
--- a/runtime/starpu/codelets/codelet_zlaset.c
+++ b/runtime/starpu/codelets/codelet_zlaset.c
@@ -29,7 +29,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 
 /**
diff --git a/runtime/starpu/codelets/codelet_zlaset2.c b/runtime/starpu/codelets/codelet_zlaset2.c
index 0ca1daaa29b59ac31ecc81f5f8744112dc2709c1..4825f9cc9f121d794c94a3793768eaba64353a7e 100644
--- a/runtime/starpu/codelets/codelet_zlaset2.c
+++ b/runtime/starpu/codelets/codelet_zlaset2.c
@@ -29,7 +29,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 
 /**
diff --git a/runtime/starpu/codelets/codelet_zlatro.c b/runtime/starpu/codelets/codelet_zlatro.c
index 72a9716622ad6ab7550f9e08f497fe4a88101e3c..4b08a31921cca7a7fd0a012b0b8dc425dc1c1968 100644
--- a/runtime/starpu/codelets/codelet_zlatro.c
+++ b/runtime/starpu/codelets/codelet_zlatro.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zlauum.c b/runtime/starpu/codelets/codelet_zlauum.c
index 1da8cff747ed4e0e879f650b6ebcaf38dcc1777e..c2eef8209e78cd7d59dd4753052ac8d69006e715 100644
--- a/runtime/starpu/codelets/codelet_zlauum.c
+++ b/runtime/starpu/codelets/codelet_zlauum.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zplghe.c b/runtime/starpu/codelets/codelet_zplghe.c
index 0ac2c5466fca5d94ae58d6ae1a8fea5dca2002f2..be161ef0db5eb546bb1e09d30149362cb4d1ba9e 100644
--- a/runtime/starpu/codelets/codelet_zplghe.c
+++ b/runtime/starpu/codelets/codelet_zplghe.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /*   MORSE_TASK_zplghe - Generate a tile for random hermitian (positive definite if bump is large enough) matrix. */
 
diff --git a/runtime/starpu/codelets/codelet_zplgsy.c b/runtime/starpu/codelets/codelet_zplgsy.c
index 1bc231208a1c352bfbca7f862d1a973708632c76..30777e55e3e9252fa1a7dcc0e5603c22062a9d97 100644
--- a/runtime/starpu/codelets/codelet_zplgsy.c
+++ b/runtime/starpu/codelets/codelet_zplgsy.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /*   MORSE_TASK_zplgsy - Generate a tile for random symmetric (positive definite if 'bump' is large enough) matrix. */
 
diff --git a/runtime/starpu/codelets/codelet_zplrnt.c b/runtime/starpu/codelets/codelet_zplrnt.c
index 13cd22da00c041b8910271c767ffd912cf5a5f41..f4ce3636949f500d13f13396b81f2c9b88273fdc 100644
--- a/runtime/starpu/codelets/codelet_zplrnt.c
+++ b/runtime/starpu/codelets/codelet_zplrnt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /*   MORSE_TASK_zplrnt - Generate a tile for random matrix. */
 
diff --git a/runtime/starpu/codelets/codelet_zplssq.c b/runtime/starpu/codelets/codelet_zplssq.c
index d41d45b6eb9278bf82456319c719ddcda77d4085..c102bb4d90cf4b91573cbfb7181a60f9fa92bbda 100644
--- a/runtime/starpu/codelets/codelet_zplssq.c
+++ b/runtime/starpu/codelets/codelet_zplssq.c
@@ -27,7 +27,6 @@
 #include <math.h>
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /*****************************************************************************
  *
diff --git a/runtime/starpu/codelets/codelet_zpotrf.c b/runtime/starpu/codelets/codelet_zpotrf.c
index d3c17b217490bb17c62182e257a5e90427548c64..ecdcf51a908abf40cf43ad6bb4e0096ee90bc095 100644
--- a/runtime/starpu/codelets/codelet_zpotrf.c
+++ b/runtime/starpu/codelets/codelet_zpotrf.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zssssm.c b/runtime/starpu/codelets/codelet_zssssm.c
index 0b7180a2b47b328f8750cd7cea5037d484e7e67e..679b4b8ed7ba99cc92f4a854ef252027713dd06b 100644
--- a/runtime/starpu/codelets/codelet_zssssm.c
+++ b/runtime/starpu/codelets/codelet_zssssm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zsymm.c b/runtime/starpu/codelets/codelet_zsymm.c
index f292afdcb703ad738d12a7909014c72fa892ad2e..4c55153e3922ff91f87c32976e8ee3b2533266b0 100644
--- a/runtime/starpu/codelets/codelet_zsymm.c
+++ b/runtime/starpu/codelets/codelet_zsymm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zsyr2k.c b/runtime/starpu/codelets/codelet_zsyr2k.c
index 11f179f7afc640fe393d0bb6374de60c47c965dc..fb097f10e201ae48cb8b3184cea1cd78aa677434 100644
--- a/runtime/starpu/codelets/codelet_zsyr2k.c
+++ b/runtime/starpu/codelets/codelet_zsyr2k.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zsyrk.c b/runtime/starpu/codelets/codelet_zsyrk.c
index b3a3c82365d04cd8769266ac1e1eb67b6e0bd40f..5d79d9ad618e105ca1e1c5bd9e419019585934cd 100644
--- a/runtime/starpu/codelets/codelet_zsyrk.c
+++ b/runtime/starpu/codelets/codelet_zsyrk.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zsyssq.c b/runtime/starpu/codelets/codelet_zsyssq.c
index 87fe85c7b555b45255b6d97840d779c77b7615da..33f888dd1060c637699220a7ef70496160fc033d 100644
--- a/runtime/starpu/codelets/codelet_zsyssq.c
+++ b/runtime/starpu/codelets/codelet_zsyssq.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zsyssq( const MORSE_option_t *options,
                         MORSE_enum uplo, int n,
diff --git a/runtime/starpu/codelets/codelet_zsytrf_nopiv.c b/runtime/starpu/codelets/codelet_zsytrf_nopiv.c
index 935fde7dbec4c9323ff7cf2f909b9c97429070c3..24203fdb15f47720bf3b40be370fc945957291e3 100644
--- a/runtime/starpu/codelets/codelet_zsytrf_nopiv.c
+++ b/runtime/starpu/codelets/codelet_zsytrf_nopiv.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options,
                              MORSE_enum uplo, int n, int nb,
diff --git a/runtime/starpu/codelets/codelet_ztile_zero.c b/runtime/starpu/codelets/codelet_ztile_zero.c
index c3c3cca00841125d99690472734997f63d337b6e..26841ceb373d51768a66062e05feb11bb75ed2d6 100644
--- a/runtime/starpu/codelets/codelet_ztile_zero.c
+++ b/runtime/starpu/codelets/codelet_ztile_zero.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /*****************************************************************************
  *
diff --git a/runtime/starpu/codelets/codelet_ztpmqrt.c b/runtime/starpu/codelets/codelet_ztpmqrt.c
index f26c785e42716a80cee5fe1ba81b7ccf335fe32d..b2ff0e2fd31d81249aa42b7a0289c092f0b41b76 100644
--- a/runtime/starpu/codelets/codelet_ztpmqrt.c
+++ b/runtime/starpu/codelets/codelet_ztpmqrt.c
@@ -24,7 +24,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_ztpmqrt( const MORSE_option_t *options,
                          MORSE_enum side, MORSE_enum trans,
diff --git a/runtime/starpu/codelets/codelet_ztpqrt.c b/runtime/starpu/codelets/codelet_ztpqrt.c
index d997971b3a355518429a0c29e95688d8a425419f..1573e1ed4b82a2c4e9eaa05cacf7a575c00cc4e9 100644
--- a/runtime/starpu/codelets/codelet_ztpqrt.c
+++ b/runtime/starpu/codelets/codelet_ztpqrt.c
@@ -24,7 +24,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_ztpqrt( const MORSE_option_t *options,
                         int M, int N, int L, int ib, int nb,
diff --git a/runtime/starpu/codelets/codelet_ztradd.c b/runtime/starpu/codelets/codelet_ztradd.c
index d8f2557bae9c02e5700892936c061d63bf9b7843..ec8c08c5be6fdc26f0bf795a5de4c6b387a4aee2 100644
--- a/runtime/starpu/codelets/codelet_ztradd.c
+++ b/runtime/starpu/codelets/codelet_ztradd.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  ******************************************************************************
diff --git a/runtime/starpu/codelets/codelet_ztrasm.c b/runtime/starpu/codelets/codelet_ztrasm.c
index 2560d75b1da28d6fa3486f1acaf87f10f59209a7..83002029e13e5bc56a2ca4d1b4813a254398ed8b 100644
--- a/runtime/starpu/codelets/codelet_ztrasm.c
+++ b/runtime/starpu/codelets/codelet_ztrasm.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_ztrasm(const MORSE_option_t *options,
                        MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, int M, int N,
diff --git a/runtime/starpu/codelets/codelet_ztrmm.c b/runtime/starpu/codelets/codelet_ztrmm.c
index 23bb3545e5c65c61a7a11531e93949c2acd721da..17b4c250d72b1bd04364c04953884c7f33b779f1 100644
--- a/runtime/starpu/codelets/codelet_ztrmm.c
+++ b/runtime/starpu/codelets/codelet_ztrmm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztrsm.c b/runtime/starpu/codelets/codelet_ztrsm.c
index 8c4f3064122735e2c6d39d2d4768d80e4437977e..a54ef383157aedce30fa99ab35efa4d70e126f5e 100644
--- a/runtime/starpu/codelets/codelet_ztrsm.c
+++ b/runtime/starpu/codelets/codelet_ztrsm.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztrssq.c b/runtime/starpu/codelets/codelet_ztrssq.c
index 483eaeb2e39f7f13b76fca407fe88ad009ddb1cb..67ff9c3f15415dec46c3791483c6ab6b315f7db1 100644
--- a/runtime/starpu/codelets/codelet_ztrssq.c
+++ b/runtime/starpu/codelets/codelet_ztrssq.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 void MORSE_TASK_ztrssq( const MORSE_option_t *options,
                         MORSE_enum uplo, MORSE_enum diag,
diff --git a/runtime/starpu/codelets/codelet_ztrtri.c b/runtime/starpu/codelets/codelet_ztrtri.c
index 0cd6649f7a1bc9c14e0a3df1b46ad04b15441161..c3706a89df66c7a4e65ed8be24345a04165419f0 100644
--- a/runtime/starpu/codelets/codelet_ztrtri.c
+++ b/runtime/starpu/codelets/codelet_ztrtri.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztslqt.c b/runtime/starpu/codelets/codelet_ztslqt.c
index a39f1921bfa6bd283427760d119d150270f99b01..722d20352cfa57fa40ebd6912745c9293ca80f1e 100644
--- a/runtime/starpu/codelets/codelet_ztslqt.c
+++ b/runtime/starpu/codelets/codelet_ztslqt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 #undef REAL
 #define COMPLEX
 
diff --git a/runtime/starpu/codelets/codelet_ztsmlq.c b/runtime/starpu/codelets/codelet_ztsmlq.c
index d27f7cb1e0d4a3c9d6bfac1a3f098671e501f004..8423b3865b940fb89d780555209b3d7505e73e68 100644
--- a/runtime/starpu/codelets/codelet_ztsmlq.c
+++ b/runtime/starpu/codelets/codelet_ztsmlq.c
@@ -32,7 +32,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c b/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c
index 1c75f0e7983702242d72694f08df7b41871c2cdc..1256265adf94914d8b1e5e614fac5812cd264774 100644
--- a/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c
+++ b/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztsmqr.c b/runtime/starpu/codelets/codelet_ztsmqr.c
index b16fa24ede2d64f40bea864610fca8f27bd86c6a..ef400fab496da37824ef338d9cb5f17f8c51d8f5 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr.c
@@ -32,7 +32,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
index c43e85e2b6aa24f50b79b3fe42513c19abfb8d31..21743919d9fcd7cf88523dacefdad27a7781ccd8 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
@@ -26,7 +26,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_ztsqrt.c b/runtime/starpu/codelets/codelet_ztsqrt.c
index 05e177292148d8829d60b9df3d7c995ce72411cc..a1bcada463ddc9b777cd1a6a69bdaf53324ec5f9 100644
--- a/runtime/starpu/codelets/codelet_ztsqrt.c
+++ b/runtime/starpu/codelets/codelet_ztsqrt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 #undef REAL
 #define COMPLEX
 
diff --git a/runtime/starpu/codelets/codelet_ztstrf.c b/runtime/starpu/codelets/codelet_ztstrf.c
index fa32329033002a8ff2a9023af21308441ee4d51d..3d98f8e22575966417e6913558de47d8ba3004e2 100644
--- a/runtime/starpu/codelets/codelet_ztstrf.c
+++ b/runtime/starpu/codelets/codelet_ztstrf.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zttlqt.c b/runtime/starpu/codelets/codelet_zttlqt.c
index f7d89787c52f570c3a67f5bc436b54bab878b8dd..0cb195fdfee96042390030274ab84fc25360146e 100644
--- a/runtime/starpu/codelets/codelet_zttlqt.c
+++ b/runtime/starpu/codelets/codelet_zttlqt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zttmlq.c b/runtime/starpu/codelets/codelet_zttmlq.c
index eb95c983843bc64e338c2c8afb8d060ef0bdbdb8..0b37a2d9eeb2ef33d3ff7b9bf91be51c0d091943 100644
--- a/runtime/starpu/codelets/codelet_zttmlq.c
+++ b/runtime/starpu/codelets/codelet_zttmlq.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zttmqr.c b/runtime/starpu/codelets/codelet_zttmqr.c
index 4cca405a05f0307a6be952736c84d360fede65a8..7563ba012bf8f52a88c146df13ec14b79a471d9e 100644
--- a/runtime/starpu/codelets/codelet_zttmqr.c
+++ b/runtime/starpu/codelets/codelet_zttmqr.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zttqrt.c b/runtime/starpu/codelets/codelet_zttqrt.c
index 37377aab411d91b180a8bdc6eb4d224749981aef..8d03e589351f80c26e360d72e68497663fb1f2f3 100644
--- a/runtime/starpu/codelets/codelet_zttqrt.c
+++ b/runtime/starpu/codelets/codelet_zttqrt.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zunmlq.c b/runtime/starpu/codelets/codelet_zunmlq.c
index d4bfab7f93e77b8a9a30d30dc77ccb6baa3a74a3..4725dd113acf8b8cb6dc1cbf74f8a1dc39af80a2 100644
--- a/runtime/starpu/codelets/codelet_zunmlq.c
+++ b/runtime/starpu/codelets/codelet_zunmlq.c
@@ -31,7 +31,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/codelets/codelet_zunmqr.c b/runtime/starpu/codelets/codelet_zunmqr.c
index 5b38ab7aa8497daa3e9107cec215f5da1273ab20..15bfbd7c985944ee0d2f037c7b79c520b10f58e4 100644
--- a/runtime/starpu/codelets/codelet_zunmqr.c
+++ b/runtime/starpu/codelets/codelet_zunmqr.c
@@ -30,7 +30,6 @@
  **/
 #include "chameleon_starpu.h"
 #include "runtime_codelet_z.h"
-#include "chameleon/morse_tasks_z.h"
 
 /**
  *
diff --git a/runtime/starpu/include/runtime_codelet_z.h b/runtime/starpu/include/runtime_codelet_z.h
index da6dce4f74fea7bd8eb292d3c2c10373a15a64de..19e293c4c74845a81fdd0998f2767c0317f0decb 100644
--- a/runtime/starpu/include/runtime_codelet_z.h
+++ b/runtime/starpu/include/runtime_codelet_z.h
@@ -32,6 +32,14 @@
 #include <stdio.h>
 #include "runtime_codelets.h"
 
+#include "chameleon/morse_tasks_z.h"
+#if !defined(CHAMELEON_SIMULATION)
+#include "coreblas/coreblas_z.h"
+#if defined(CHAMELEON_USE_CUDA)
+#include "cudablas/cudablas_z.h"
+#endif
+#endif
+
 /*
  * Management functions
  */