Commit 043add66 authored by PRUVOST Florent's avatar PRUVOST Florent

change name MAGMAMORSE and cousins to CHAMELEON

parent 06075674
This diff is collapsed.
......@@ -39,21 +39,21 @@ if(NOT BUILDNAME)
endif(CMAKE_BUILD_TYPE)
# Specific options of Magma-Morse
if(MAGMAMORSE_SCHED_QUARK)
if(CHAMELEON_SCHED_QUARK)
set(BUILDNAME "${BUILDNAME}-Quark")
endif(MAGMAMORSE_SCHED_QUARK)
endif(CHAMELEON_SCHED_QUARK)
if(MAGMAMORSE_SCHED_STARPU)
if(CHAMELEON_SCHED_STARPU)
set(BUILDNAME "${BUILDNAME}-StarPU")
endif(MAGMAMORSE_SCHED_STARPU)
endif(CHAMELEON_SCHED_STARPU)
if(MAGMAMORSE_USE_MPI)
if(CHAMELEON_USE_MPI)
set(BUILDNAME "${BUILDNAME}-mpi")
endif(MAGMAMORSE_USE_MPI)
endif(CHAMELEON_USE_MPI)
if(MAGMAMORSE_USE_CUDA)
if(CHAMELEON_USE_CUDA)
set(BUILDNAME "${BUILDNAME}-cuda")
endif(MAGMAMORSE_USE_CUDA)
endif(CHAMELEON_USE_CUDA)
endif()
......
**********************************************
Some instructions about MagmaMorse usage
Some instructions about CHAMELEON usage
**********************************************
Compilation of MagmaMorse libraries and executables are done with CMake
Compilation of CHAMELEON libraries and executables are done with CMake
(http://www.cmake.org/). This version has been tested with CMake 2.8.8.
Usage: three steps are required to compile and install MagmaMorse
Usage: three steps are required to compile and install CHAMELEON
1) configure :
> cmake path/to/magmamorse -DOPTION1= -DOPTION2= ...
> cmake path/to/chameleon -DOPTION1= -DOPTION2= ...
see the "Options" section to get list of options
see the "Dependencies detection" for details about libraries detection
......@@ -19,11 +19,11 @@ do not hesitate to use -j[ncores] option to speedup the compilation
3) install (optional) :
> make install
do not forget to specify the install directory with -DCMAKE_INSTALL_PREFIX at configure
example : cmake /home/toto/magmamorse -DCMAKE_INSTALL_PREFIX=/home/toto/install
example : cmake /home/toto/chameleon -DCMAKE_INSTALL_PREFIX=/home/toto/install
-------------------------------------------
* List of libraries MagmaMorse depends on *
* List of libraries CHAMELEON depends on *
-------------------------------------------
threads : pthread
......@@ -84,17 +84,17 @@ by specifying them directly at cmake configure. Different cases :
You can optionally activate some options at cmake configure (like CUDA, MPI, ...)
invoking cmake path/to/your/CMakeLists.txt -DOPTION1= -DOPTION2= ...
example: cmake /home/toto/magmamorse/ -DCMAKE_BUILD_TYPE=Debug \
example: cmake /home/toto/chameleon/ -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/home/toto/install/ \
-DMAGMAMORSE_USE_CUDA=ON \
-DMAGMAMORSE_USE_MAGMA=ON \
-DMAGMAMORSE_USE_MPI=ON \
-DCHAMELEON_USE_CUDA=ON \
-DCHAMELEON_USE_MAGMA=ON \
-DCHAMELEON_USE_MPI=ON \
-DBLA_VENDOR=Intel10_64lp \
-DSTARPU_DIR=/home/toto/install/starpu-1.1/build/include/starpu/1.1/ \
-DMAGMAMORSE_USE_FXT=ON
-DCHAMELEON_USE_FXT=ON
You can get the full list of options with -L[A][H] options of cmake command
example: cmake -LH /home/toto/magmamorse/
example: cmake -LH /home/toto/chameleon/
You can also set the options thanks to ccmake interface
......@@ -118,20 +118,20 @@ STARPU_LIBDIR=...
# same idea can be used for some packages, replace STARPU by one of these:
BLAS - CBLAS - FXT - HWLOC - LAPACK - LAPACKE - MAGMA - QUARK - TMG
MagmaMorse specific:
CHAMELEON specific:
--------------------
MAGMAMORSE_USE_MPI=ON|OFF (default OFF)
MAGMAMORSE_USE_CUDA=ON|OFF (default OFF)
MAGMAMORSE_USE_MAGMA=ON|OFF (default OFF)
MAGMAMORSE_USE_FXT=ON|OFF (default OFF)
MAGMAMORSE_SCHED_STARPU=ON|OFF (default ON)
MAGMAMORSE_SCHED_QUARK=ON|OFF (default OFF)
MAGMAMORSE_SIMULATION=ON|OFF (default OFF)
CHAMELEON_USE_MPI=ON|OFF (default OFF)
CHAMELEON_USE_CUDA=ON|OFF (default OFF)
CHAMELEON_USE_MAGMA=ON|OFF (default OFF)
CHAMELEON_USE_FXT=ON|OFF (default OFF)
CHAMELEON_SCHED_STARPU=ON|OFF (default ON)
CHAMELEON_SCHED_QUARK=ON|OFF (default OFF)
CHAMELEON_SIMULATION=ON|OFF (default OFF)
Libraries detected with an official cmake module (see module files in CMAKE_ROOT/Modules/):
CUDA - MPI - Threads
Libraries detected with our cmake modules (see module files in cmake_modules/morse/find/ directory of MagmaMorse sources):
Libraries detected with our cmake modules (see module files in cmake_modules/morse/find/ directory of CHAMELEON sources):
BLAS - CBLAS - FXT - HWLOC - LAPACK - LAPACKE - MAGMA - QUARK - STARPU - TMG
......@@ -146,8 +146,8 @@ By doing so, traces are generated after each execution of a program which uses
StarPU in the directory pointed by the STARPU_FXT_PREFIX environment variable.
example: export STARPU_FXT_PREFIX=/home/toto/fxt_files/
When executing a ./timing/... MagmaMorse program, if it has been enabled
(StarPU compiled with FxT and -DMAGMAMORSE_USE_FXT=ON), you can give the option --trace
When executing a ./timing/... CHAMELEON program, if it has been enabled
(StarPU compiled with FxT and -DCHAMELEON_USE_FXT=ON), you can give the option --trace
to tell the program to generate trace log files.
Finally, to generate the trace file which can be opened with Vite program
......@@ -164,10 +164,10 @@ The trace file will be named paje.trace (use -o option to specify an output name
-------------------------------------------
* Use simulation mode with StarPU-SimGrid *
-------------------------------------------
Simulation mode can be activated by setting the cmake option MAGMAMORSE_SIMULATION to ON.
Simulation mode can be activated by setting the cmake option CHAMELEON_SIMULATION to ON.
This mode allows you to simulate execution of algorithms with StarPU compiled with SimGrid (http://simgrid.gforge.inria.fr/).
To do so, we provide some perfmodels in the simucore/perfmodels/ directory of MagmaMorse sources.
To use these perfmodels, please set your STARPU_HOME environment variable to path/to/your/magmamorse_sources/simucore/perfmodels.
To do so, we provide some perfmodels in the simucore/perfmodels/ directory of CHAMELEON sources.
To use these perfmodels, please set your STARPU_HOME environment variable to path/to/your/chameleon_sources/simucore/perfmodels.
Finally, you need to set your STARPU_HOSTNAME environment variable to the name of the machine to simulate.
For example: STARPU_HOSTNAME=mirage.
Note that only POTRF kernels with block sizes of 320 or 960 (simple and double precision) on mirage machine are available for now.
......
......@@ -36,43 +36,43 @@ MACRO(GENERATE_PKGCONFIG_FILE _file)
# The link flags specific to this package and any required libraries
# that don't support PkgConfig
set(MAGMAMORSE_PKGCONFIG_LIBS "")
set(CHAMELEON_PKGCONFIG_LIBS "")
# The link flags for private libraries required by this package but not
# exposed to applications
set(MAGMAMORSE_PKGCONFIG_LIBS_PRIVATE "")
set(CHAMELEON_PKGCONFIG_LIBS_PRIVATE "")
# A list of packages required by this package
set(MAGMAMORSE_PKGCONFIG_REQUIRED "")
set(CHAMELEON_PKGCONFIG_REQUIRED "")
# A list of private packages required by this package but not exposed to
# applications
set(MAGMAMORSE_PKGCONFIG_REQUIRED_PRIVATE "")
set(CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE "")
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS -lmagmamorse)
if(MAGMAMORSE_SCHED_STARPU)
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS -lmagmamorse_starpu)
if ( MAGMAMORSE_USE_MPI )
list(APPEND MAGMAMORSE_PKGCONFIG_REQUIRED
starpumpi-${MAGMAMORSE_STARPU_VERSION})
list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon)
if(CHAMELEON_SCHED_STARPU)
list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_starpu)
if ( CHAMELEON_USE_MPI )
list(APPEND CHAMELEON_PKGCONFIG_REQUIRED
starpumpi-${CHAMELEON_STARPU_VERSION})
else()
list(APPEND MAGMAMORSE_PKGCONFIG_REQUIRED
starpu-${MAGMAMORSE_STARPU_VERSION})
list(APPEND CHAMELEON_PKGCONFIG_REQUIRED
starpu-${CHAMELEON_STARPU_VERSION})
endif()
elseif(MAGMAMORSE_SCHED_QUARK)
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS -lmagmamorse_quark)
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS -lquark)
elseif(CHAMELEON_SCHED_QUARK)
list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_quark)
list(APPEND CHAMELEON_PKGCONFIG_LIBS -lquark)
endif()
if(NOT MAGMAMORSE_SIMULATION)
if(NOT CHAMELEON_SIMULATION)
if(MAGMAMORSE_USE_CUDA)
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS ${CUDA_LIBRARIES})
if(CHAMELEON_USE_CUDA)
list(APPEND CHAMELEON_PKGCONFIG_LIBS ${CUDA_LIBRARIES})
endif()
if(MAGMAMORSE_USE_MAGMA)
list(APPEND MAGMAMORSE_PKGCONFIG_REQUIRED magma)
if(CHAMELEON_USE_MAGMA)
list(APPEND CHAMELEON_PKGCONFIG_REQUIRED magma)
endif()
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS
list(APPEND CHAMELEON_PKGCONFIG_LIBS
-lcoreblas
${LAPACKE_LIBRARIES}
${CBLAS_LIBRARIES}
......@@ -81,45 +81,45 @@ MACRO(GENERATE_PKGCONFIG_FILE _file)
${EXTRA_LIBRARIES}
)
list(APPEND MAGMAMORSE_PKGCONFIG_REQUIRED hwloc)
list(APPEND CHAMELEON_PKGCONFIG_REQUIRED hwloc)
else(NOT MAGMAMORSE_SIMULATION)
else(NOT CHAMELEON_SIMULATION)
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS
list(APPEND CHAMELEON_PKGCONFIG_LIBS
-lcoreblas
-lsimulapacke
-lsimucblas
${EXTRA_LIBRARIES}
)
list(APPEND MAGMAMORSE_PKGCONFIG_REQUIRED hwloc)
list(APPEND CHAMELEON_PKGCONFIG_REQUIRED hwloc)
endif(NOT MAGMAMORSE_SIMULATION)
endif(NOT CHAMELEON_SIMULATION)
list(REMOVE_DUPLICATES MAGMAMORSE_PKGCONFIG_LIBS)
list(REMOVE_DUPLICATES MAGMAMORSE_PKGCONFIG_LIBS_PRIVATE)
list(REMOVE_DUPLICATES MAGMAMORSE_PKGCONFIG_REQUIRED)
list(REMOVE_DUPLICATES MAGMAMORSE_PKGCONFIG_REQUIRED_PRIVATE)
list(REMOVE_DUPLICATES CHAMELEON_PKGCONFIG_LIBS)
list(REMOVE_DUPLICATES CHAMELEON_PKGCONFIG_LIBS_PRIVATE)
list(REMOVE_DUPLICATES CHAMELEON_PKGCONFIG_REQUIRED)
list(REMOVE_DUPLICATES CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE)
# Define required package
# -----------------------
set(MAGMAMORSE_PKGCONFIG_LIBS_CPY "${MAGMAMORSE_PKGCONFIG_LIBS}")
set(MAGMAMORSE_PKGCONFIG_LIBS "")
foreach(_dep ${MAGMAMORSE_PKGCONFIG_LIBS_CPY})
set(CHAMELEON_PKGCONFIG_LIBS_CPY "${CHAMELEON_PKGCONFIG_LIBS}")
set(CHAMELEON_PKGCONFIG_LIBS "")
foreach(_dep ${CHAMELEON_PKGCONFIG_LIBS_CPY})
get_filename_component(dep_we ${_dep} NAME)
STRING(REPLACE "lib" "-l" dep_we "${dep_we}")
STRING(REPLACE ".so" "" dep_we "${dep_we}")
STRING(REPLACE ".a" "" dep_we "${dep_we}")
STRING(REPLACE ".dylib" "" dep_we "${dep_we}")
STRING(REPLACE ".dll" "" dep_we "${dep_we}")
list(APPEND MAGMAMORSE_PKGCONFIG_LIBS ${dep_we})
list(APPEND CHAMELEON_PKGCONFIG_LIBS ${dep_we})
endforeach()
STRING(REPLACE ";" " " MAGMAMORSE_PKGCONFIG_LIBS "${MAGMAMORSE_PKGCONFIG_LIBS}")
STRING(REPLACE ";" " " MAGMAMORSE_PKGCONFIG_LIBS_PRIVATE "${MAGMAMORSE_PKGCONFIG_LIBS_PRIVATE}")
STRING(REPLACE ";" " " MAGMAMORSE_PKGCONFIG_REQUIRED "${MAGMAMORSE_PKGCONFIG_REQUIRED}")
STRING(REPLACE ";" " " MAGMAMORSE_PKGCONFIG_REQUIRED_PRIVATE "${MAGMAMORSE_PKGCONFIG_REQUIRED_PRIVATE}")
STRING(REPLACE ";" " " CHAMELEON_PKGCONFIG_LIBS "${CHAMELEON_PKGCONFIG_LIBS}")
STRING(REPLACE ";" " " CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${CHAMELEON_PKGCONFIG_LIBS_PRIVATE}")
STRING(REPLACE ";" " " CHAMELEON_PKGCONFIG_REQUIRED "${CHAMELEON_PKGCONFIG_REQUIRED}")
STRING(REPLACE ";" " " CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE "${CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE}")
# Create .pc file
# ---------------
......
......@@ -23,7 +23,7 @@
# @date 10-11-2014
#
###
message("\nConfiguration of package `magmamorse':")
message("\nConfiguration of package `chameleon':")
message(" BUILDNAME ...........: ${BUILDNAME}")
message(" SITE ................: ${SITE}")
message(" ")
......@@ -37,7 +37,7 @@ if(CMAKE_Fortran_COMPILER)
message(" Compiler: Fortran ...: ${CMAKE_Fortran_COMPILER} (${CMAKE_Fortran_COMPILER_ID})")
message(" version .....: ${COMPILER_Fortran_VERSION}")
endif()
if(MAGMAMORSE_USE_MPI)
if(CHAMELEON_USE_MPI)
message(" Compiler: MPI .......: ${MPI_C_COMPILER}")
message(" compiler flags ......: ${MPI_C_COMPILE_FLAGS}")
endif()
......@@ -50,28 +50,28 @@ message(" CXXFlags ............: ${CMAKE_CXX_FLAGS}")
message(" LDFlags .............: ${CMAKE_C_LINK_FLAGS}")
message(" ")
message(" Implementation paradigm")
message(" CUDA ................: ${MAGMAMORSE_USE_CUDA}")
message(" MPI .................: ${MAGMAMORSE_USE_MPI}")
message(" CUDA ................: ${CHAMELEON_USE_CUDA}")
message(" MPI .................: ${CHAMELEON_USE_MPI}")
message(" ")
message(" Runtime specific")
message(" QUARK ...............: ${MAGMAMORSE_SCHED_QUARK}")
message(" StarPU ..............: ${MAGMAMORSE_SCHED_STARPU}")
message(" FxT .................: ${MAGMAMORSE_USE_FXT}")
message(" QUARK ...............: ${CHAMELEON_SCHED_QUARK}")
message(" StarPU ..............: ${CHAMELEON_SCHED_STARPU}")
message(" FxT .................: ${CHAMELEON_USE_FXT}")
message(" ")
message(" Kernels specific")
message(" BLAS ................: ${BLA_VENDOR}")
message(" MAGMA ...............: ${MAGMAMORSE_USE_MAGMA}")
message(" MAGMA ...............: ${CHAMELEON_USE_MAGMA}")
message(" ")
message(" Simulation mode .....: ${MAGMAMORSE_SIMULATION}")
message(" Simulation mode .....: ${CHAMELEON_SIMULATION}")
message(" ")
message(" Binaries to build")
message(" documentation ........: ${MAGMAMORSE_ENABLE_DOCS}")
message(" example ..............: ${MAGMAMORSE_ENABLE_EXAMPLE}")
message(" testing ..............: ${MAGMAMORSE_ENABLE_TESTING}")
message(" timing ...............: ${MAGMAMORSE_ENABLE_TIMING}")
message(" documentation ........: ${CHAMELEON_ENABLE_DOCS}")
message(" example ..............: ${CHAMELEON_ENABLE_EXAMPLE}")
message(" testing ..............: ${CHAMELEON_ENABLE_TESTING}")
message(" timing ...............: ${CHAMELEON_ENABLE_TIMING}")
message(" ")
message(" Magmamorse dependencies :")
foreach (_dep ${MAGMAMORSE_DEP})
message(" CHAMELEON dependencies :")
foreach (_dep ${CHAMELEON_DEP})
message(" ${_dep}")
endforeach ()
message(" ")
......
......@@ -47,7 +47,7 @@
# License text for the above reference.)
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
option(BLAS_VERBOSE "Print some additional information during BLAS
libraries detection" OFF)
......
......@@ -32,7 +32,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# add a cache variable to let the user specify the BLAS vendor
......
......@@ -41,7 +41,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# CBLAS depends on BLAS
......
......@@ -33,7 +33,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# Optionally use pkg-config to detect include/library dirs (if pkg-config is available)
......
......@@ -33,7 +33,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# Optionally use pkg-config to detect include/library dirs (if pkg-config is available)
......
......@@ -44,7 +44,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
option(LAPACK_VERBOSE "Print some additional information during LAPACK
libraries detection" OFF)
......
......@@ -41,7 +41,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# LAPACKE depends on LAPACK
......
......@@ -34,7 +34,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# LAPACKEXT depends on BLASEXT
......
......@@ -34,7 +34,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# MAGMA may depend on CUDA
......
......@@ -35,7 +35,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# Looking for include
......
......@@ -35,7 +35,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# PARMETIS depends on MPI
......
......@@ -35,7 +35,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# PTSCOTCH may depend on MPI and Threads
......
......@@ -35,7 +35,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# QUARK may depend on HWLOC
......
......@@ -35,7 +35,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# SCOTCH may depend on Threads
......
......@@ -35,7 +35,7 @@
# Some macros to print status when search for headers and libs
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of magmamorse
# PrintFindStatus.cmake is in cmake_modules/morse/find directory of chameleon
include(PrintFindStatus)
# used to test a TMG function after
......
......@@ -436,7 +436,7 @@ subs = {
('strsm', 'dtrsm', 'ctrsm', 'ztrsm' ),
('strsv', 'dtrsv', 'ctrsv', 'ztrsv' ),
# ADD FOR NEW VERSION OF MAGMA_MORSE
# ADD FOR NEW VERSION OF CHAMELEON
('sgeadd', 'dgeadd', 'cgeadd', 'zgeadd' ),
('shbcpy', 'dhbcpy', 'chbcpy', 'zhbcpy' ),
('ssyrbt', 'dsyrbt', 'cherbt', 'zherbt' ),
......
......@@ -29,7 +29,7 @@
# Define the list of sources
# --------------------------
set(MAGMAMORSE_CONTROL
set(CHAMELEON_CONTROL
../control/async.c
../control/auxiliary.c
../control/context.c
......@@ -42,13 +42,13 @@ set(MAGMAMORSE_CONTROL
# ../control/morsewinthread.c
)
foreach(_prec ${MAGMAMORSE_PRECISION})
foreach(_prec ${CHAMELEON_PRECISION})
set_source_files_properties(../control/tile.c PROPERTIES COMPILE_FLAGS "-DPRECISION_${_prec}")
endforeach()
# Generate the morse sources for all possible precisions
# ------------------------------------------------------
set(MAGMAMORSE_SRCS_GENERATED "")
set(CHAMELEON_SRCS_GENERATED "")
set(ZSRC
##################
# BLAS 3
......@@ -197,8 +197,8 @@ set(ZSRC
ztile.c
)
precisions_rules_py(MAGMAMORSE_SRCS_GENERATED "${ZSRC}"
PRECISIONS "${MAGMAMORSE_PRECISION}")
precisions_rules_py(CHAMELEON_SRCS_GENERATED "${ZSRC}"
PRECISIONS "${CHAMELEON_PRECISION}")
set(CONTROL_SRCS_GENERATED "")
set(ZSRC
......@@ -207,51 +207,51 @@ set(ZSRC
)
precisions_rules_py(CONTROL_SRCS_GENERATED "${ZSRC}"
PRECISIONS "${MAGMAMORSE_PRECISION}"
PRECISIONS "${CHAMELEON_PRECISION}"
TARGETDIR "control" )
set(MAGMAMORSE_SRCS
${MAGMAMORSE_CONTROL}
${MAGMAMORSE_SRCS_GENERATED}
set(CHAMELEON_SRCS
${CHAMELEON_CONTROL}
${CHAMELEON_SRCS_GENERATED}
${CONTROL_SRCS_GENERATED}
)
# Generate the morse fortran sources for all possible precisions
# --------------------------------------------------------------
if(HAVE_ISO_C_BINDING)
set(MAGMAMORSE_SRCS_F_GENERATED "")
set(CHAMELEON_SRCS_F_GENERATED "")
set(ZSRCF
../control/morse_zcf90.F90
../control/morse_zf90.F90
../control/morse_zf90_wrappers.F90
)
precisions_rules_py(MAGMAMORSE_SRCS_F_GENERATED "${ZSRCF}"
PRECISIONS "${MAGMAMORSE_PRECISION}"
precisions_rules_py(CHAMELEON_SRCS_F_GENERATED "${ZSRCF}"
PRECISIONS "${CHAMELEON_PRECISION}"
TARGETDIR "control" )
set(MAGMAMORSE_SRCSF
set(CHAMELEON_SRCSF
../control/morse_f90.f90
${MAGMAMORSE_SRCS_F_GENERATED}
${CHAMELEON_SRCS_F_GENERATED}
)
endif(HAVE_ISO_C_BINDING)
# Compile step
# ------------
add_library(magmamorse ${MAGMAMORSE_SRCS} ${MAGMAMORSE_SRCSF})
add_library(chameleon ${CHAMELEON_SRCS} ${CHAMELEON_SRCSF})
add_dependencies(magmamorse
magmamorse_include
add_dependencies(chameleon
chameleon_include
coreblas_include
control_include
runtime_starpu_include
)
set_property(TARGET magmamorse PROPERTY LINKER_LANGUAGE Fortran)
set_property(TARGET magmamorse PROPERTY Fortran_MODULE_DIRECTORY "${CMAKE_BINARY_DIR}/include")
set_property(TARGET chameleon PROPERTY LINKER_LANGUAGE Fortran)
set_property(TARGET chameleon PROPERTY Fortran_MODULE_DIRECTORY "${CMAKE_BINARY_DIR}/include")
# installation
# ------------
install(TARGETS magmamorse
install(TARGETS chameleon
DESTINATION lib)
###
......
......@@ -32,7 +32,7 @@
#define A(m,n) A, m, n
#define T(m,n) T, m, n
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
#define DIAG(k) DIAG, k, 0
#else
#define DIAG(k) A, k, k
......@@ -76,7 +76,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T,
ws_worker = A->nb * (ib+1);
/* Allocation of temporary (scratch) working space */
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
/* necessary to use UNMLQ on GPU */
DIAG = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t));
morse_zdesc_alloc2(*DIAG, A->mb, A->nb, (minMT-1)*A->mb, A->nb, 0, 0, (minMT-1)*A->mb, A->nb);
......@@ -113,7 +113,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T,
tempkm, tempkn, ib, T->nb,
A(k, k), ldak,
T(k, k), T->mb);
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
if ( k < (A->mt-1) ) {
MORSE_TASK_zlacpy(
&options,
......@@ -164,7 +164,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T,
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_dataflush_all();
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
morse_desc_mat_free(DIAG);
free(DIAG);
#endif
......
......@@ -36,7 +36,7 @@
#define A(m,n) A, (m), (n)
#define T(m,n) T, (m), (n)
#define T2(m,n) T, (m), (n)+A->nt
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
#define DIAG(m,n) DIAG, ((n)/BS), 0
#else
#define DIAG(m,n) A, (m), (n)
......@@ -77,7 +77,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
ws_worker = A->nb * (ib+1);
/* Allocation of temporary (scratch) working space */
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
{
/* necessary to use UNMLQ on GPU */
int nblk = ( A->nt + BS -1 ) / BS;
......@@ -119,7 +119,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
tempkm, tempNn, ib, T->nb,
A(k, N), ldak,
T(k, N), T->mb);
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
if ( k < (A->mt-1) ) {
MORSE_TASK_zlacpy(
&options,
......@@ -196,7 +196,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_dataflush_all();
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
morse_desc_mat_free(DIAG);
free(DIAG);
#endif
......
......@@ -32,7 +32,7 @@
#define A(m,n) A, m, n
#define T(m,n) T, m, n
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
#define DIAG(k) DIAG, k, 0
#else
#define DIAG(k) A, k, k
......@@ -71,7 +71,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T,
ws_worker = A->nb * (ib+1);
/* Allocation of temporary (scratch) working space */
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
/* necessary to use UNMQR on GPU */
DIAG = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t));
morse_zdesc_alloc2(*DIAG, A->mb, A->nb, min(A->m, A->n), A->nb, 0, 0, min(A->m, A->n), A->nb);
......@@ -108,7 +108,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T,
tempkm, tempkn, ib, T->nb,
A(k, k), ldak,
T(k, k), T->mb);
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)
if ( k < (A->nt-1) ) {
MORSE_TASK_zlacpy(
&options,
......@@ -158,7 +158,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T,
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_dataflush_all();
#if defined(MAGMAMORSE_USE_MAGMA)
#if defined(CHAMELEON_USE_MAGMA)