diff --git a/.gitlab-ci-env.sh b/.gitlab-ci-env.sh
index 480da8a0939c5b45f50639a121132bc44c05e249..7ad89a4e20f49c49179e84d600b661481dd2dbae 100755
--- a/.gitlab-ci-env.sh
+++ b/.gitlab-ci-env.sh
@@ -12,6 +12,7 @@ export PATH=/builds/sonar/sonar-scanner-2.9.0.670/bin:$PATH
 export QUARK_DIR=/builds/install/quark
 export PARSEC_DIR=/builds/install/parsec
 export STARPU_DIR=/builds/install/starpu
+export STARPU_SILENT=1
 
 if [ "$1" == "simu" ]; then
   export STARPU_DIR=/builds/install/starpu-simgrid
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 85f2145e48718de2b32039f3d7be6d826fea4986..a6fa958b65b8d4cf5028bff528f4f7291863a139 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,109 +6,142 @@ stages:
   - analysis
   - doc
 
+before_script:
+  - git submodule update --init --recursive
+  - source .gitlab-ci-env.sh
+  - mkdir -p build
+
 build_starpu_cuda_mpi:
   stage: build
   artifacts:
-    name: starpu_cuda_mpi_build
+    name: build_starpu_cuda_mpi
     expire_in: 48 hours
     paths:
       - build
       - chameleon-build-starpu.log
   script:
-    - source .gitlab-ci-env.sh
-    - git submodule update --init --recursive
-    - mkdir -p build
-    - cd build
-    - cmake .. -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
-    - make -j5 | tee ../chameleon-build-starpu.log
-    - make install | tee -a ../chameleon-build-starpu.log && rm install/ -r
+    - (cd build &&
+       cmake -C ../cmake_modules/gitlab-ci-initial-cache.cmake ..
+             -DCHAMELEON_USE_CUDA=ON
+             -DCHAMELEON_USE_MPI=ON &&
+        ctest --no-compress-output -V -j 5
+             -D ExperimentalBuild
+             -D ExperimentalSubmit
+             | tee ../chameleon-build-starpu.log)
+    - (cd build &&
+       make install | tee -a ../chameleon-build-starpu.log &&
+       rm install/ -r)
 
-build_starpu_simgrid:
-  stage: build
+test_starpu_cuda_mpi:
+  stage: test
+  dependencies:
+    - build_starpu_cuda_mpi
   artifacts:
-    name: starpu_simgrid_build
+    name: test_starpu_cuda_mpi
     expire_in: 48 hours
     paths:
       - build
-      - chameleon-build-starpu-simgrid.log
+      - chameleon-build-starpu.log
+      - chameleon_starpu_mpi.lcov
   script:
-    - source .gitlab-ci-env.sh simu
-    - git submodule update --init --recursive
-    - mkdir -p build
-    - cd build
-    - cmake .. -DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
-    - make -j5 | tee ../chameleon-build-starpu-simgrid.log
-    - make install | tee -a ../chameleon-build-starpu-simgrid.log && rm install/ -r
+    - (cd build &&
+       ctest --no-compress-output -V -j 5
+             -R "test_shm_s|mpi_s"
+             -D ExperimentalTest
+             -D ExperimentalCoverage
+             -D ExperimentalSubmit
+             | tee -a ../chameleon-build-starpu.log)
+    - lcov --directory build --capture --output-file chameleon_starpu_mpi.lcov
 
-build_quark:
+build_starpu_simgrid:
   stage: build
   artifacts:
-    name: quark_build
+    name: build_starpu_simgrid
     expire_in: 48 hours
     paths:
       - build
-      - chameleon-build-quark.log
-  script:
-    - source .gitlab-ci-env.sh
-    - git submodule update --init --recursive
-    - mkdir -p build
-    - cd build
-    - cmake .. -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON -DCHAMELEON_SCHED_QUARK=ON
-    - make -j5 | tee ../chameleon-build-quark.log
-    - make install | tee -a ../chameleon-build-quark.log && rm install/ -r
-
-test_starpu_mpi:
-  stage: test
-  dependencies:
-    - build_starpu_cuda_mpi
-  artifacts:
-    name: starpu_mpi_test
-    expire_in: 48 hours
-    paths:
-      - chameleon_starpu_mpi.lcov
+      - chameleon-build-starpu-simgrid.log
   script:
-    - source .gitlab-ci-env.sh
-    - git submodule update --init --recursive
-    - (cd build && STARPU_SILENT=1 ctest --no-compress-output -R test_shm_s || /usr/bin/true && ctest --no-compress-output -R mpi_s || /usr/bin/true)
-    - lcov --directory build --capture --output-file chameleon_starpu_mpi.lcov
+    - source .gitlab-ci-env.sh simu
+    - (cd build &&
+       cmake -C ../cmake_modules/gitlab-ci-initial-cache.cmake ..
+             -DCHAMELEON_SIMULATION=ON
+             -DCHAMELEON_USE_CUDA=ON
+             -DCHAMELEON_USE_MPI=OFF &&
+       ctest --no-compress-output -V -j 5
+            -D ExperimentalBuild
+            -D ExperimentalSubmit
+            | tee ../chameleon-build-starpu-simgrid.log)
+    - (cd build &&
+       make install | tee -a ../chameleon-build-starpu-simgrid.log &&
+       rm install/ -r)
 
 test_starpu_simgrid:
   stage: test
   dependencies:
     - build_starpu_simgrid
   artifacts:
-    name: starpu_simgrid_test
+    name: test_starpu_simgrid
     expire_in: 48 hours
     paths:
+      - build
+      - chameleon-build-starpu-simgrid.log
       - chameleon_starpu_simgrid.lcov
   script:
     - source .gitlab-ci-env.sh simu
-    - git submodule update --init --recursive
-    - (cd build && STARPU_SILENT=1 ctest --no-compress-output -V || /usr/bin/true)
+    - (cd build &&
+       ctest --no-compress-output -V -j 5
+            -D ExperimentalTest
+            -D ExperimentalCoverage
+            -D ExperimentalSubmit
+            | tee -a ../chameleon-build-starpu-simgrid.log)
     - lcov --directory build --capture --output-file chameleon_starpu_simgrid.lcov
 
+build_quark:
+  stage: build
+  artifacts:
+    name: build_quark
+    expire_in: 48 hours
+    paths:
+      - build
+      - chameleon-build-quark.log
+  script:
+    - (cd build &&
+       cmake -C ../cmake_modules/gitlab-ci-initial-cache.cmake ..
+            -DCHAMELEON_SCHED_QUARK=ON &&
+       ctest --no-compress-output -V -j 5
+             -D ExperimentalBuild
+             -D ExperimentalSubmit
+             | tee ../chameleon-build-quark.log)
+    - (cd build &&
+       make install | tee -a ../chameleon-build-quark.log &&
+       rm install/ -r)
+
 test_quark:
   stage: test
   dependencies:
     - build_quark
   artifacts:
-    name: quark_test
+    name: build_quark
     expire_in: 48 hours
     paths:
+      - build
+      - chameleon-build-quark.log
       - chameleon_quark.lcov
   script:
-    - source .gitlab-ci-env.sh
-    - git submodule update --init --recursive
-    - (cd build && ctest --no-compress-output -R test_shm_s)
+    - (cd build &&
+       ctest --no-compress-output -V -j 5
+             -R "test_shm_s"
+             -D ExperimentalTest
+             -D ExperimentalCoverage
+             -D ExperimentalSubmit
+             | tee -a ../chameleon-build-quark.log)
     - lcov --directory build --capture --output-file chameleon_quark.lcov
 
 sonar:
   stage: analysis
   dependencies:
-    - build_starpu_cuda_mpi
-    - build_starpu_simgrid
-    - build_quark
-    - test_starpu_mpi
+    - test_starpu_cuda_mpi
     - test_starpu_simgrid
     - test_quark
   artifacts:
@@ -121,8 +154,11 @@ sonar:
       - chameleon-rats.xml
       - sonar.log
   script:
-    - source .gitlab-ci-env.sh
-    - lcov -a $PWD/chameleon_starpu_mpi.lcov -a $PWD/chameleon_starpu_simgrid.lcov -a $PWD/chameleon_quark.lcov -o $PWD/chameleon.lcov
+    - cat *.log > chameleon-build.log
+    - lcov -a $PWD/chameleon_starpu_mpi.lcov
+           -a $PWD/chameleon_starpu_simgrid.lcov
+           -a $PWD/chameleon_quark.lcov
+           -o $PWD/chameleon.lcov
     - lcov_cobertura.py chameleon.lcov --output chameleon-coverage.xml
     - ./tools/analysis.sh
   only:
@@ -137,9 +173,6 @@ doc:
       - build/doc/doxygen
       - build/doc/orgmode
   script:
-    - source .gitlab-ci-env.sh
-    - git submodule update --init --recursive
-    - mkdir -p build
     - cd build
     - cmake .. -DCHAMELEON_ENABLE_DOC=ON
     - make doc -j5
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a7c90d043ac4f6ca2686f367b2bb56d90d5437ff..60b5f42031850b240cb457e584bad91db47ea3ba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -721,11 +721,11 @@ if( CHAMELEON_SCHED_STARPU )
                 " - starpu_mpi_comm_rank() test fails in StarPU${ColourReset}")
                 message("-- ${Red}Check in CMakeFiles/CMakeError.log to figure out why it fails${ColourReset}")
             endif()
-	    check_function_exists(starpu_mpi_cached_receive STARPU_MPI_CACHED_RECEIVE)
-	    if ( STARPU_MPI_CACHED_RECEIVE )
-		set(HAVE_STARPU_MPI_CACHED_RECEIVE 1)
-		message("-- ${Blue}Add definition HAVE_STARPU_MPI_CACHED_RECEIVE${ColourReset}")
-	    endif()
+            check_function_exists(starpu_mpi_cached_receive STARPU_MPI_CACHED_RECEIVE)
+            if ( STARPU_MPI_CACHED_RECEIVE )
+                set(HAVE_STARPU_MPI_CACHED_RECEIVE 1)
+                message("-- ${Blue}Add definition HAVE_STARPU_MPI_CACHED_RECEIVE${ColourReset}")
+            endif()
         endif()
         if(HWLOC_FOUND AND HWLOC_LIBRARY_DIRS)
             # the RPATH to be used when installing
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
index ddb6f3e0c1e6d7050496a35081ad4958f1b9c587..2b2d786a4c240f4d62d837f26cf01f2797184e09 100644
--- a/CTestConfig.cmake
+++ b/CTestConfig.cmake
@@ -9,8 +9,7 @@ set(CTEST_NIGHTLY_START_TIME "00:00:00 GMT")
 
 set(CTEST_DROP_METHOD "http")
 set(CTEST_DROP_SITE "cdash.inria.fr")
-# Shouldn't we change that to Chameleon ?
-set(CTEST_DROP_LOCATION "/CDash/submit.php?project=Morse-Magma")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=chameleon")
 set(CTEST_DROP_SITE_CDASH TRUE)
 
 #--------------------------------------------------------------------
@@ -21,40 +20,43 @@ set(CTEST_DROP_SITE_CDASH TRUE)
 # Start with the short system name, e.g. "Linux", "FreeBSD" or "Windows"
 if(NOT BUILDNAME)
 
-    set(BUILDNAME "${CMAKE_SYSTEM_NAME}")
+  set(BUILDNAME "${CMAKE_SYSTEM_NAME}")
 
-    # Add i386 or amd64
-    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-        set(BUILDNAME "${BUILDNAME}-amd64")
-    else()
-        set(BUILDNAME "${BUILDNAME}-i386")
-    endif()
+  # Add i386 or amd64
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    set(BUILDNAME "${BUILDNAME}-amd64")
+  else()
+    set(BUILDNAME "${BUILDNAME}-i386")
+  endif()
 
-    # Add compiler name
-    get_filename_component(CMAKE_C_COMPILER_NAME ${CMAKE_C_COMPILER} NAME)
-    set(BUILDNAME "${BUILDNAME}-${CMAKE_C_COMPILER_NAME}")
+  # Add compiler name
+  get_filename_component(CMAKE_C_COMPILER_NAME ${CMAKE_C_COMPILER} NAME)
+  set(BUILDNAME "${BUILDNAME}-${CMAKE_C_COMPILER_NAME}")
 
-    # Add the build type, e.g. "Debug, Release..."
-    if(CMAKE_BUILD_TYPE)
-        set(BUILDNAME "${BUILDNAME}-${CMAKE_BUILD_TYPE}")
-    endif(CMAKE_BUILD_TYPE)
+  # Add the build type, e.g. "Debug, Release..."
+  if(CMAKE_BUILD_TYPE)
+    set(BUILDNAME "${BUILDNAME}-${CMAKE_BUILD_TYPE}")
+  endif(CMAKE_BUILD_TYPE)
 
-    # Specific options of Chameleon
-    if(CHAMELEON_SCHED_QUARK)
-        set(BUILDNAME "${BUILDNAME}-Quark")
-    endif(CHAMELEON_SCHED_QUARK)
+  # Specific options of Chameleon
+  if(CHAMELEON_SCHED_QUARK)
+    set(BUILDNAME "${BUILDNAME}-Quark")
+  endif(CHAMELEON_SCHED_QUARK)
 
-    if(CHAMELEON_SCHED_STARPU)
-        set(BUILDNAME "${BUILDNAME}-StarPU")
-    endif(CHAMELEON_SCHED_STARPU)
+  if(CHAMELEON_SCHED_STARPU)
+    set(BUILDNAME "${BUILDNAME}-StarPU")
+  endif(CHAMELEON_SCHED_STARPU)
 
-    if(CHAMELEON_USE_MPI)
-        set(BUILDNAME "${BUILDNAME}-mpi")
-    endif(CHAMELEON_USE_MPI)
+  if(CHAMELEON_SIMULATION)
+    set(BUILDNAME "${BUILDNAME}-SimGrid")
+  endif(CHAMELEON_SIMULATION)
 
-    if(CHAMELEON_USE_CUDA)
-        set(BUILDNAME "${BUILDNAME}-cuda")
-    endif(CHAMELEON_USE_CUDA)
+  if(CHAMELEON_USE_MPI)
+    set(BUILDNAME "${BUILDNAME}-MPI")
+  endif(CHAMELEON_USE_MPI)
 
-endif()
+  if(CHAMELEON_USE_CUDA)
+    set(BUILDNAME "${BUILDNAME}-CUDA")
+  endif(CHAMELEON_USE_CUDA)
 
+endif()
diff --git a/cmake_modules/gitlab-ci-initial-cache.cmake b/cmake_modules/gitlab-ci-initial-cache.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..1b6cef645ab841fc1c16ad30d2cc99e3500c457d
--- /dev/null
+++ b/cmake_modules/gitlab-ci-initial-cache.cmake
@@ -0,0 +1,6 @@
+set(CMAKE_INSTALL_PREFIX "$ENV{PWD}/install" CACHE PATH "")
+
+set(CMAKE_VERBOSE_MAKEFILE "ON" CACHE BOOL "")
+
+option(MORSE_ENABLE_WARNING       "Enable warning messages" ON)
+option(MORSE_ENABLE_COVERAGE      "Enable flags for coverage test" ON)
diff --git a/tools/analysis.sh b/tools/analysis.sh
index 56ce4ceaf2cb38790f0e9ed2c31a87152af0ef86..f3864affc42509dffe84dfa2f2b5e911c6a21461 100755
--- a/tools/analysis.sh
+++ b/tools/analysis.sh
@@ -35,7 +35,7 @@ sonar.sourceEncoding=UTF-8
 sonar.cxx.compiler.charset=UTF-8
 sonar.cxx.compiler.parser=GCC
 sonar.cxx.compiler.regex=^(.*):(\\d+):\\d+: warning: (.*)\\[(.*)\\]$
-sonar.cxx.compiler.reportPath=chameleon-build-starpu-mpi.log, chameleon-build-starpu-cuda.log, chameleon-build-starpu-simgrid.log, chameleon-build-quark.log
+sonar.cxx.compiler.reportPath=chameleon-build-starpu.log, chameleon-build-starpu-simgrid.log, chameleon-build-quark.log
 sonar.cxx.coverage.reportPath=chameleon-coverage.xml
 sonar.cxx.cppcheck.reportPath=chameleon-cppcheck.xml
 sonar.cxx.rats.reportPath=chameleon-rats.xml