From b4003e7718b33145a5ebbf575abaebe4d20a1909 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Wed, 1 Mar 2017 12:37:50 +0100
Subject: [PATCH] Add tile coordinates within matrix

---
 CMakeLists.txt                              | 7 ++++++-
 control/config.h.in                         | 3 ++-
 runtime/starpu/control/runtime_descriptor.c | 6 +++++-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b5ea70886..c39d95cd9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@
 #                          of Tennessee Research Foundation.
 #                          All rights reserved.
 # @copyright (c) 2012-2016 Inria. All rights reserved.
-# @copyright (c) 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
+# @copyright (c) 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
 #
 ###
 #
@@ -711,6 +711,11 @@ if( CHAMELEON_SCHED_STARPU )
             set(HAVE_STARPU_DATA_WONT_USE 1)
             message("-- ${Blue}Add definition HAVE_STARPU_DATA_WONT_USE${ColourReset}")
         endif()
+        check_function_exists(starpu_data_set_coordinates STARPU_DATA_SET_COORDINATES_FOUND)
+        if ( STARPU_DATA_SET_COORDINATES_FOUND )
+            set(HAVE_STARPU_DATA_SET_COORDINATES 1)
+            message("-- ${Blue}Add definition HAVE_STARPU_DATA_SET_COORDINATES${ColourReset}")
+        endif()
         check_function_exists(starpu_malloc_on_node_set_default_flags STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS)
         if ( STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS )
             set(HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS 1)
diff --git a/control/config.h.in b/control/config.h.in
index 9d6dbdb0b..019659cc5 100644
--- a/control/config.h.in
+++ b/control/config.h.in
@@ -4,7 +4,7 @@
  *                          of Tennessee Research Foundation.
  *                          All rights reserved.
  * @copyright (c) 2012-2017 Inria. All rights reserved.
- * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
+ * @copyright (c) 2012-2015, 2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
  *
  **/
 
@@ -35,6 +35,7 @@
 #cmakedefine HAVE_STARPU_FXT_PROFILING
 #cmakedefine HAVE_STARPU_IDLE_PREFETCH
 #cmakedefine HAVE_STARPU_DATA_WONT_USE
+#cmakedefine HAVE_STARPU_DATA_SET_COORDINATES
 #cmakedefine HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS
 #cmakedefine HAVE_STARPU_MPI_DATA_REGISTER
 #cmakedefine HAVE_STARPU_MPI_COMM_RANK
diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c
index 8e14c725f..4440d8951 100644
--- a/runtime/starpu/control/runtime_descriptor.c
+++ b/runtime/starpu/control/runtime_descriptor.c
@@ -4,7 +4,7 @@
  *                          of Tennessee Research Foundation.
  *                          All rights reserved.
  * @copyright (c) 2012-2016 Inria. All rights reserved.
- * @copyright (c) 2012-2014, 2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
+ * @copyright (c) 2012-2014, 2016-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
  *
  **/
 
@@ -330,6 +330,10 @@ void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n )
                                         BLKLDD(desc, im), tempmm, tempnn, eltsze);
         }
 
+#ifdef HAVE_STARPU_DATA_SET_COORDINATES
+        starpu_data_set_coordinates(*ptrtile, 2, m, n);
+#endif
+
 #if defined(CHAMELEON_USE_MPI)
         {
             int64_t block_ind = desc->lmt * jn + im;
-- 
GitLab