Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
AGULLO Emmanuel
Chameleon
Commits
98722214
Commit
98722214
authored
Oct 12, 2017
by
Mathieu Faverge
Browse files
Merge branch 'issue53/fix-ci' into 'master'
Issue53/fix ci Closes #53 See merge request !68
parents
f2009582
91ad62cb
Changes
18
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
98722214
image
:
hpclib/hiepacs
starpu
:
stages
:
-
build
-
test
-
analysis
-
doc
build_starpu_cuda_mpi
:
stage
:
build
artifacts
:
name
:
starpu_cuda_mpi_build
expire_in
:
48 hours
paths
:
-
build
-
chameleon-build-starpu.log
script
:
-
source .gitlab-ci-env.sh
-
git submodule update --init --recursive
-
mkdir -p build
-
cd build
-
cmake ..
-
make -j2
-
ctest -R test_shm_s
-
cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=$PWD/install
-
make -j2
-
ctest -V -R mpi_s
-
cmake .. -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
-
make -j2 | tee ../chameleon-build-starpu.log
-
make install | tee -a ../chameleon-build-starpu.log && rm install/ -r
starpu-simgrid
:
build_starpu_simgrid
:
stage
:
build
artifacts
:
name
:
starpu_simgrid_build
expire_in
:
48 hours
paths
:
-
build
-
chameleon-build-starpu-simgrid.log
script
:
-
source .gitlab-ci-env.sh simu
-
git submodule update --init --recursive
-
mkdir -p build
-
cd build
-
cmake .. -DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF
-
make -j2
-
ctest
-
V
-
cmake .. -DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF
-DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
-
make -j2
| tee ../chameleon-build-starpu-simgrid.log
-
make install | tee -a ../chameleon-build-starpu-simgrid.log && rm install/
-
r
quark
:
build_quark
:
stage
:
build
artifacts
:
name
:
quark_build
expire_in
:
48 hours
paths
:
-
build
-
chameleon-build-quark.log
script
:
-
source .gitlab-ci-env.sh
-
git submodule update --init --recursive
-
mkdir -p build
-
cd build
-
cmake .. -DCHAMELEON_SCHED_QUARK=ON
-
make -j2
-
ctest -V -R test_shm_s
-
cmake ..
-DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
-DCHAMELEON_SCHED_QUARK=ON
-
make -j2
| tee ../chameleon-build-quark.log
-
make install | tee -a ../chameleon-build-quark.log && rm install/ -r
doc
:
test_starpu_mpi
:
stage
:
test
dependencies
:
-
build_starpu_cuda_mpi
artifacts
:
name
:
chameleon_doc
expire_in
:
1 week
name
:
starpu_mpi_test
expire_in
:
48 hours
paths
:
-
build/doc/doxygen
-
build/doc/orgmode
-
chameleon_starpu_mpi.lcov
script
:
-
source .gitlab-ci-env.sh
-
git submodule update --init --recursive
-
mkdir -p build
-
cd build
-
cmake .. -DCHAMELEON_ENABLE_DOC=ON -DCHAMELEON_ENABLE_EXAMPLE=OFF -DCHAMELEON_ENABLE_TESTING=OFF -DCHAMELEON_ENABLE_TIMING=OFF
-
make doc
-
(cd build && STARPU_SILENT=1 ctest --no-compress-output -R test_shm_s || /usr/bin/true && ctest --no-compress-output -R mpi_s || /usr/bin/true)
-
lcov --directory build --capture --output-file chameleon_starpu_mpi.lcov
test_starpu_simgrid
:
stage
:
test
dependencies
:
-
build_starpu_simgrid
artifacts
:
name
:
starpu_simgrid_test
expire_in
:
48 hours
paths
:
-
chameleon_starpu_simgrid.lcov
script
:
-
source .gitlab-ci-env.sh simu
-
git submodule update --init --recursive
-
(cd build && STARPU_SILENT=1 ctest --no-compress-output -V || /usr/bin/true)
-
lcov --directory build --capture --output-file chameleon_starpu_simgrid.lcov
test_quark
:
stage
:
test
dependencies
:
-
build_quark
artifacts
:
name
:
quark_test
expire_in
:
48 hours
paths
:
-
chameleon_quark.lcov
script
:
-
source .gitlab-ci-env.sh
-
git submodule update --init --recursive
-
(cd build && ctest --no-compress-output -R test_shm_s)
-
lcov --directory build --capture --output-file chameleon_quark.lcov
analysis
:
sonar
:
stage
:
analysis
dependencies
:
-
build_starpu_cuda_mpi
-
build_starpu_simgrid
-
build_quark
-
test_starpu_mpi
-
test_starpu_simgrid
-
test_quark
artifacts
:
name
:
chameleon_analysis
expire_in
:
1 week
paths
:
-
chameleon-build.log
-
coverage/
-
chameleon-coverage.xml
-
chameleon-cppcheck.xml
-
chameleon-rats.xml
-
sonar.log
script
:
-
source .gitlab-ci-env.sh
-
git submodule update --init --recursive
-
lcov -a $PWD/chameleon_starpu_mpi.lcov -a $PWD/chameleon_starpu_simgrid.lcov -a $PWD/chameleon_quark.lcov -o $PWD/chameleon.lcov
-
lcov_cobertura.py chameleon.lcov --output chameleon-coverage.xml
-
./tools/analysis.sh
only
:
-
master
-
master@solverstack/chameleon
doc
:
stage
:
doc
artifacts
:
name
:
chameleon_doc
expire_in
:
1 week
paths
:
-
build/doc/doxygen
-
build/doc/orgmode
script
:
-
source .gitlab-ci-env.sh
-
git submodule update --init --recursive
-
mkdir -p build
-
cd build
-
cmake .. -DCHAMELEON_ENABLE_DOC=ON
-
make doc
only
:
-
master@solverstack/chameleon
CMakeLists.txt
View file @
98722214
...
...
@@ -999,6 +999,8 @@ list(REMOVE_DUPLICATES CHAMELEON_DEP) # WARNING: is it safe, respect order?
# Check for the subdirectories
# ----------------------------
set
(
CHAMELEON_SOURCES_TARGETS
""
CACHE INTERNAL
"List of targets of sources"
)
# include headers
# ---------------
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
)
...
...
@@ -1073,6 +1075,9 @@ if(CHAMELEON_ENABLE_TIMING)
endif
(
CHAMELEON_ENABLE_TIMING
)
#------------------------------------------------------------------------------
# Define a target which gathers all targets of sources
# useful for generating the doc without compiling the binaries (objects, libraries)
add_custom_target
(
chameleon_all_sources ALL DEPENDS
${
CHAMELEON_SOURCES_TARGETS
}
)
###############################################################################
# Documentation #
...
...
morse_cmake
@
82511e1d
Compare
6acb22e9
...
82511e1d
Subproject commit
6acb22e9e8d3ebe89bfe25e1102f77a339fbed06
Subproject commit
82511e1de255b999e04cf42d4940553bb1d1eac4
compute/CMakeLists.txt
View file @
98722214
...
...
@@ -282,6 +282,11 @@ if(HAVE_ISO_C_BINDING)
)
endif
(
HAVE_ISO_C_BINDING
)
# Force generation of sources
# ---------------------------
add_custom_target
(
chameleon_sources ALL SOURCES
"
${
CHAMELEON_SRCS
}
;
${
CHAMELEON_SRCSF
}
"
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;chameleon_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Compile step
# ------------
add_library
(
chameleon
${
CHAMELEON_SRCS
}
${
CHAMELEON_SRCSF
}
)
...
...
control/CMakeLists.txt
View file @
98722214
...
...
@@ -64,7 +64,7 @@ list(APPEND CHAMELEON_HDRS ${CHAMELEON_HDRS_GENERATED})
# Force generation of headers
# ---------------------------
add_custom_target
(
control_include ALL SOURCES
${
CHAMELEON_HDRS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;control_include"
CACHE INTERNAL
"List of targets of sources"
)
# installation
# ------------
...
...
coreblas/compute/CMakeLists.txt
View file @
98722214
...
...
@@ -28,6 +28,7 @@
# Generate the morse sources for all possible precisions
# ------------------------------------------------------
set
(
COREBLAS_SRCS_GENERATED
""
)
set
(
ZSRC
core_dzasum.c
...
...
@@ -104,6 +105,11 @@ set(COREBLAS_SRCS
${
COREBLAS_SRCS_GENERATED
}
)
# Force generation of sources
# ---------------------------
add_custom_target
(
coreblas_sources ALL SOURCES
${
COREBLAS_SRCS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;coreblas_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Compile step
# ------------
add_library
(
coreblas
${
COREBLAS_SRCS
}
)
...
...
coreblas/include/CMakeLists.txt
View file @
98722214
...
...
@@ -57,6 +57,7 @@ endforeach()
# Force generation of headers
# ---------------------------
add_custom_target
(
coreblas_include ALL SOURCES
${
COREBLAS_HDRS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;coreblas_include"
CACHE INTERNAL
"List of targets of sources"
)
# Installation
# ------------
...
...
cudablas/compute/CMakeLists.txt
View file @
98722214
...
...
@@ -88,6 +88,11 @@ if (CHAMELEON_USE_CUBLAS_V2)
)
endif
(
CHAMELEON_USE_CUBLAS_V2
)
# Force generation of sources
# ---------------------------
add_custom_target
(
cudablas_sources ALL SOURCES
${
CUDABLAS_SRCS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;cudablas_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Compile step
# ------------
add_library
(
cudablas
${
CUDABLAS_SRCS
}
)
...
...
cudablas/include/CMakeLists.txt
View file @
98722214
...
...
@@ -49,6 +49,7 @@ endforeach()
# Force generation of headers
# ---------------------------
add_custom_target
(
cudablas_include ALL SOURCES
${
CUDABLAS_HDRS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;cudablas_include"
CACHE INTERNAL
"List of targets of sources"
)
# Installation
# ------------
...
...
doc/doxygen/CMakeLists.txt
View file @
98722214
...
...
@@ -77,7 +77,7 @@ if(DOXYGEN_EXECUTABLE)
add_custom_target
(
doxygen-out ALL
DEPENDS
${
CMAKE_CURRENT_BINARY_DIR
}
/out-dev
#${CMAKE_CURRENT_BINARY_DIR}/out-usr
chameleon
chameleon
_all_sources
)
# Installation for html version
...
...
doc/orgmode/CMakeLists.txt
View file @
98722214
...
...
@@ -83,8 +83,8 @@ if(EMACS_COMPILER)
DEPENDS
${
CMAKE_CURRENT_BINARY_DIR
}
/users_guide.org
${
CMAKE_CURRENT_BINARY_DIR
}
/version.org
)
add_custom_target
(
doc-html-users_guide ALL DEPENDS users_guide.html
chameleon
)
add_custom_target
(
doc-pdf-users_guide ALL DEPENDS users_guide.pdf
chameleon
)
add_custom_target
(
doc-html-users_guide ALL DEPENDS users_guide.html
)
add_custom_target
(
doc-pdf-users_guide ALL DEPENDS users_guide.pdf
)
# Installation
# ------------
...
...
include/CMakeLists.txt
View file @
98722214
...
...
@@ -69,6 +69,7 @@ endforeach()
# ---------------------------
add_custom_target
(
chameleon_include
ALL SOURCES morse.h
${
CHAMELEON_HDRS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;chameleon_include"
CACHE INTERNAL
"List of targets of sources"
)
# Installation
# ------------
...
...
runtime/parsec/CMakeLists.txt
View file @
98722214
...
...
@@ -105,6 +105,11 @@ set(RUNTIME_SRCS
${
RUNTIME_SRCS_GENERATED
}
)
# Force generation of sources
# ---------------------------
add_custom_target
(
parsec_sources ALL SOURCES
${
RUNTIME_SRCS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;runtime_parsec_include;parsec_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Add library
# -----------
add_library
(
chameleon_parsec
${
RUNTIME_SRCS
}
)
...
...
runtime/quark/CMakeLists.txt
View file @
98722214
...
...
@@ -106,6 +106,11 @@ set(RUNTIME_SRCS
${
RUNTIME_SRCS_GENERATED
}
)
# Force generation of sources
# ---------------------------
add_custom_target
(
quark_sources ALL SOURCES
${
RUNTIME_SRCS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;runtime_quark_include;quark_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Add library
# -----------
add_library
(
chameleon_quark
${
RUNTIME_SRCS
}
)
...
...
runtime/starpu/CMakeLists.txt
View file @
98722214
...
...
@@ -122,6 +122,11 @@ set(RUNTIME_SRCS
${
RUNTIME_SRCS_GENERATED
}
)
# Force generation of sources
# ---------------------------
add_custom_target
(
starpu_sources ALL SOURCES
${
RUNTIME_SRCS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;runtime_starpu_include;starpu_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Add library
# -----------
add_library
(
chameleon_starpu
${
RUNTIME_SRCS
}
)
...
...
testing/CMakeLists.txt
View file @
98722214
...
...
@@ -44,6 +44,7 @@ precisions_rules_py(TESTING_HDRS_GENERATED "${ZHDR}"
PRECISIONS
"s;d;c;z;ds;zc"
)
add_custom_target
(
testing_include ALL SOURCES
${
TESTING_HDRS_GENERATED
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;testing_include"
CACHE INTERNAL
"List of targets of sources"
)
# Generate morse testing sources for all possible precisions
# ----------------------------------------------------------
...
...
@@ -168,6 +169,15 @@ foreach(_precision ${CHAMELEON_PRECISION} )
endforeach
()
# Force generation of sources
# ---------------------------
set
(
TESTING_SRCS
)
foreach
(
_precision
${
CHAMELEON_PRECISION
}
)
list
(
APPEND TESTING_SRCS
${${
_precision
}
SRC_GENERATED
}
)
endforeach
()
add_custom_target
(
testing_sources ALL SOURCES
${
TESTING_SRCS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;testing_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Copy python scripts to use test drivers
# ---------------------------------------
# Copy launcher
...
...
timing/CMakeLists.txt
View file @
98722214
...
...
@@ -45,6 +45,7 @@ set(TIMING_AUX_HDRS
# Force generation of headers
# ---------------------------
add_custom_target
(
timing_include ALL SOURCES
${
TIMING_AUX_HDRS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;timing_include"
CACHE INTERNAL
"List of targets of sources"
)
if
(
NOT CHAMELEON_SIMULATION
)
# Generate the morse auxiliary sources for all possible precisions
...
...
@@ -57,9 +58,7 @@ if (NOT CHAMELEON_SIMULATION)
precisions_rules_py
(
TIMING_AUX_SRCS_GENERATED
"
${
ZSRC
}
"
PRECISIONS
"
${
CHAMELEON_PRECISION
}
"
)
set
(
TIMING_SRCS
${
TIMING_AUX_SRCS_GENERATED
}
)
set
(
TIMING_SRCS
${
TIMING_AUX_SRCS_GENERATED
}
)
# Create libchameleon_timing.a
# -----------------------------
...
...
@@ -150,6 +149,11 @@ endif(NOT CHAMELEON_SIMULATION)
precisions_rules_py
(
TIMINGS
"
${
ZSRC
}
"
PRECISIONS
"
${
CHAMELEON_PRECISION
}
"
)
# Force generation of sources
# ---------------------------
add_custom_target
(
timing_sources ALL SOURCES
${
TIMINGS
}
)
set
(
CHAMELEON_SOURCES_TARGETS
"
${
CHAMELEON_SOURCES_TARGETS
}
;timing_sources"
CACHE INTERNAL
"List of targets of sources"
)
# Add include and link directories
# --------------------------------
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
)
...
...
tools/analysis.sh
View file @
98722214
#!/bin/bash
# Performs an analysis of Chameleon source code
# We consider to be in Chameleon's source code root
# build with proper options
mkdir
-p
build
cd
build
rm
*
-rf
cmake ..
-DCHAMELEON_USE_MPI
=
ON
-DCMAKE_INSTALL_PREFIX
=
$PWD
/install
-DCMAKE_VERBOSE_MAKEFILE
=
ON
-DMORSE_ENABLE_WARNING
=
ON
-DMORSE_ENABLE_COVERAGE
=
ON
make
-j5
|
tee
../chameleon-build.log
# run tests
STARPU_SILENT
=
1 ctest
--no-compress-output
||
/usr/bin/true
# capture coverage
lcov
--directory
.
--capture
--output-file
../chameleon.lcov
cd
..
genhtml
-o
coverage chameleon.lcov
lcov_cobertura.py chameleon.lcov
--output
chameleon-coverage.xml
# Performs an analysis of Chameleon source code:
# - we consider to be in Chameleon's source code root
# - we consider having the coverage file chameleon-coverage.xml in the root directory
# - we consider having cppcheck, rats, sonar-scanner programs available in the environment
# filter sources:
# - consider generated files in build
...
...
@@ -49,7 +35,7 @@ sonar.sourceEncoding=UTF-8
sonar.cxx.compiler.charset=UTF-8
sonar.cxx.compiler.parser=GCC
sonar.cxx.compiler.regex=^(.*):(
\\
d+):
\\
d+: warning: (.*)
\\
[(.*)
\\
]$
sonar.cxx.compiler.reportPath=chameleon-build.log
sonar.cxx.compiler.reportPath=chameleon-build
-starpu-mpi.log, chameleon-build-starpu-cuda.log, chameleon-build-starpu-simgrid.log, chameleon-build-quark
.log
sonar.cxx.coverage.reportPath=chameleon-coverage.xml
sonar.cxx.cppcheck.reportPath=chameleon-cppcheck.xml
sonar.cxx.rats.reportPath=chameleon-rats.xml
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment