From 91618ab37c112327b768759493afc104a037389a Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Thu, 10 Feb 2022 21:38:04 +0100 Subject: [PATCH] starpu/interface: Add a cmake option to check for existence of reuse_data_on_node field --- runtime/starpu/CMakeLists.txt | 8 ++++++++ runtime/starpu/include/chameleon_starpu.h.in | 1 + 2 files changed, 9 insertions(+) diff --git a/runtime/starpu/CMakeLists.txt b/runtime/starpu/CMakeLists.txt index 3ba1927ec..98cde2e99 100644 --- a/runtime/starpu/CMakeLists.txt +++ b/runtime/starpu/CMakeLists.txt @@ -28,6 +28,8 @@ ### cmake_minimum_required(VERSION 3.1) +include(CheckStructHasMember) + set(CHAMELEON_STARPU_VERSION "1.3" CACHE STRING "necessary STARPU API version") find_package(STARPU ${CHAMELEON_STARPU_VERSION} REQUIRED) @@ -38,6 +40,7 @@ if ( STARPU_FOUND ) message("-- ${Blue}Add definition CHAMELEON_SCHED_STARPU" " - Activate StarPU in Chameleon${ColourReset}") get_target_property(CMAKE_REQUIRED_LIBRARIES MORSE::STARPU INTERFACE_LINK_LIBRARIES) + get_target_property(CMAKE_REQUIRED_INCLUDES MORSE::STARPU INTERFACE_INCLUDE_DIRECTORIES) check_function_exists(starpu_data_idle_prefetch_on_node HAVE_STARPU_IDLE_PREFETCH) if ( HAVE_STARPU_IDLE_PREFETCH ) message("-- ${Blue}Add definition HAVE_STARPU_IDLE_PREFETCH${ColourReset}") @@ -70,6 +73,10 @@ if ( STARPU_FOUND ) if ( HAVE_STARPU_DATA_PEEK ) message("-- ${Blue}Add definition HAVE_STARPU_DATA_PEEK${ColourReset}") endif() + check_struct_has_member( "struct starpu_data_interface_ops" reuse_data_on_node "starpu_data_interfaces.h" HAVE_STARPU_REUSE_DATA_ON_NODE LANGUAGE "C" ) + if ( HAVE_STARPU_REUSE_DATA_ON_NODE ) + message("-- ${Blue}Add definition HAVE_STARPU_REUSE_DATA_ON_NODE${ColourReset}") + endif() if (CHAMELEON_USE_MPI) # Add MPI in case StarPU don't have a public dependency on it @@ -120,6 +127,7 @@ if ( STARPU_FOUND ) endif() endif() unset(CMAKE_REQUIRED_LIBRARIES) + unset(CMAKE_REQUIRED_INCLUDES) endif ( STARPU_FOUND ) configure_file("include/chameleon_starpu.h.in" diff --git a/runtime/starpu/include/chameleon_starpu.h.in b/runtime/starpu/include/chameleon_starpu.h.in index e9fc23d52..315610817 100644 --- a/runtime/starpu/include/chameleon_starpu.h.in +++ b/runtime/starpu/include/chameleon_starpu.h.in @@ -34,6 +34,7 @@ #cmakedefine HAVE_STARPU_DATA_SET_OOC_FLAG #cmakedefine HAVE_STARPU_INTERFACE_COPY2D #cmakedefine HAVE_STARPU_DATA_PEEK +#cmakedefine HAVE_STARPU_REUSE_DATA_ON_NODE #cmakedefine HAVE_STARPU_MPI_DATA_MIGRATE #cmakedefine HAVE_STARPU_MPI_DATA_REGISTER #cmakedefine HAVE_STARPU_MPI_COMM_RANK -- GitLab