Mentions légales du service

Skip to content
Snippets Groups Projects
Commit ac32c4d7 authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

starpu: Minor fixes

parent 3decf2b0
No related branches found
No related tags found
1 merge request!285StarPU: Small fixes
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
### ###
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
include(CheckSymbolExists)
include(CheckStructHasMember) include(CheckStructHasMember)
set(CHAMELEON_STARPU_VERSION "1.3" CACHE STRING "necessary STARPU API version") set(CHAMELEON_STARPU_VERSION "1.3" CACHE STRING "necessary STARPU API version")
...@@ -39,8 +40,7 @@ find_package(STARPU ${CHAMELEON_STARPU_VERSION} REQUIRED) ...@@ -39,8 +40,7 @@ find_package(STARPU ${CHAMELEON_STARPU_VERSION} REQUIRED)
if ( STARPU_FOUND ) if ( STARPU_FOUND )
message("-- ${Blue}Add definition CHAMELEON_SCHED_STARPU" message("-- ${Blue}Add definition CHAMELEON_SCHED_STARPU"
" - Activate StarPU in Chameleon${ColourReset}") " - Activate StarPU in Chameleon${ColourReset}")
get_target_property(CMAKE_REQUIRED_LIBRARIES MORSE::STARPU INTERFACE_LINK_LIBRARIES) morse_cmake_required_set( STARPU )
get_target_property(CMAKE_REQUIRED_INCLUDES MORSE::STARPU INTERFACE_INCLUDE_DIRECTORIES)
check_function_exists(starpu_data_idle_prefetch_on_node HAVE_STARPU_IDLE_PREFETCH) check_function_exists(starpu_data_idle_prefetch_on_node HAVE_STARPU_IDLE_PREFETCH)
if ( HAVE_STARPU_IDLE_PREFETCH ) if ( HAVE_STARPU_IDLE_PREFETCH )
message("-- ${Blue}Add definition HAVE_STARPU_IDLE_PREFETCH${ColourReset}") message("-- ${Blue}Add definition HAVE_STARPU_IDLE_PREFETCH${ColourReset}")
...@@ -80,7 +80,6 @@ if ( STARPU_FOUND ) ...@@ -80,7 +80,6 @@ if ( STARPU_FOUND )
if (CHAMELEON_USE_MPI) if (CHAMELEON_USE_MPI)
# Add MPI in case StarPU don't have a public dependency on it # Add MPI in case StarPU don't have a public dependency on it
set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};MPI::MPI_C")
check_function_exists(starpu_mpi_init_conf HAVE_STARPU_MPI_INIT_CONF) check_function_exists(starpu_mpi_init_conf HAVE_STARPU_MPI_INIT_CONF)
if ( HAVE_STARPU_MPI_INIT_CONF ) if ( HAVE_STARPU_MPI_INIT_CONF )
message("-- ${Blue}Add definition HAVE_STARPU_MPI_INIT_CONF${ColourReset}") message("-- ${Blue}Add definition HAVE_STARPU_MPI_INIT_CONF${ColourReset}")
...@@ -126,8 +125,7 @@ if ( STARPU_FOUND ) ...@@ -126,8 +125,7 @@ if ( STARPU_FOUND )
message("-- ${Blue}Add definition HAVE_STARPU_MPI_COMM_GET_ATTR${ColourReset}") message("-- ${Blue}Add definition HAVE_STARPU_MPI_COMM_GET_ATTR${ColourReset}")
endif() endif()
endif() endif()
unset(CMAKE_REQUIRED_LIBRARIES) morse_cmake_required_unset()
unset(CMAKE_REQUIRED_INCLUDES)
endif ( STARPU_FOUND ) endif ( STARPU_FOUND )
configure_file("include/chameleon_starpu.h.in" configure_file("include/chameleon_starpu.h.in"
...@@ -153,6 +151,7 @@ set(RUNTIME_HDRS ...@@ -153,6 +151,7 @@ set(RUNTIME_HDRS
include/runtime_codelets.h include/runtime_codelets.h
include/runtime_profiling.h include/runtime_profiling.h
include/runtime_workspace.h include/runtime_workspace.h
include/cham_tile_interface.h
) )
# Add generated headers # Add generated headers
......
...@@ -329,18 +329,19 @@ void RUNTIME_flush() ...@@ -329,18 +329,19 @@ void RUNTIME_flush()
/** /**
* Different implementations of the flush call based on StarPU version * Different implementations of the flush call based on StarPU version
*/ */
#ifdef HAVE_STARPU_DATA_WONT_USE #if defined(HAVE_STARPU_DATA_WONT_USE)
static inline void static inline void
chameleon_starpu_data_wont_use( starpu_data_handle_t handle ) { chameleon_starpu_data_wont_use( starpu_data_handle_t handle ) {
starpu_data_wont_use( handle ); starpu_data_wont_use( handle );
} }
#elif defined HAVE_STARPU_IDLE_PREFETCH #elif defined(HAVE_STARPU_IDLE_PREFETCH)
static inline void static inline void
chameleon_starpu_data_flush( starpu_data_handle_t handle) chameleon_starpu_data_flush( void *_handle)
{ {
starpu_data_handle_t handle = (starpu_data_handle_t)_handle;
starpu_data_idle_prefetch_on_node(handle, STARPU_MAIN_RAM, 1); starpu_data_idle_prefetch_on_node(handle, STARPU_MAIN_RAM, 1);
starpu_data_release_on_node(handle, -1); starpu_data_release_on_node(handle, -1);
} }
......
...@@ -46,6 +46,7 @@ void RUNTIME_iteration_push( CHAM_context_t *chamctxt, unsigned long iteration ) ...@@ -46,6 +46,7 @@ void RUNTIME_iteration_push( CHAM_context_t *chamctxt, unsigned long iteration )
#if defined(HAVE_STARPU_ITERATION_PUSH) #if defined(HAVE_STARPU_ITERATION_PUSH)
starpu_iteration_push(iteration); starpu_iteration_push(iteration);
#endif #endif
(void)iteration;
} }
void RUNTIME_iteration_pop( CHAM_context_t *chamctxt ) void RUNTIME_iteration_pop( CHAM_context_t *chamctxt )
......
...@@ -573,11 +573,11 @@ static int cti_copy_any_to_any( void *src_interface, unsigned src_node, ...@@ -573,11 +573,11 @@ static int cti_copy_any_to_any( void *src_interface, unsigned src_node,
starpu_cham_tile_interface_t *cham_tile_src = (starpu_cham_tile_interface_t *) src_interface; starpu_cham_tile_interface_t *cham_tile_src = (starpu_cham_tile_interface_t *) src_interface;
starpu_cham_tile_interface_t *cham_tile_dst = (starpu_cham_tile_interface_t *) dst_interface; starpu_cham_tile_interface_t *cham_tile_dst = (starpu_cham_tile_interface_t *) dst_interface;
size_t elemsize = CHAMELEON_Element_Size( cham_tile_src->flttype ); size_t elemsize = CHAMELEON_Element_Size( cham_tile_src->flttype );
size_t m = cham_tile_src->tile.m; size_t m = cham_tile_src->tile.m;
size_t n = cham_tile_src->tile.n; size_t n = cham_tile_src->tile.n;
size_t ld_src = cham_tile_src->tile.ld; size_t ld_src = cham_tile_src->tile.ld;
size_t ld_dst = cham_tile_dst->tile.ld; size_t ld_dst = cham_tile_dst->tile.ld;
int ret = 0; int ret = 0;
void *src_mat = CHAM_tile_get_ptr( &(cham_tile_src->tile) ); void *src_mat = CHAM_tile_get_ptr( &(cham_tile_src->tile) );
void *dst_mat = CHAM_tile_get_ptr( &(cham_tile_dst->tile) ); void *dst_mat = CHAM_tile_get_ptr( &(cham_tile_dst->tile) );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment