Attention une mise à jour du service Gitlab va être effectuée le mardi 14 décembre entre 13h30 et 14h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes.

Commit 4ad61420 authored by PRUVOST Florent's avatar PRUVOST Florent
Browse files

Merge branch 'config/definitions' into 'master'

Config/definitions

See merge request !6
parents 4ab7cc5c 7da7fbcf
......@@ -414,7 +414,7 @@ if(NOT CHAMELEON_SIMULATION)
message("-- ${Blue}Add definition CHAMELEON_USE_CUDA"
" - Activate CUDA in Chameleon${ColourReset}")
set(EXTRA_LIBRARIES_CUDA)
set (CHAMELEON_USE_CUDA 1)
set(CHAMELEON_USE_CUDA 1)
if(CUDA_VERSION VERSION_LESS "3.0")
set(CUDA_HOST_COMPILATION_CPP OFF)
endif(CUDA_VERSION VERSION_LESS "3.0")
......@@ -458,7 +458,7 @@ if(NOT CHAMELEON_SIMULATION)
endif()
#FindHeader(CUDA cublas_v2.h)
#if(CUDA_cublas_v2.h_DIRS)
#set (CHAMELEON_USE_CUBLAS_V2 1)
#set(CHAMELEON_USE_CUBLAS_V2 1)
#endif()
endif (CUDA_FOUND)
......@@ -472,7 +472,7 @@ if(NOT CHAMELEON_SIMULATION)
if ( MAGMA_FOUND )
message("-- ${Blue}Add definition CHAMELEON_USE_MAGMA"
" - Use GPU kernels from MAGMA${ColourReset}")
set (CHAMELEON_USE_MAGMA 1)
set(CHAMELEON_USE_MAGMA 1)
if(MAGMA_INCLUDE_DIRS)
include_directories(${MAGMA_INCLUDE_DIRS})
endif()
......@@ -518,7 +518,7 @@ if(NOT CHAMELEON_SIMULATION)
if (MPI_C_FOUND)
message("-- ${Blue}Add definition CHAMELEON_USE_MPI"
" - Activate MPI in Chameleon${ColourReset}")
set (CHAMELEON_USE_MPI 1)
set(CHAMELEON_USE_MPI 1)
list(APPEND EXTRA_LIBRARIES ${MPI_C_LIBRARIES} )
include_directories( ${MPI_C_INCLUDE_PATH} )
# tests for intel mpi
......@@ -545,7 +545,7 @@ else (NOT CHAMELEON_SIMULATION)
message("-- ${Blue}Add definition CHAMELEON_SIMULATION"
" - Activate simulation mode in Chameleon (to use with StarPU+SimGrid)${ColourReset}")
set (CHAMELEON_SIMULATION 1)
set(CHAMELEON_SIMULATION 1)
add_subdirectory(simucore)
......@@ -570,10 +570,10 @@ else (NOT CHAMELEON_SIMULATION)
# Add CUDA definition if required
if (CHAMELEON_USE_CUDA)
set (CHAMELEON_USE_CUDA 1)
set(CHAMELEON_USE_CUDA 1)
# Add MAGMA definition if required
if (CHAMELEON_USE_MAGMA)
set (CHAMELEON_USE_MAGMA 1)
set(CHAMELEON_USE_MAGMA 1)
endif()
endif()
......@@ -639,7 +639,7 @@ else (NOT CHAMELEON_SIMULATION)
if (MPI_C_FOUND)
message("-- ${Blue}Add definition CHAMELEON_USE_MPI"
" - Activate MPI in Chameleon${ColourReset}")
set (CHAMELEON_USE_MPI 1)
set(CHAMELEON_USE_MPI 1)
list(APPEND EXTRA_LIBRARIES ${MPI_C_LIBRARIES} )
include_directories( ${MPI_C_INCLUDE_PATH} )
if(MPI_C_LINK_FLAGS)
......@@ -682,7 +682,7 @@ if( CHAMELEON_SCHED_STARPU )
if ( STARPU_FOUND )
message("-- ${Blue}Add definition CHAMELEON_SCHED_STARPU"
" - Activate StarPU in Chameleon${ColourReset}")
set (CHAMELEON_SCHED_STARPU 1)
set(CHAMELEON_SCHED_STARPU 1)
include_directories(${STARPU_INCLUDE_DIRS_DEP})
if(STARPU_LINKER_FLAGS)
list(APPEND CMAKE_EXE_LINKER_FLAGS "${STARPU_LINKER_FLAGS}")
......@@ -703,18 +703,18 @@ if( CHAMELEON_SCHED_STARPU )
string(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
check_function_exists(starpu_data_idle_prefetch_on_node STARPU_IDLE_PREFETCH_FOUND)
if ( STARPU_IDLE_PREFETCH_FOUND )
set (CHAMELEON_USE_STARPU_IDLE_PREFETCH 1)
message("-- ${Blue}Add definition CHAMELEON_USE_STARPU_IDLE_PREFETCH${ColourReset}")
set(HAVE_STARPU_IDLE_PREFETCH 1)
message("-- ${Blue}Add definition HAVE_STARPU_IDLE_PREFETCH${ColourReset}")
endif()
check_function_exists(starpu_data_wont_use STARPU_DATA_WONT_USE_FOUND)
if ( STARPU_DATA_WONT_USE_FOUND )
set (CHAMELEON_USE_STARPU_DATA_WONT_USE 1)
message("-- ${Blue}Add definition CHAMELEON_USE_STARPU_DATA_WONT_USE${ColourReset}")
set(HAVE_STARPU_DATA_WONT_USE 1)
message("-- ${Blue}Add definition HAVE_STARPU_DATA_WONT_USE${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 (CHAMELEON_USE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS 1)
message("-- ${Blue}Add definition CHAMELEON_USE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS${ColourReset}")
set(HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS 1)
message("-- ${Blue}Add definition HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS${ColourReset}")
endif()
if(CHAMELEON_ENABLE_TRACING)
# check if fxt profiling is accessible in starpu and activate it in chameleon
......@@ -723,7 +723,7 @@ if( CHAMELEON_SCHED_STARPU )
if ( STARPU_FXT_START_PROFILING_FOUND )
message("-- ${Blue}Add definition HAVE_STARPU_FXT_PROFILING"
" - Activate FxT profiling through StarPU${ColourReset}")
set (HAVE_STARPU_FXT_PROFILING 1)
set(HAVE_STARPU_FXT_PROFILING 1)
else()
message("-- ${Red}Looking for starpu with fxt"
" - starpu_fxt_start_profiling() test fails in StarPU${ColourReset}")
......@@ -737,7 +737,7 @@ if( CHAMELEON_SCHED_STARPU )
if ( STARPU_MPI_DATA_REGISTER_FOUND )
message("-- ${Blue}Add definition HAVE_STARPU_MPI_DATA_REGISTER - Activate"
" use of starpu_mpi_data_register() in Chameleon with StarPU${ColourReset}")
set (HAVE_STARPU_MPI_DATA_REGISTER 1)
set(HAVE_STARPU_MPI_DATA_REGISTER 1)
else()
message("-- ${Red}Looking for starpu with starpu_mpi_data_register"
" - starpu_mpi_data_register() test fails in StarPU${ColourReset}")
......@@ -748,7 +748,7 @@ if( CHAMELEON_SCHED_STARPU )
if ( STARPU_MPI_COMM_RANK_FOUND )
message("-- ${Blue}Add definition HAVE_STARPU_MPI_COMM_RANK - Activate"
" use of starpu_mpi_comm_rank() in Chameleon with StarPU${ColourReset}")
set (HAVE_STARPU_MPI_COMM_RANK 1)
set(HAVE_STARPU_MPI_COMM_RANK 1)
else()
message("-- ${Red}Looking for starpu with starpu_mpi_comm_rank"
" - starpu_mpi_comm_rank() test fails in StarPU${ColourReset}")
......@@ -864,7 +864,7 @@ if( CHAMELEON_SCHED_PARSEC )
message("-- ${Blue}Add definition CHAMELEON_SCHED_PARSEC"
" - Activate PaRSEC in Chameleon${ColourReset}")
set (CHAMELEON_SCHED_PARSEC 1)
set(CHAMELEON_SCHED_PARSEC 1)
include_directories(${PARSEC_INCLUDE_DIRS_DEP})
include_directories(${PARSEC_INCLUDE_DIRS}/daguepp)
set(CMAKE_REQUIRED_INCLUDES "${PARSEC_INCLUDE_DIRS_DEP}")
......@@ -940,7 +940,7 @@ if( CHAMELEON_SCHED_QUARK )
if(QUARK_FOUND)
message("-- ${Blue}Add definition CHAMELEON_SCHED_QUARK"
" - Activate QUARK in Chameleon${ColourReset}")
set (CHAMELEON_SCHED_QUARK 1)
set(CHAMELEON_SCHED_QUARK 1)
include_directories(${QUARK_INCLUDE_DIRS})
if(QUARK_LIBRARY_DIRS)
# the RPATH to be used when installing
......@@ -992,7 +992,7 @@ endif()
# ------------------------------------------------------------------
message("-- ${Blue}Add definition ADD_"
" - For Fortran mangling${ColourReset}")
set (ADD_ 1)
set(ADD_ 1)
#------------------------------------------------------------------------------
if(CHAMELEON_SCHED_STARPU)
......
......@@ -37,11 +37,16 @@ set(ZHDR
precisions_rules_py(CHAMELEON_HDRS_GENERATED "${ZHDR}"
PRECISIONS "s;d;c;z;ds;zc")
configure_file("config.h.in"
"config.h"
@ONLY)
# Define the list of headers
# --------------------------
set(CHAMELEON_HDRS
async.h
auxiliary.h
config.h
common.h
context.h
descriptor.h
......
......@@ -43,6 +43,8 @@
#include <unistd.h>
#endif
/* need the config to get definitions */
#include "control/config.h"
/** ****************************************************************************
* Implementation headers
......
/**
*
* @copyright (c) 2009-2014 The University of Tennessee and The University
* 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.
*
**/
/**
*
* @file config.h
*
* Chameleon's internal definitions
* MORSE is a software package provided by Univ. of Tennessee,
* Univ. of California Berkeley and Univ. of Colorado Denver,
* and INRIA Bordeaux Sud-Ouest
*
* @version 0.9.1
* @author Florent Pruvost
* @date 2017-01-09
*
**/
#ifndef CONFIG_H_HAS_BEEN_INCLUDED
#define CONFIG_H_HAS_BEEN_INCLUDED
/* inherit from public chameleon's definitions */
#include "include/chameleon_config.h"
/* For BLAS Fortran mangling */
#cmakedefine ADD_
/* StarPU functions */
#cmakedefine HAVE_STARPU_FXT_PROFILING
#cmakedefine HAVE_STARPU_IDLE_PREFETCH
#cmakedefine HAVE_STARPU_DATA_WONT_USE
#cmakedefine HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS
#cmakedefine HAVE_STARPU_MPI_DATA_REGISTER
#cmakedefine HAVE_STARPU_MPI_COMM_RANK
/* MAGMA functions */
#cmakedefine HAVE_MAGMA_GETRF_INCPIV_GPU
#endif /* CONFIG_H_HAS_BEEN_INCLUDED */
......@@ -27,6 +27,7 @@
#define _MORSE_DESCRIPTOR_H_
#include <assert.h>
#include "include/chameleon_config.h"
#include "morse_struct.h"
#include "control/auxiliary.h"
......
......@@ -37,6 +37,8 @@
#include <cuda.h>
#include <cuComplex.h>
#include "include/chameleon_config.h"
#if defined(CHAMELEON_USE_CUBLAS_V2)
#include <cublas_v2.h>
......
......@@ -25,6 +25,7 @@
#ifndef _MORSE_CUDA_ZBLAS_H_
#define _MORSE_CUDA_ZBLAS_H_
#include "include/chameleon_config.h"
#include "morse_types.h"
#ifdef __cplusplus
......
......@@ -3,7 +3,7 @@
# @copyright (c) 2009-2014 The University of Tennessee and The University
# of Tennessee Research Foundation.
# All rights reserved.
# @copyright (c) 2012-2014 Inria. All rights reserved.
# @copyright (c) 2012-2017 Inria. All rights reserved.
# @copyright (c) 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
#
###
......@@ -22,6 +22,7 @@
# @author Cedric Castagnede
# @author Emmanuel Agullo
# @author Mathieu Faverge
# @author Florent Pruvost
# @date 13-07-2012
#
###
......@@ -40,8 +41,8 @@ set(ZHDR
precisions_rules_py(CHAMELEON_HDRS_GENERATED "${ZHDR}"
PRECISIONS "z;c;d;s;zc;ds")
configure_file("morse_config.h.in"
"morse_config.h"
configure_file("chameleon_config.h.in"
"chameleon_config.h"
@ONLY)
configure_file("morse.h.in"
"morse.h"
......@@ -50,12 +51,12 @@ configure_file("morse.h.in"
# Define the list of headers
# --------------------------
set(CHAMELEON_HDRS
chameleon_config.h
morse_constants.h
morse_kernels.h
morse_simulate.h
morse_struct.h
morse_types.h
morse_config.h
morse.h
runtime.h
${CHAMELEON_HDRS_GENERATED}
......@@ -83,7 +84,7 @@ set(HDR_INSTALL
foreach( hdr_file ${CHAMELEON_HDRS_GENERATED} )
list(APPEND HDR_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/${hdr_file})
endforeach()
list(APPEND HDR_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/morse.h ${CMAKE_CURRENT_BINARY_DIR}/morse_config.h)
list(APPEND HDR_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/morse.h ${CMAKE_CURRENT_BINARY_DIR}/chameleon_config.h)
# installation
# ------------
......
......@@ -10,7 +10,7 @@
/**
*
* @file chameleon.h
* @file chameleon_config.h
*
* MORSE main header
* MORSE is a software package provided by Univ. of Tennessee,
......@@ -22,8 +22,8 @@
* @date 2017-01-06
*
**/
#ifndef MORSE_CONFIG_H_HAS_BEEN_INCLUDED
#define MORSE_CONFIG_H_HAS_BEEN_INCLUDED
#ifndef CHAMELEON_CONFIG_H_HAS_BEEN_INCLUDED
#define CHAMELEON_CONFIG_H_HAS_BEEN_INCLUDED
#define CHAMELEON_VERSION_MAJOR @CHAMELEON_VERSION_MAJOR@
#define CHAMELEON_VERSION_MINOR @CHAMELEON_VERSION_MINOR@
......@@ -43,24 +43,8 @@
#cmakedefine CHAMELEON_USE_CUBLAS_V2
#cmakedefine CHAMELEON_USE_MAGMA
/* For BLAS Fortran mangling */
#cmakedefine ADD_
/* Profiling */
#cmakedefine HAVE_STARPU_FXT_PROFILING
/* Simulating */
#cmakedefine CHAMELEON_SIMULATION
/* Optional functions */
#cmakedefine CBLAS_HAS_ZGEMM3M
#cmakedefine CBLAS_HAS_CGEMM3M
#cmakedefine HAVE_MAGMA_GETRF_INCPIV_GPU
#cmakedefine CHAMELEON_USE_STARPU_IDLE_PREFETCH
#cmakedefine CHAMELEON_USE_STARPU_DATA_WONT_USE
#cmakedefine CHAMELEON_USE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS
#cmakedefine HAVE_STARPU_MPI_DATA_REGISTER
#cmakedefine HAVE_STARPU_MPI_COMM_RANK
#endif /*MORSE_CONFIG_H_HAS_BEEN_INCLUDED */
#endif /* CHAMELEON_CONFIG_H_HAS_BEEN_INCLUDED */
......@@ -36,7 +36,7 @@
/* ****************************************************************************
* MORSE types and constants
*/
#include "morse_config.h"
#include "chameleon_config.h"
#include "morse_types.h"
#include "morse_struct.h"
#include "morse_constants.h"
......
......@@ -25,6 +25,8 @@
#ifndef _MORSE_SIMULATE_H_
#define _MORSE_SIMULATE_H_
#include "include/chameleon_config.h"
/* we need this when starpu is compiled with simgrid enabled */
#if defined(CHAMELEON_SCHED_STARPU) && defined(CHAMELEON_SIMULATION)
#include <starpu_simgrid_wrap.h>
......
......@@ -28,6 +28,7 @@
#ifndef _MORSE_STRUCT_H_
#define _MORSE_STRUCT_H_
#include "include/chameleon_config.h"
#include "morse_types.h"
/** ****************************************************************************
......
......@@ -36,7 +36,7 @@ if ( CBLAS_FOUND AND LAPACKE_FOUND AND LAPACK_FOUND AND CUDA_FOUND AND CUDA_CUBL
check_function_exists(magma_dgetrf_incpiv_gpu MAGMA_DGETRF_INCPIV_GPU_FOUND)
if ( MAGMA_DGETRF_INCPIV_GPU_FOUND )
message(STATUS "Set HAVE_MAGMA_GETRF_INCPIV_GPU")
set (HAVE_MAGMA_GETRF_INCPIV_GPU 1)
set(HAVE_MAGMA_GETRF_INCPIV_GPU 1)
endif()
endif()
......
......@@ -36,7 +36,7 @@ if ( CBLAS_FOUND AND LAPACKE_FOUND AND LAPACK_FOUND AND CUDA_FOUND AND CUDA_CUBL
check_function_exists(magma_dgetrf_incpiv_gpu MAGMA_DGETRF_INCPIV_GPU_FOUND)
if ( MAGMA_DGETRF_INCPIV_GPU_FOUND )
message(STATUS "Set HAVE_MAGMA_GETRF_INCPIV_GPU")
set (HAVE_MAGMA_GETRF_INCPIV_GPU 1)
set(HAVE_MAGMA_GETRF_INCPIV_GPU 1)
endif()
endif()
......
......@@ -26,8 +26,8 @@
**/
#include "runtime/starpu/include/morse_starpu.h"
#ifdef CHAMELEON_USE_STARPU_DATA_WONT_USE
#elif defined CHAMELEON_USE_STARPU_IDLE_PREFETCH
#ifdef HAVE_STARPU_DATA_WONT_USE
#elif defined HAVE_STARPU_IDLE_PREFETCH
static void data_flush(void *handle)
{
starpu_data_idle_prefetch_on_node(handle, STARPU_MAIN_RAM, 1);
......@@ -63,9 +63,9 @@ void MORSE_TASK_dataflush(const MORSE_option_t *options,
if ( A->myrank == A->get_rankof( A, Am, An ) )
{
/* Push data to main memory when we have time to */
#ifdef CHAMELEON_USE_STARPU_DATA_WONT_USE
#ifdef HAVE_STARPU_DATA_WONT_USE
starpu_data_wont_use(*ptrtile);
#elif defined CHAMELEON_USE_STARPU_IDLE_PREFETCH
#elif defined HAVE_STARPU_IDLE_PREFETCH
starpu_data_acquire_on_node_cb(*ptrtile, -1, STARPU_R, data_flush, *ptrtile);
#else
starpu_data_acquire_cb(*ptrtile, STARPU_R, data_release, *ptrtile);
......
......@@ -113,7 +113,7 @@ int RUNTIME_init_scheduler( MORSE_context_t *morse, int ncpus, int ncudas, int n
morse->nthreads_per_worker = nthreads_per_worker;
}
#ifdef CHAMELEON_USE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS
#ifdef HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS
starpu_malloc_on_node_set_default_flags(STARPU_MAIN_RAM, STARPU_MALLOC_PINNED | STARPU_MALLOC_COUNT
#ifdef STARPU_MALLOC_SIMULATION_FOLDED
| STARPU_MALLOC_SIMULATION_FOLDED
......
......@@ -32,6 +32,8 @@
#ifndef _MORSE_STARPU_H_
#define _MORSE_STARPU_H_
#include "include/chameleon_config.h"
#if defined(CHAMELEON_USE_MPI)
#include <starpu_mpi.h>
#else
......
......@@ -28,6 +28,7 @@
#ifndef _CODELETS_H_
#define _CODELETS_H_
#include "include/chameleon_config.h"
#include "runtime_codelet_profile.h"
//#undef STARPU_CUDA_ASYNC
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment