diff --git a/CMakeLists.txt b/CMakeLists.txt
index ce760a96d0d6567fe720e5cd640904e82e0b02f9..44019bf5462cd6145205593b869f9429b624dcf0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -657,7 +657,7 @@ endif(NOT CHAMELEON_SIMULATION)
 
 if( CHAMELEON_SCHED_STARPU )
 
-  set(CHAMELEON_STARPU_VERSION "1.2" CACHE STRING "oldest STARPU version desired")
+  set(CHAMELEON_STARPU_VERSION "1.1" CACHE STRING "oldest STARPU version desired")
 
     # create list of components in order to make a single call to find_package(starpu...)
     if(NOT CHAMELEON_SIMULATION)
@@ -691,6 +691,8 @@ if( CHAMELEON_SCHED_STARPU )
         foreach(libdir ${STARPU_LIBRARY_DIRS_DEP})
             list(APPEND CMAKE_REQUIRED_FLAGS "-L${libdir}")
         endforeach()
+        add_definitions("-DSTARPU_${STARPU_VERSION_MAJOR}${STARPU_VERSION_MINOR}")
+        message("-- ${Blue}Add definition STARPU_${STARPU_VERSION_MAJOR}${STARPU_VERSION_MINOR}${ColourReset}")
         set(CMAKE_REQUIRED_LIBRARIES "${STARPU_LIBRARIES_DEP}")
         if (CHAMELEON_USE_MPI)
             list(APPEND CMAKE_REQUIRED_INCLUDES "${MPI_C_INCLUDE_PATH}")
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 430392799de93be3e9217718a1bdba0fbb71fda0..92aa8314376ddc5edcfdfcaf4ab1ab15f6baaee4 100755
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -29,7 +29,9 @@ add_subdirectory(basic_zposv)
 if (CHAMELEON_PREC_D)
     add_subdirectory(lapack_to_morse)
     if (CHAMELEON_SCHED_STARPU)
-        add_subdirectory(out_of_core)
+        if (${STARPU_VERSION_MAJOR} GREATER 0 AND ${STARPU_VERSION_MINOR} GREATER 1)
+            add_subdirectory(out_of_core)
+        endif()
     endif()
 else()
     message(WARNING "CHAMELEON_PREC_D is set to OFF so that lapack_to_morse "
diff --git a/runtime/starpu/codelets/codelet_zgeqrt.c b/runtime/starpu/codelets/codelet_zgeqrt.c
index 91f730c847e032fb53fbfa7d11f9505046f8daee..a60fb29da3d3b454615a4fd71ce77d275f493d8d 100644
--- a/runtime/starpu/codelets/codelet_zgeqrt.c
+++ b/runtime/starpu/codelets/codelet_zgeqrt.c
@@ -123,7 +123,9 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options,
             STARPU_VALUE,    &h_work,            sizeof(MORSE_starpu_ws_t *),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "zgeqrt",
+#ifdef STARPU_12
+            STARPU_NAME, "zgeqrt",
+#endif
             0);
     }
 }
diff --git a/runtime/starpu/codelets/codelet_zhe2ge.c b/runtime/starpu/codelets/codelet_zhe2ge.c
index 9bb03ebaf9247db83de4e9f346ff3e4edb2a1885..1daebd9f103a51c184c8a415d237921166b745de 100644
--- a/runtime/starpu/codelets/codelet_zhe2ge.c
+++ b/runtime/starpu/codelets/codelet_zhe2ge.c
@@ -53,7 +53,9 @@ void MORSE_TASK_zhe2ge(const MORSE_option_t *options,
             STARPU_VALUE,   &ldb,                        sizeof(int),
             STARPU_PRIORITY,    options->priority,
             STARPU_CALLBACK,    callback,
-            STARPU_NAME,        "zhe2ge",
+#ifdef STARPU_12
+            STARPU_NAME, "zhe2ge",
+#endif
             0);
     }
 }
diff --git a/runtime/starpu/codelets/codelet_zherfb.c b/runtime/starpu/codelets/codelet_zherfb.c
index 9f693a90173728c2e6abb26ef09c509ab231c864..4e257acba0b6dc9b371466e05e5b79b43b08006d 100644
--- a/runtime/starpu/codelets/codelet_zherfb.c
+++ b/runtime/starpu/codelets/codelet_zherfb.c
@@ -61,7 +61,9 @@ void MORSE_TASK_zherfb(const MORSE_option_t *options,
             STARPU_VALUE,    &nb,                sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "zherfb",
+#ifdef STARPU_12
+            STARPU_NAME, "zherfb",
+#endif
             0);
     }
 }
diff --git a/runtime/starpu/codelets/codelet_zlatro.c b/runtime/starpu/codelets/codelet_zlatro.c
index 9aa23859b039f5ef521e5628e493e4fa3b91a534..5f0a2ea0401732cb7308b95cbb72ce041fde09c4 100644
--- a/runtime/starpu/codelets/codelet_zlatro.c
+++ b/runtime/starpu/codelets/codelet_zlatro.c
@@ -62,7 +62,9 @@ void MORSE_TASK_zlatro(const MORSE_option_t *options,
             STARPU_VALUE,   &ldb,     sizeof(int),
             STARPU_PRIORITY, options->priority,
             STARPU_CALLBACK, callback,
-            STARPU_NAME,     "zlatro",
+#ifdef STARPU_12
+            STARPU_NAME, "zlatro",
+#endif
             0);
     }
     (void)mb;
diff --git a/runtime/starpu/codelets/codelet_ztsmqr.c b/runtime/starpu/codelets/codelet_ztsmqr.c
index 3d2839e487ba403ccce8bbdd9fb4e4c1784db4df..16f2475b3c1d228827eaae3b682bcd482c416622 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr.c
@@ -199,7 +199,9 @@ void MORSE_TASK_ztsmqr(const MORSE_option_t *options,
             STARPU_VALUE,    &ldwork,            sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "ztsmqr",
+#ifdef STARPU_12
+            STARPU_NAME, "ztsmqr",
+#endif
 #if defined(CHAMELEON_USE_MPI)
             STARPU_EXECUTE_ON_NODE, execution_rank,
 #endif
diff --git a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
index ce30dd40ae9606f85bf5eb95d4a0161ac4ade20d..94597b6a905dfdcb923a8acc699d37cb7305e8a2 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
@@ -73,7 +73,9 @@ void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options,
             STARPU_VALUE,    &ldwork,            sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "ztsmqr_hetra1",
+#ifdef STARPU_12
+            STARPU_NAME, "ztsmqr_hetra1",
+#endif
             0);
     }
 }
diff --git a/runtime/starpu/codelets/codelet_ztsqrt.c b/runtime/starpu/codelets/codelet_ztsqrt.c
index 9a5d5e0ac073f932702743e1da3095b9b3bf3fab..0d8a8a9aa737ecbf44aa18a8d0c816819cdf2463 100644
--- a/runtime/starpu/codelets/codelet_ztsqrt.c
+++ b/runtime/starpu/codelets/codelet_ztsqrt.c
@@ -129,7 +129,9 @@ void MORSE_TASK_ztsqrt(const MORSE_option_t *options,
             STARPU_VALUE,    &h_work,            sizeof(MORSE_starpu_ws_t *),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "ztsqrt",
+#ifdef STARPU_12
+            STARPU_NAME, "ztsqrt",
+#endif
             STARPU_EXECUTE_ON_NODE, A2->get_rankof(A2, A2m, A2n),
             0);
     }
diff --git a/runtime/starpu/codelets/codelet_zunmlq.c b/runtime/starpu/codelets/codelet_zunmlq.c
index 38678c0fc43b89664626932e8cbf956c2e899a74..b3e973a09845cc30fa6b1109e7bc749e09eac0b8 100644
--- a/runtime/starpu/codelets/codelet_zunmlq.c
+++ b/runtime/starpu/codelets/codelet_zunmlq.c
@@ -150,7 +150,9 @@ void MORSE_TASK_zunmlq(const MORSE_option_t *options,
             STARPU_VALUE,    &nb,                sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "zunmlq",
+#ifdef STARPU_12
+            STARPU_NAME, "zunmlq",
+#endif
             0);
     }
 }
diff --git a/runtime/starpu/codelets/codelet_zunmqr.c b/runtime/starpu/codelets/codelet_zunmqr.c
index e8b47fbb38d5ea10ab7ccfbe9a427b2b39f9a953..32c6d14acd4e8b95b38ae7189c37ad2684fc15b8 100644
--- a/runtime/starpu/codelets/codelet_zunmqr.c
+++ b/runtime/starpu/codelets/codelet_zunmqr.c
@@ -172,7 +172,9 @@ void MORSE_TASK_zunmqr(const MORSE_option_t *options,
             STARPU_VALUE,    &nb,                sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-            STARPU_NAME,      "zunmqr",
+#ifdef STARPU_12
+            STARPU_NAME, "zunmqr",
+#endif
 #if defined(CHAMELEON_USE_MPI)
             STARPU_EXECUTE_ON_NODE, execution_rank,
 #endif
diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c
index d6a2c670b906f685d7747d4d9b1eb7cd5e4793ec..c25460a91e737c896e0adc4d952d2ec72d8d6fb3 100644
--- a/runtime/starpu/control/runtime_descriptor.c
+++ b/runtime/starpu/control/runtime_descriptor.c
@@ -315,9 +315,15 @@ void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n )
                                             BLKLDD(desc, im), tempmm, tempnn, eltsze);
             }
             else {
+#ifdef STARPU_12
                 starpu_matrix_data_register(ptrtile, STARPU_MAIN_RAM,
                                             (uintptr_t)desc->get_blkaddr(desc, m, n),
                                             BLKLDD(desc, im), tempmm, tempnn, eltsze);
+#else
+                starpu_matrix_data_register(ptrtile, 0,
+                                            (uintptr_t)desc->get_blkaddr(desc, m, n),
+                                            BLKLDD(desc, im), tempmm, tempnn, eltsze);
+#endif
             }
         }
         else {