diff --git a/.gitlab/preliminary.yml b/.gitlab/preliminary.yml index bc1ba9132a9ce128b76759a300317f22e6d1d9c6..cdaf474b6f30b5ac44cc2c5fbd1d30eeea837557 100644 --- a/.gitlab/preliminary.yml +++ b/.gitlab/preliminary.yml @@ -4,10 +4,7 @@ --- preliminary_checks: stage: pre - interruptible: true - rules: - - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^ci-.*$/) && $CI_PIPELINE_SOURCE != "schedule" - - if: ($CI_PIPELINE_SOURCE == "merge_request_event") + extends: .only-mr parallel: matrix: - TEST: [rebase, draft, header] diff --git a/.gitlab/validate.sh b/.gitlab/validate.sh index daf827c2c82b2705dfca38e94b15e2a7ac6b3dc6..201fc52c94f173c55d7f6fbe1c6ea7cbf63c91a8 100755 --- a/.gitlab/validate.sh +++ b/.gitlab/validate.sh @@ -5,7 +5,7 @@ # @copyright 2023-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, # Univ. Bordeaux. All rights reserved. # -# @version 1.0.0 +# @version 1.2.0 # @author Mathieu Faverge # @author Florent Pruvost # @date 2023-09-22 @@ -34,8 +34,9 @@ if [[ -z $SONARQUBE_LOGIN ]]; then fi if [[ $METRIC == "BUG" ]]; then - BUG=`curl -u $TOKEN: -X GET "https://sonarqube.inria.fr/sonarqube/api/measures/component?component=${CI_PROJECT_NAMESPACE}%3A${CI_PROJECT_NAME}&pullRequest=${CI_MERGE_REQUEST_IID}&metricKeys=new_bugs" |jq '.component.measures[0].period.value' | sed -e "s#\"##g"` - if [[ $BUG > 0 ]]; then + BUG=`curl -u $SONARQUBE_LOGIN: -X GET "https://sonarqube.inria.fr/sonarqube/api/measures/component?component=${CI_PROJECT_NAMESPACE}%3A${CI_PROJECT_NAME}&pullRequest=${CI_MERGE_REQUEST_IID}&metricKeys=new_bugs" |jq '.component.measures[0].period.value' | sed -e "s#\"##g"` + echo "BUG=$BUG" + if [[ $BUG -gt 0 ]]; then echo "%{BUG} new bugs detected by Sonarqube -> Failure." exit 1 else @@ -43,11 +44,12 @@ if [[ $METRIC == "BUG" ]]; then exit 0 fi elif [[ $METRIC == "COVERAGE" ]]; then - COV=`curl -u $TOKEN: -X GET "https://sonarqube.inria.fr/sonarqube/api/measures/component?component=${CI_PROJECT_NAMESPACE}%3A${CI_PROJECT_NAME}&pullRequest=${CI_MERGE_REQUEST_IID}&metricKeys=new_coverage" |jq '.component.measures[0].period.value' | sed -e "s#\"##g"` + COV=`curl -u $SONARQUBE_LOGIN: -X GET "https://sonarqube.inria.fr/sonarqube/api/measures/component?component=${CI_PROJECT_NAMESPACE}%3A${CI_PROJECT_NAME}&pullRequest=${CI_MERGE_REQUEST_IID}&metricKeys=new_coverage" |jq '.component.measures[0].period.value' | sed -e "s#\"##g" | cut -d "." -f 1` + echo "COV=$COV" if [[ $COV == "null" || -z $COV ]]; then echo "Coverage is empty, certainly that there are no lines of new code (considered during the analysis) to compare -> Success." else - if [[ $COV < 80 ]]; then + if [[ $COV -lt 80 ]]; then echo "Coverage on new lines is ${COV}%, which is < 80% -> Failure." exit 1 else diff --git a/README.org b/README.org index 2907869a6a40f351bfa073e37ddbf829b9b7240c..0cb68609c6a3c7cdac53a53c10991f8eadc30024 100644 --- a/README.org +++ b/README.org @@ -3,16 +3,9 @@ #+OPTIONS: H:3 num:t \n:nil @:t ::t |:t _:nil ^:nil -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil pri:nil tags:not-in-toc html-style:nil -# gitlab-ci pipeline badge -#+HTML:<a href="https://gitlab.inria.fr/solverstack/chameleon/commits/master"><img alt="pipeline status"src="https://gitlab.inria.fr/solverstack/chameleon/badges/master/pipeline.svg"/></a> - -# Coverity badge -#+HTML:<a href="https://scan.coverity.com/projects/chameleon"><img alt="Coverity Scan Build Status"src="https://scan.coverity.com/projects/10590/badge.svg"/></a> - Chameleon is a C library providing parallel algorithms to perform BLAS/LAPACK operations exploiting fully modern architectures. - * Get Chameleon To use last development states of Chameleon, please clone the master diff --git a/doc/user/chapters/using.org b/doc/user/chapters/using.org index 1b69490f67dea9c1a741293df59f176731c2fcfb..490a90268ad41b174f30af60e20cfc0ae2caed55 100644 --- a/doc/user/chapters/using.org +++ b/doc/user/chapters/using.org @@ -111,7 +111,7 @@ **** Execution trace using EZTrace <<sec:trace_ezt>> - [[http://eztrace.gforge.inria.fr/support.html][EZTrace]] can be used by chameleon to generate traces. Two modules + [[https://eztrace.gitlab.io/eztrace/][EZTrace]] can be used by chameleon to generate traces. Two modules are automatically generated as soon as EZTrace is detected on the system. The first one (which is recommended) is the ~chameleon_tcore~ module. It traces all the ~TCORE_...()~ functions @@ -170,7 +170,7 @@ vite eztrace_output.trace #+end_src - For more information on EZTrace, you can follow the [[http://eztrace.gforge.inria.fr/support.html][support page]]. + For more information on EZTrace, you can follow the [[https://eztrace.gitlab.io/eztrace/][support page]]. **** Execution trace using StarPU/FxT <<sec:trace_fxt>> @@ -178,10 +178,15 @@ StarPU can generate its own trace log files by compiling it with the ~--with-fxt~ option at the configure step (you can have to specify the directory where you installed FxT by giving - ~--with-fxt=...~ instead of ~--with-fxt~ alone). By doing so, traces - are generated after each execution of a program which uses StarPU - in the directory pointed by the [[http://starpu.gforge.inria.fr/doc/html/ExecutionConfigurationThroughEnvironmentVariables.html][STARPU_FXT_PREFIX]] environment - variable. + ~--with-fxt=...~ instead of ~--with-fxt~ alone). In addition, the + environment variable STARPU_FXT_TRACE must be set to 1. + #+begin_example + export STARPU_FXT_TRACE=1 + #+end_example + By doing so, traces are generated after each execution of a program which + uses StarPU in the directory pointed by the + [[https://files.inria.fr/starpu/doc/html/ExecutionConfigurationThroughEnvironmentVariables.html][STARPU_FXT_PREFIX]] + environment variable (if not set the default path is /tmp/). #+begin_example export STARPU_FXT_PREFIX=/home/jdoe/fxt_files/ #+end_example @@ -189,7 +194,9 @@ enabled (StarPU compiled with FxT), the program will generate trace files in the directory $STARPU_FXT_PREFIX. - Finally, to generate the trace file which can be opened with [[http://vite.gforge.inria.fr/][Vite]] + To save only some specific types of events the variable [[https://files.inria.fr/starpu/doc/html/ExecutionConfigurationThroughEnvironmentVariables.html][STARPU_FXT_EVENTS]]. + + Finally, to generate the trace file which can be opened with [[https://gitlab.inria.fr/solverstack/vite][Vite]] program, you can use the *starpu_fxt_tool* executable of StarPU. This tool should be in the bin directory of StarPU's installation. You can use it to generate the trace file like this: diff --git a/hqr b/hqr index 46117aee1e9a16c0da17224b8c7aa4e3213291e8..7c1e401caa46db55f1fc99f7076d1cb9874fc0e4 160000 --- a/hqr +++ b/hqr @@ -1 +1 @@ -Subproject commit 46117aee1e9a16c0da17224b8c7aa4e3213291e8 +Subproject commit 7c1e401caa46db55f1fc99f7076d1cb9874fc0e4 diff --git a/tools/analysis.sh b/tools/analysis.sh index e8b21d8dafeae7c290d0bc18e99ef3fca5684a69..6262a2cd104c04fb1854e0f4c66bcfa03bb23300 100755 --- a/tools/analysis.sh +++ b/tools/analysis.sh @@ -73,7 +73,7 @@ sonar.cxx.errorRecoveryEnabled=true sonar.cxx.gcc.encoding=UTF-8 sonar.cxx.gcc.regex=(?<file>.*):(?<line>[0-9]+):[0-9]+:\\\x20warning:\\\x20(?<message>.*)\\\x20\\\[(?<id>.*)\\\] sonar.cxx.gcc.reportPaths=chameleon_build.log -sonar.cxx.xunit.reportPaths=*.junit +sonar.cxx.xunit.reportPaths=*junit.xml sonar.cxx.cobertura.reportPaths=chameleon_coverage.xml sonar.cxx.cppcheck.reportPaths=chameleon_cppcheck.xml sonar.cxx.clangsa.reportPaths=build-openmp/analyzer_reports/*/*.plist, build-parsec/analyzer_reports/*/*.plist, build-quark/analyzer_reports/*/*.plist, build-starpu/analyzer_reports/*/*.plist, build-starpu_simgrid/analyzer_reports/*/*.plist