Commit 7397efbe authored by Mathieu Faverge's avatar Mathieu Faverge

Compile with StarPU in shm

parent f78c5f5e
......@@ -40,20 +40,20 @@ set(CHAMELEON_VERSION_MAJOR 1)
set(CHAMELEON_VERSION_MINOR 0)
set(CHAMELEON_VERSION_MICRO 0)
set(MORSE_CMAKE_DIR "" CACHE PATH "Directory of MORSE CMake modules, can be external to the project")
set(CHAMELEON_CMAKE_DIR "" CACHE PATH "Directory of CHAMELEON CMake modules, can be external to the project")
# Add extra cmake module path and initialize morse cmake modules
# --------------------------------------------------------------
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules)
if(MORSE_CMAKE_DIR)
list(APPEND CMAKE_MODULE_PATH "${MORSE_CMAKE_DIR}/cmake_modules/morse_cmake/modules")
set(MORSE_CMAKE_MODULE_PATH ${MORSE_CMAKE_DIR}/cmake_modules/morse_cmake/modules )
if(CHAMELEON_CMAKE_DIR)
list(APPEND CMAKE_MODULE_PATH "${CHAMELEON_CMAKE_DIR}/cmake_modules/morse_cmake/modules")
set(CHAMELEON_CMAKE_MODULE_PATH ${CHAMELEON_CMAKE_DIR}/cmake_modules/morse_cmake/modules )
elseif(EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake/modules")
set(MORSE_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake/modules )
set(CHAMELEON_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake/modules )
else()
message(FATAL_ERROR "Chameleon CMake system relies on morse_cmake modules developed here: "
"https://gitlab.inria.fr/solverstack/morse_cmake. Please set MORSE_CMAKE_DIR to this source "
"https://gitlab.inria.fr/solverstack/morse_cmake. Please set CHAMELEON_CMAKE_DIR to this source "
"directory.")
endif()
......@@ -64,8 +64,8 @@ include(GenPkgConfig)
# ------------------------------------------------------------------------
include(FortranCInterface)
FortranCInterface_VERIFY()
FortranCInterface_HEADER(${CMAKE_CURRENT_BINARY_DIR}/include/chameleon/morse_mangling.h
MACRO_NAMESPACE "MORSE_")
FortranCInterface_HEADER(${CMAKE_CURRENT_BINARY_DIR}/include/chameleon/mangling.h
MACRO_NAMESPACE "CHAMELEON_")
#############################################
# #
......@@ -97,7 +97,7 @@ option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
# Define precision supported by CHAMELEON
# -----------------------------------------
set( RP_CHAMELEON_DICTIONNARY ${MORSE_CMAKE_MODULE_PATH}/precision_generator/subs.py )
set( RP_CHAMELEON_DICTIONNARY ${CHAMELEON_CMAKE_MODULE_PATH}/precision_generator/subs.py )
set( RP_CHAMELEON_PRECISIONS "s;d;c;z" )
include(RulesPrecisions)
......@@ -322,7 +322,7 @@ if(NOT CHAMELEON_SIMULATION)
list(INSERT CHAMELEON_DEP 0 ${CBLAS_LIBRARIES_DEP})
endif()
else()
if(MORSE_VERBOSE_FIND_PACKAGE)
if(CHAMELEON_VERBOSE_FIND_PACKAGE)
if(CBLAS_STANDALONE OR NOT CBLAS_WORKS)
if (NOT CBLAS_cblas.h_DIRS)
Print_Find_Header_Status(cblas cblas.h)
......@@ -332,8 +332,8 @@ if(NOT CHAMELEON_SIMULATION)
endif ()
endif()
else()
message(WARNING "CBLAS library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
message(WARNING "CBLAS library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif()
message(FATAL_ERROR "A CBLAS library is required but has not been found")
endif()
......@@ -358,7 +358,7 @@ if(NOT CHAMELEON_SIMULATION)
list(INSERT CHAMELEON_DEP 0 ${LAPACKE_LIBRARIES_DEP})
endif()
else()
if(MORSE_VERBOSE_FIND_PACKAGE)
if(CHAMELEON_VERBOSE_FIND_PACKAGE)
if (LAPACKE_STANDALONE OR NOT LAPACKE_WORKS)
if (NOT LAPACKE_lapacke.h_DIRS)
Print_Find_Header_Status(lapacke lapacke.h)
......@@ -368,8 +368,8 @@ if(NOT CHAMELEON_SIMULATION)
endif ()
endif()
else()
message(WARNING "LAPACKE library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
message(WARNING "LAPACKE library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif()
message(FATAL_ERROR "A LAPACKE library is required but has not been found")
endif()
......@@ -677,7 +677,7 @@ if( CHAMELEON_SCHED_STARPU )
endif()
endif()
else ( STARPU_FOUND )
if(MORSE_VERBOSE_FIND_PACKAGE)
if(CHAMELEON_VERBOSE_FIND_PACKAGE)
if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES)
if (NOT HWLOC_hwloc.h_DIRS)
Print_Find_Header_Status(hwloc hwloc.h)
......@@ -718,10 +718,10 @@ if( CHAMELEON_SCHED_STARPU )
endforeach()
endif ()
endif ()
else(MORSE_VERBOSE_FIND_PACKAGE)
message(WARNING "StarPU library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif(MORSE_VERBOSE_FIND_PACKAGE)
else(CHAMELEON_VERBOSE_FIND_PACKAGE)
message(WARNING "StarPU library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif(CHAMELEON_VERBOSE_FIND_PACKAGE)
if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES)
message(FATAL_ERROR "hwloc library is required but has not been found")
endif()
......@@ -781,7 +781,7 @@ if( CHAMELEON_SCHED_PARSEC )
# set(CMAKE_REQUIRED_LIBRARIES "${PARSEC_LIBRARIES_DEP}")
# check_function_exists(parsec_init HAVE_PARSEC_INIT)
else ( PARSEC_FOUND )
if(MORSE_VERBOSE_FIND_PACKAGE)
if(CHAMELEON_VERBOSE_FIND_PACKAGE)
if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES)
if (NOT HWLOC_hwloc.h_DIRS)
Print_Find_Header_Status(hwloc hwloc.h)
......@@ -804,10 +804,10 @@ if( CHAMELEON_SCHED_PARSEC )
endforeach()
endif()
endif()
else(MORSE_VERBOSE_FIND_PACKAGE)
message(WARNING "PaRSEC library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif(MORSE_VERBOSE_FIND_PACKAGE)
else(CHAMELEON_VERBOSE_FIND_PACKAGE)
message(WARNING "PaRSEC library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif(CHAMELEON_VERBOSE_FIND_PACKAGE)
if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES)
message(FATAL_ERROR "hwloc library is required but has not been found")
endif()
......@@ -843,7 +843,7 @@ if( CHAMELEON_SCHED_QUARK )
list(INSERT CHAMELEON_DEP 0 ${QUARK_LIBRARIES_DEP})
endif()
else(QUARK_FOUND)
if(MORSE_VERBOSE_FIND_PACKAGE)
if(CHAMELEON_VERBOSE_FIND_PACKAGE)
if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES)
if (NOT HWLOC_hwloc.h_DIRS)
Print_Find_Header_Status(hwloc hwloc.h)
......@@ -859,8 +859,8 @@ if( CHAMELEON_SCHED_QUARK )
Print_Find_Library_Status(quark libquark)
endif ()
else()
message(WARNING "QUARK library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
message(WARNING "QUARK library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF."
" Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection")
endif()
if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES)
message(FATAL_ERROR "hwloc library is required but has not been found")
......
......@@ -23,7 +23,7 @@ r2253 | fpruvost | 2015-06-19 16:57:27 +0200 (ven. 19 juin 2015)
- correct restrict zsytrf_nopiv
- save config of build in config.log
- improve potrf+potrs on distributed systems
- add a MORSE_VERBOSE mode to activate or not hints during the detection
- add a CHAMELEON_VERBOSE mode to activate or not hints during the detection
- add the codelet name information in starpu_codelet for eztrace starpu module interceptions
- change the name of the installed chameleon .pc file: no more starpu or quark suffix
- change installation directories for headers, executables and docs. Make it relative to chameleon to avoid a bloody mess in system dirs
......@@ -36,7 +36,7 @@ r2253 | fpruvost | 2015-06-19 16:57:27 +0200 (ven. 19 juin 2015)
- improve Find BLAS for gnu compilo and threaded mkl
- if hints are given by user to find libs (CMake option or env. var) --> do not use pkg-config
- avoid to call MPI_Finalize if MPI has been initialized by user
- add MORSE_Pause/Resume function to avoid CPU consumption when no tasks have to be executed
- add CHAMELEON_Pause/Resume function to avoid CPU consumption when no tasks have to be executed
- update the fortran90 interface
chameleon-0.9.0
......
......@@ -11,7 +11,7 @@
###
#
# This software is a computer program whose purpose is to process
# Matrices Over Runtime Systems @ Exascale (MORSE). More information
# Matrices Over Runtime Systems @ Exascale (CHAMELEON). More information
# can be found on the following website: http://www.inria.fr/en/teams/morse.
#
# This software is governed by the CeCILL-C license under French law and
......
......@@ -25,7 +25,7 @@ linear algebra algorithms on very different type of architecture:
laptop, many-core nodes, CPUs-GPUs, multiple nodes. For example,
Chameleon is able to perform a Cholesky factorization
(double-precision) at 80 TFlop/s on a dense matrix of order 400 000
(i.e. 4 min). Chameleon is a sub-project of [[http://icl.cs.utk.edu/morse/][MORSE]] specifically
(i.e. 4 min). Chameleon is a sub-project of [[http://icl.cs.utk.edu/morse/][CHAMELEON]] specifically
dedicated to dense linear algebra.
* Get Chameleon
......
......@@ -9,8 +9,8 @@
#
###
#
# @project MORSE
# MORSE is a software package provided by:
# @project CHAMELEON
# CHAMELEON is a software package provided by:
# Inria Bordeaux - Sud-Ouest,
# Univ. of Tennessee,
# King Abdullah Univesity of Science and Technology
......@@ -163,7 +163,7 @@ MACRO(GENERATE_PKGCONFIG_FILE)
SET(_output_cudablas_file "${CMAKE_BINARY_DIR}/cudablas.pc")
endif()
# TODO: add url of MORSE releases in .pc file
# TODO: add url of CHAMELEON releases in .pc file
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/chameleon.pc.in" "${_output_chameleon_file}" @ONLY)
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/coreblas.pc.in" "${_output_coreblas_file}" @ONLY)
if(CHAMELEON_USE_CUDA)
......
......@@ -9,8 +9,8 @@
#
###
#
# @project MORSE
# MORSE is a software package provided by:
# @project CHAMELEON
# CHAMELEON is a software package provided by:
# Inria Bordeaux - Sud-Ouest,
# Univ. of Tennessee,
# King Abdullah Univesity of Science and Technology
......
......@@ -2,5 +2,5 @@ set(BUILD_SHARED_LIBS "ON" CACHE BOOL "")
set(CMAKE_INSTALL_PREFIX "$ENV{PWD}/install" CACHE PATH "")
set(CMAKE_VERBOSE_MAKEFILE "ON" CACHE BOOL "")
option(MORSE_ENABLE_WARNING "Enable warning messages" ON)
option(MORSE_ENABLE_COVERAGE "Enable flags for coverage test" ON)
option(CHAMELEON_ENABLE_WARNING "Enable warning messages" ON)
option(CHAMELEON_ENABLE_COVERAGE "Enable flags for coverage test" ON)
Subproject commit 1deddb2781f62dbbf0ee9199f569e49f7346397a
Subproject commit 203bae6d0bad99a2ad8e6d966a0a4ee3350f5f8a
......@@ -9,8 +9,8 @@
#
###
#
# @project MORSE
# MORSE is a software package provided by:
# @project CHAMELEON
# CHAMELEON is a software package provided by:
# Inria Bordeaux - Sud-Ouest,
# Univ. of Tennessee,
# King Abdullah Univesity of Science and Technology
......@@ -204,7 +204,6 @@ set(ZSRC
pztile2band.c
#pzgebrd_gb2bd.c
pzgebrd_ge2gb.c
#pzgetmi2.c
#pzgetrf_reclap.c
#pzgetrf_rectil.c
#pzhegst.c
......
......@@ -13,7 +13,7 @@
*
* @version 1.0.0
* @comment This file has been automatically generated
* from Plasma 2.5.0 for MORSE 1.0.0
* from Plasma 2.5.0 for CHAMELEON 1.0.0
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
......@@ -32,9 +32,9 @@
*
* @param[in] uplo
* Specifies the part of the matrix A to be copied to B.
* = MorseUpperLower: All the matrix A
* = MorseUpper: Upper triangular part
* = MorseLower: Lower triangular part
* = ChamUpperLower: All the matrix A
* = ChamUpper: Upper triangular part
* = ChamLower: Lower triangular part
*
* @param[in] A
* On exit, The matrix A generated.
......@@ -53,17 +53,17 @@
* Identifies this function call (for exception handling purposes).
*
*/
void morse_pzbuild( MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* user_build_callback,
MORSE_sequence_t *sequence, MORSE_request_t *request )
void morse_pzbuild( cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback,
RUNTIME_sequence_t *sequence, RUNTIME_request_t *request )
{
MORSE_context_t *morse;
MORSE_option_t options;
CHAM_context_t *morse;
RUNTIME_option_t options;
int m, n;
int ldam;
morse = morse_context_self();
if (sequence->status != MORSE_SUCCESS)
if (sequence->status != CHAMELEON_SUCCESS)
return;
RUNTIME_options_init(&options, morse, sequence, request);
......@@ -71,10 +71,10 @@ void morse_pzbuild( MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* use
ldam = BLKLDD(A, m);
for (n = 0; n < A->nt; n++) {
if ( ( uplo == MorseUpper && m <= n ) ||
( uplo == MorseLower && m >= n ) ||
( uplo == MorseUpperLower ) )
MORSE_TASK_zbuild(
if ( ( uplo == ChamUpper && m <= n ) ||
( uplo == ChamLower && m >= n ) ||
( uplo == ChamUpperLower ) )
INSERT_TASK_zbuild(
&options,
A(m, n), ldam,
user_data, user_build_callback );
......
......@@ -20,12 +20,12 @@
*/
#include "control/common.h"
void morse_pzgebrd_ge2gb(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D,
MORSE_sequence_t *sequence, MORSE_request_t *request)
void morse_pzgebrd_ge2gb(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D,
RUNTIME_sequence_t *sequence, RUNTIME_request_t *request)
{
int k;
int tempkm, tempkn;
MORSE_desc_t *A1, *A2, *T1, *D1 = NULL;
CHAM_desc_t *A1, *A2, *T1, *D1 = NULL;
if (A->m >= A->n){
for (k = 0; k < A->nt; k++) {
......@@ -41,7 +41,7 @@ void morse_pzgebrd_ge2gb(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D,
morse_pzgeqrf( A1, T1, D1,
sequence, request);