From 5e2da7ea92957f993703d8c2687044110f1ed913 Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Wed, 7 Mar 2018 15:18:16 +0100
Subject: [PATCH] check that starpu_mpi_data_migrate exists to enable
 CHAMELEON_USE_MIGRATE

---
 CMakeLists.txt                               | 8 ++++++++
 runtime/starpu/include/chameleon_starpu.h.in | 1 +
 2 files changed, 9 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fb03c3152..c7c6f09de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -685,6 +685,14 @@ if( CHAMELEON_SCHED_STARPU )
             set(HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS 1)
             message("-- ${Blue}Add definition HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS${ColourReset}")
         endif()
+        check_function_exists(starpu_mpi_data_migrate STARPU_MPI_DATA_MIGRATE_FOUND)
+        if ( STARPU_MPI_DATA_MIGRATE_FOUND )
+            set(HAVE_STARPU_MPI_DATA_MIGRATE 1)
+            message("-- ${Blue}Add definition HAVE_STARPU_MPI_DATA_MIGRATE${ColourReset}")
+        elseif(CHAMELEON_USE_MIGRATE)
+            set(CHAMELEON_USE_MIGRATE "OFF")
+            message("-- CHAMELEON_USE_MIGRATE is turned OFF because starpu_mpi_data_migrate not found")
+        endif()
         if(CHAMELEON_ENABLE_TRACING)
             # check if fxt profiling is accessible in starpu and activate it in chameleon
             unset(STARPU_FXT_START_PROFILING_FOUND CACHE)
diff --git a/runtime/starpu/include/chameleon_starpu.h.in b/runtime/starpu/include/chameleon_starpu.h.in
index 8b7d7cf62..699659c7c 100644
--- a/runtime/starpu/include/chameleon_starpu.h.in
+++ b/runtime/starpu/include/chameleon_starpu.h.in
@@ -30,6 +30,7 @@
 #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_MIGRATE
 #cmakedefine HAVE_STARPU_MPI_DATA_REGISTER
 #cmakedefine HAVE_STARPU_MPI_COMM_RANK
 #cmakedefine HAVE_STARPU_MPI_CACHED_RECEIVE
-- 
GitLab