diff --git a/CMakeLists.txt b/CMakeLists.txt
index 28887656aa68da782b9490913c5c042a060a7962..33bce25ca86b4902ddce2f3ec160e7c17f88e7d0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -191,6 +191,11 @@ if (NOT CHAMELEON_ENABLE_TRACING)
 endif()
 #option(CHAMELEON_USE_EZTRACE "Enable EZTRACE to build modules" OFF)
 
+option(CHAMELEON_RUNTIME_SYNC "Enable synchronous task submission when available to debug the code without parallelism" OFF)
+if (CHAMELEON_RUNTIME_SYNC)
+    message("-- ${BoldGreen}CHAMELEON_RUNTIME_SYNC is set to ON, turn it OFF to avoid synchronisation in the tasks submission${ColourReset}")
+endif()
+
 # Options to enable/disable testings and timings
 # ----------------------------------------------
 option(CHAMELEON_ENABLE_DOC      "Enable documentation build"  OFF)
@@ -912,7 +917,6 @@ if( CHAMELEON_SCHED_OPENMP )
     else ( OPENMP_FOUND )
       message(FATAL_ERROR "Something went wrong when finding OpenMP")
     endif ( OPENMP_FOUND )
-
 endif( CHAMELEON_SCHED_OPENMP )
 
 # getopt
diff --git a/hqr b/hqr
index c05aef8974161f46281170232fbe604f3fe2a68d..a0ec4d899c07cadc860a92808294ec3599c3cf17 160000
--- a/hqr
+++ b/hqr
@@ -1 +1 @@
-Subproject commit c05aef8974161f46281170232fbe604f3fe2a68d
+Subproject commit a0ec4d899c07cadc860a92808294ec3599c3cf17
diff --git a/include/chameleon/config.h.in b/include/chameleon/config.h.in
index b3fbb7366306c3eabfd2d4e741fa637ecc006ca4..1596315d801e31ba664aa4eb8621cc5ef660a3af 100644
--- a/include/chameleon/config.h.in
+++ b/include/chameleon/config.h.in
@@ -29,6 +29,9 @@
 #cmakedefine CHAMELEON_SCHED_STARPU
 #cmakedefine CHAMELEON_SCHED_OPENMP
 
+/* Debug scheduling engine */
+#cmakedefine CHAMELEON_RUNTIME_SYNC
+
 /* Communication engine */
 #cmakedefine CHAMELEON_USE_MPI
 #cmakedefine CHAMELEON_USE_MIGRATE
diff --git a/runtime/quark/include/chameleon_quark.h b/runtime/quark/include/chameleon_quark.h
index 4cc04939c869f35d4b74ae03e6d88c39f01fa07b..03e0f50f54d66a6f252e990bdc6a82e174b7fbdb 100644
--- a/runtime/quark/include/chameleon_quark.h
+++ b/runtime/quark/include/chameleon_quark.h
@@ -20,12 +20,15 @@
 #ifndef _chameleon_quark_h_
 #define _chameleon_quark_h_
 
+#include "control/common.h"
+
 #include <quark.h>
+#if defined(CHAMELEON_RUNTIME_SYNC)
+#define QUARk_Insert_Task QUARK_Execute_Task
+#endif
 #include "coreblas.h"
 #include "core_blas_dag.h"
 
-#include "control/common.h"
-
 typedef struct quark_option_s {
     Quark_Task_Flags flags;
     Quark *quark;
diff --git a/runtime/starpu/include/chameleon_starpu.h.in b/runtime/starpu/include/chameleon_starpu.h.in
index a36fdc613c780ca867760d2bd43deb2fcbdc5f85..6cf49261cdd3d424531c5699c90114d2667eef65 100644
--- a/runtime/starpu/include/chameleon_starpu.h.in
+++ b/runtime/starpu/include/chameleon_starpu.h.in
@@ -81,7 +81,7 @@ typedef struct starpu_conf starpu_conf_t;
 /*
  * MPI Redefinitions
  */
-#if defined(CHAMELEON_STARPU_SYNC)
+#if defined(CHAMELEON_RUNTIME_SYNC)
 #define TASK_SYNCHRONOUS , STARPU_TASK_SYNCHRONOUS, 1
 #else
 #define TASK_SYNCHRONOUS
diff --git a/timing/CMakeLists.txt b/timing/CMakeLists.txt
index eb70fd776d0bd8cc943928901b52306296530bf4..e27c58a9277f6340aa4ecfb3347d2520298efb91 100644
--- a/timing/CMakeLists.txt
+++ b/timing/CMakeLists.txt
@@ -67,7 +67,7 @@ if (NOT CHAMELEON_SIMULATION)
     # -----------------------------
     add_library(chameleon_timing STATIC ${TIMING_SRCS})
     set_property(TARGET chameleon_timing PROPERTY LINKER_LANGUAGE Fortran)
-    add_dependencies(chameleon_timing timing_include timing_aux_sources)
+    add_dependencies(chameleon_timing timing_include timing_aux_sources chameleon_include)
 endif()
 
 # Generate the chameleon testing sources for all possible precisions