diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 17720a1d66083f281ead22efce83ab05ddcefda4..4e40b9299c6acc1435feb1e0172cb29dfb847240 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ stages: - module load py-pip - module load boost - module load openblas + - module load everybeam # --------- Precheck: Code formatting ---------- format: @@ -39,13 +40,19 @@ build-docker: extends: - .in-docker script: + - apt-get install -y libhdf5-dev + - git clone https://git.astron.nl/RD/EveryBeam.git + - cmake -B EveryBeam/build EveryBeam -DCMAKE_BUILD_TYPE=RelWithDebInfo + - make -C EveryBeam/build + - make -C EveryBeam/build install + - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -B build . - make -C build artifacts: paths: - build/ expire_in: 1 week - + build-das6: stage: build extends: .in-das6 @@ -101,30 +108,30 @@ test: test-das6: stage: test extends: .in-das6 - dependencies: + dependencies: - build-das6 tags: - das6-gpu script: - - cd build + - cd build - ctest -T test --output-on-failure -performance: # This job runs in the test stage. +performance: # This job runs in the test stage. parallel: matrix: - COMPILER_VERSION: - - 12.2.0 + - 12.2.0 ARCHITECTURE: - - zen2 - - haswell + - zen2 + - haswell tags: - das6-gpu - stage: benchmark # It only starts when the job in the build stage completes successfully. + stage: benchmark # It only starts when the job in the build stage completes successfully. script: - sbatch --wait -C ${ARCHITECTURE} -o output.txt -e error.txt ci/das6/compile_and_run.sh ${ARCHITECTURE} ${COMPILER_VERSION} - cat output.txt >&1 - cat error.txt >&2 - + artifacts: paths: - ./results*.json @@ -138,24 +145,19 @@ performance: # This job runs in the test stage. collect-performance: stage: summarize dependencies: - - performance + - performance needs: - - performance + - performance extends: .in-docker artifacts: paths: - ./results*.json - ./result*.png script: - - ls -la - - python3 ci/summarize-results.py --filter PredictBenchmark/PointSource results*.json result-summary-pointsource - - python3 ci/summarize-results.py --filter PredictBenchmark/GaussianSource results*.json result-summary-gaussian - - python3 ci/summarize-results.py --filter DirectionsBenchmark/Directions results*.json result-summary-directions - - python3 ci/summarize-results.py --filter PhasesBenchmark/ComputePhases results*.json result-summary-phases - - python3 ci/summarize-results.py --filter SpectrumBenchmark/Spectrum results*.json result-summary-spectrum - - python3 ci/summarize-results.py --filter SmearTermsBenchmark/SmearTermBenchmark results*.json result-summary-smearterms - - - - - + - ls -la + - python3 ci/summarize-results.py --filter PredictBenchmark/PointSource results*.json result-summary-pointsource + - python3 ci/summarize-results.py --filter PredictBenchmark/GaussianSource results*.json result-summary-gaussian + - python3 ci/summarize-results.py --filter DirectionsBenchmark/Directions results*.json result-summary-directions + - python3 ci/summarize-results.py --filter PhasesBenchmark/ComputePhases results*.json result-summary-phases + - python3 ci/summarize-results.py --filter SpectrumBenchmark/Spectrum results*.json result-summary-spectrum + - python3 ci/summarize-results.py --filter SmearTermsBenchmark/SmearTermBenchmark results*.json result-summary-smearterms