From 83d9890a019b8b362c6fb0758c08daf47e7b2d6f Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Thu, 30 Apr 2026 15:38:08 +0200 Subject: [PATCH 01/10] clean unused part of ci --- .gitlab-ci.yml | 117 ---------------------------------------------- .gitlab/image.yml | 6 --- 2 files changed, 123 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a3d41d36437..f6738de745d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -552,22 +552,6 @@ build/icpx202421/gpu/release/shared: ONEAPI_DEVICE_SELECTOR: "level_zero:gpu" MODULE_LOAD: "cmake/3.28.6 intel-oneapi-compilers/2024.2.1 intel-oneapi-dpl/2022.6.1 intel-oneapi-tbb/2021.13.1 intel-oneapi-mkl/2024.2.1" -# TODO: Enable when debug shared library size issues are fixed -# build/dpcpp/level_zero_igpu/debug/shared: -# extends: -# - .build_and_test_template -# - .default_variables -# - .full_test_condition -# - .use_gko-oneapi-gpu -# variables: -# CXX_COMPILER: "dpcpp" -# CXX_FLAGS: "-Wpedantic -ffp-model=precise" -# BUILD_SYCL: "ON" -# BUILD_TYPE: "Debug" -# BUILD_SHARED_LIBS: "ON" -# DPCPP_SINGLE_MODE: "ON" -# ONEAPI_DEVICE_SELECTOR: "level_zero:gpu" - # It gives two available backends of GPU on tests build/dpcpp/gpu/release/shared: extends: @@ -586,46 +570,6 @@ build/dpcpp/gpu/release/shared: ONEAPI_DEVICE_SELECTOR: "*:gpu" BUILD_HWLOC: "OFF" -# windows jobs -# Note that this is using Powershell, not bash -# Disable it now until the server is back -# build/windows-cuda/release/shared: -# extends: -# - .quick_test_condition -# stage: build -# script: -# - if (Test-Path build) { rm -r -fo build } -# - if (Test-Path install) { rm -r -fo install } -# - mkdir build -# - mkdir install -# - nvidia-smi -# - cmake -B build -DBUILD_SHARED_LIBS=ON -DGINKGO_BUILD_CUDA=ON "-DCMAKE_INSTALL_PREFIX=$pwd\install" . -# - cmake --build build --config Release -j16 -# - ctest --test-dir build -C Release --no-tests=error --output-on-failure -# - $env:PATH+=";$pwd/install/bin" -# - cmake --install build --config Release -# - cmake --build build --target test_install --config Release -# tags: -# - windows-cuda - -# build/windows/release/shared: -# extends: -# - .full_test_condition -# stage: build -# script: -# - if (Test-Path build) { rm -r -fo build } -# - if (Test-Path install) { rm -r -fo install } -# - mkdir build -# - mkdir install -# - cmake -B build -DBUILD_SHARED_LIBS=ON -DGINKGO_BUILD_CUDA=OFF "-DCMAKE_INSTALL_PREFIX=$pwd\install" . -# - cmake --build build --config Release -j16 -# - ctest --test-dir build -C Release --no-tests=error --output-on-failure -j16 -# - $env:PATH+=";$pwd/install/bin" -# - cmake --install build --config Release -# - cmake --build build --target test_install --config Release -# tags: -# - windows - # Job with important warnings as error warnings: stage: code_quality @@ -797,22 +741,6 @@ gh-pages: needs: [] -threadsanitizer: - stage: QoS_tools - extends: - - .default_variables - - .deploy_condition - - .before_script_template - - .use_gko-rocm514-nompi-gnu11-llvm11 - - .disable_job_condition - script: - - LD_PRELOAD=/usr/local/lib/libomp.so - CC=clang CXX=clang++ - ctest -V -S cmake/CTestScript.cmake -DCTEST_BUILD_CONFIGURATION=TSAN - -DCTEST_MEMORYCHECK_TYPE=ThreadSanitizer - -DCTEST_MEMORYCHECK_SANITIZER_OPTIONS=ignore_noninstrumented_modules=1 - --timeout 6000 - leaksanitizer: stage: QoS_tools extends: @@ -872,48 +800,3 @@ new-issue-on-failure: - develop - master dependencies: [] - - -## Benchmark SpMV -benchmark-cuda-spmv-build: - extends: - - .build_template - - .default_variables - - .use_gko_cuda114-openmpi-gnu10-llvm12 - - .benchmark-spmv-cuda-rules - - .disable_job_condition - stage: benchmark-build - variables: - BUILD_OMP: "ON" - BUILD_CUDA: "ON" - BUILD_MPI: "ON" - MPI_AS_ROOT: "ON" - BUILD_HIP: "OFF" - BUILD_TYPE: "Release" - CUDA_ARCH: 80 - USE_NAME: "benchmark-cuda-spmv-${CI_PIPELINE_ID}" - KEEP_CONTAINER: "ON" - USE_SLURM: 0 - - -# The name must be of the same as above without `-build` -benchmark-cuda-spmv: - extends: - - .benchmark_template - - .default_variables - - .use_gko_cuda114-openmpi-gnu10-llvm12 - - .benchmark-spmv-cuda-rules - - .disable_job_condition - stage: benchmark-cuda - variables: - BENCHMARK_REPO: git@github.com:ginkgo-project/ginkgo-data.git - USE_NAME: "benchmark-cuda-spmv-${CI_PIPELINE_ID}" - SLURM_PARTITION: "accelerated" - SLURM_GRES: "gpu:1" - SLURM_EXCLUSIVE: "ON" - SLURM_TIME: "4:00:00" - BENCHMARK: "spmv" - EXECUTOR: "cuda" - SYSTEM_NAME: "A100" - dependencies: null - needs: [ "benchmark-cuda-spmv-build" ] diff --git a/.gitlab/image.yml b/.gitlab/image.yml index a609a26fdb5..f80d9b074a4 100644 --- a/.gitlab/image.yml +++ b/.gitlab/image.yml @@ -39,12 +39,6 @@ - nvidia-gpus-p100 - tum -.use_gko-rocm45-nompi-gnu8-llvm8: - image: ginkgohub/rocm:45-mvapich2-gnu8-llvm8 - tags: - - private_ci - - amd-gpu - .use_gko-rocm514-nompi-gnu11-llvm11: image: ginkgohub/rocm:514-openmpi-gnu11-llvm11 tags: From a8030c1d20013af9249114ee97c0bc510a63ccaa Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Thu, 30 Apr 2026 15:59:29 +0200 Subject: [PATCH 02/10] remove unused variable and template --- .gitlab/scripts.yml | 101 -------------------------------------------- 1 file changed, 101 deletions(-) diff --git a/.gitlab/scripts.yml b/.gitlab/scripts.yml index 8a187f85bc0..6a2e3735111 100644 --- a/.gitlab/scripts.yml +++ b/.gitlab/scripts.yml @@ -78,8 +78,6 @@ - if [ -n "${CUDA_ARCH}" ]; then export CUDA_ARCH_STR=-DGINKGO_CUDA_ARCHITECTURES=${CUDA_ARCH}; fi - - if [ -n "${SYCL_DEVICE_TYPE}" ]; then export SYCL_DEVICE_TYPE; fi - - if [ -n "${SYCL_DEVICE_FILTER}" ]; then export SYCL_DEVICE_FILTER; fi - if [ -n "${ONEAPI_DEVICE_SELECTOR}" ]; then export ONEAPI_DEVICE_SELECTOR; fi - if [[ "${MPI_AS_ROOT}" == "ON" ]];then export OMPI_ALLOW_RUN_AS_ROOT=1; @@ -117,8 +115,6 @@ - pushd test/test_install - ninja install - popd - - if [ -n "${SYCL_DEVICE_TYPE}" ]; then unset SYCL_DEVICE_TYPE; fi - - if [ -n "${SYCL_DEVICE_FILTER}" ]; then unset SYCL_DEVICE_FILTER; fi - if [[ "${BUILD_SHARED_LIBS}" == "ON" || "${BUILD_HIP}" != "ON" ]]; then PKG_CONFIG_PATH=${INSTALL_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:$LD_LIBRARY_PATH ninja test_pkgconfig; fi @@ -139,8 +135,6 @@ - if [ -n "${CUDA_ARCH}" ]; then export CUDA_ARCH_STR=-DGINKGO_CUDA_ARCHITECTURES=${CUDA_ARCH}; fi - - if [ -n "${SYCL_DEVICE_TYPE}" ]; then export SYCL_DEVICE_TYPE; fi - - if [ -n "${SYCL_DEVICE_FILTER}" ]; then export SYCL_DEVICE_FILTER; fi - if [ -n "${ONEAPI_DEVICE_SELECTOR}" ]; then export ONEAPI_DEVICE_SELECTOR; fi - if [[ "${MPI_AS_ROOT}" == "ON" ]];then export OMPI_ALLOW_RUN_AS_ROOT=1; @@ -207,102 +201,7 @@ - pushd test/test_install - ninja install - popd - - if [ -n "${SYCL_DEVICE_TYPE}" ]; then unset SYCL_DEVICE_TYPE; fi - - if [ -n "${SYCL_DEVICE_FILTER}" ]; then unset SYCL_DEVICE_FILTER; fi - if [[ "${BUILD_SHARED_LIBS}" == "ON" || "${BUILD_HIP}" != "ON" ]]; then PKG_CONFIG_PATH=${INSTALL_PREFIX}/lib64/pkgconfig:$PKG_CONFIG_PATH LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib64:$LD_LIBRARY_PATH ninja test_pkgconfig; fi dependencies: [] - - -.horeka_test_template: - stage: test - before_script: - # Sanity checks - - if [ -z "${USE_NAME}" ]; then exit 111; fi - - if [ -z "${SLURM_PARTITION}" ]; then exit 222; fi - - if [[ ! "${SLURM_GRES}" =~ "^gpu*" ]]; then export NVIDIA_VISIBLE_DEVICES=void; fi - variables: - GIT_CLEAN_FLAGS: none - script: - # We should be reusing the previous image and build directory. - # Speedup the tests by limiting the number of OMP threads to CI parallelism. - - export OMP_NUM_THREADS=${CI_PARALLELISM} - # The test job should have the name as the image job, only changing - # build to test - - cd ${CI_PROJECT_DIR}${CI_PROJECT_DIR_SUFFIX} - - cd ${CI_JOB_NAME/test/build} - - export INSTALL_PREFIX=`pwd`/install_prefix - - | - (( $(ctest -N | tail -1 | sed 's/Total Tests: //') != 0 )) || exit 1 - - ctest --output-on-failure --timeout 6000 ${CTEST_EXTRA_ARGS} - - ninja test_exportbuild - - ninja test_install - - pushd test/test_install - - ninja install - - popd - - if [[ "${BUILD_SHARED_LIBS}" == "ON" || "${BUILD_HIP}" != "ON" ]]; then - PKG_CONFIG_PATH=${INSTALL_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:$LD_LIBRARY_PATH ninja test_pkgconfig; - fi - cache: [] - - -.horeka_benchmark_before_script_template: - before_script: - # Sanity checks - - if [ -z "${USE_NAME}" ]; then exit 111; fi - - if [ -z "${SLURM_PARTITION}" ]; then exit 222; fi - - if [[ ! "${SLURM_GRES}" =~ "^gpu*" ]]; then export NVIDIA_VISIBLE_DEVICES=void; fi - - if [[ -z "${EXECUTOR}" ]]; then exit 233; fi - - if [[ -z "${SYSTEM_NAME}" ]]; then exit 233; fi - - if [[ -z "${BENCHMARK}" ]]; then exit 233; fi - # Set environment variables - - eval $(ssh-agent -s) - - echo "${BOT_KEY}" | tr -d '\r' | ssh-add - >/dev/null - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - - ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts - - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config - - unset OMP_NUM_THREADS - - git config --global user.name "${BOT_USER}" - - git config --global user.email "${BOT_EMAIL}" - - -.benchmark_template: - extends: - - .horeka_benchmark_before_script_template - variables: - GIT_CLEAN_FLAGS: none - script: - # Install rsync - - pushd / - - git clone https://github.com/WayneD/rsync -b v3.2.4 - - pushd rsync - - ./configure --disable-lz4 --disable-openssl --disable-doc --disable-xxhash --disable-md2man - - make -j10 install - - popd - - popd - # Setup ssget - - git clone https://github.com/ginkgo-project/ssget - - sed -i 's:ARCHIVE_LOCATION="${HOME}/.config/ssget":ARCHIVE_LOCATION="/ssget":' ssget/ssget - - export PATH=$PWD/ssget:$PATH - # Setup the benchmark - - cd ${CI_PROJECT_DIR}${CI_PROJECT_DIR_SUFFIX} - - cd ${CI_JOB_NAME}-build - - chmod +x benchmark/run_all_benchmarks.sh - - cd benchmark - - git clone ${BENCHMARK_REPO} data-repo - # Use the representative matrix list and launch benchmark - - export MATRIX_LIST_FILE=$PWD/data-repo/data/represent.list - - ./run_all_benchmarks.sh - # Publish the results - - rsync -av results/ data-repo/data/ - - cd data-repo/data/ - - ./build-list . > list.json - - ./agregate < list.json > agregate.json - - chmod +x represent - - ./represent $PWD > represent.json - - git add -A - - git diff --quiet HEAD || (git commit -m "Benchmark ${BENCHMARK} on ${EXECUTOR} with ${SYSTEM_NAME} of ginkgo-project/ginkgo@${CI_COMMIT_SHORT_SHA}" && git push) - cache: [] From fb5589f8b882f16fb8c1a7e1399c6a76a7dea408 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Thu, 30 Apr 2026 16:00:46 +0200 Subject: [PATCH 03/10] get more reasonable environment for dpcpp --- dpcpp/get_info.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dpcpp/get_info.cmake b/dpcpp/get_info.cmake index ee9c0398f3e..ebf4f132546 100644 --- a/dpcpp/get_info.cmake +++ b/dpcpp/get_info.cmake @@ -3,5 +3,5 @@ ginkgo_print_module_footer(${detailed_log} "DPCPP variables:") ginkgo_print_variable(${detailed_log} "GINKGO_DPCPP_FLAGS") ginkgo_print_variable(${detailed_log} "GINKGO_DPCPP_SINGLE_MODE") ginkgo_print_module_footer(${detailed_log} "DPCPP environment variables:") -ginkgo_print_env_variable(${detailed_log} "SYCL_DEVICE_FILTER") +ginkgo_print_env_variable(${detailed_log} "ONEAPI_DEVICE_SELECTOR") ginkgo_print_module_footer(${detailed_log} "") From 2fc8b200235a4ec95f7457bd2d2f8298bea28431 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Thu, 30 Apr 2026 16:08:55 +0200 Subject: [PATCH 04/10] remove unchanged/unused variable and add variable used in script --- .gitlab/scripts.yml | 8 ++++---- .gitlab/variables.yml | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitlab/scripts.yml b/.gitlab/scripts.yml index 6a2e3735111..7e5b1a65bb0 100644 --- a/.gitlab/scripts.yml +++ b/.gitlab/scripts.yml @@ -54,7 +54,7 @@ -DGINKGO_BUILD_HIP=${BUILD_HIP} -DGINKGO_BUILD_SYCL=${BUILD_SYCL} -DGINKGO_BUILD_MPI=${BUILD_MPI} ${MPI_STR} -DGINKGO_BUILD_HWLOC=${BUILD_HWLOC} - -DGINKGO_BUILD_PAPI_SDE=${BUILD_PAPI_SDE} + -DGINKGO_BUILD_PAPI_SDE=OFF -DGINKGO_BUILD_TESTS=ON -DGINKGO_BUILD_EXAMPLES=ON -DGINKGO_FAST_TESTS=${FAST_TESTS} -DGINKGO_TEST_NONDEFAULT_STREAM=${NONDEFAULT_STREAM} @@ -97,13 +97,13 @@ -DGINKGO_BUILD_HIP=${BUILD_HIP} -DGINKGO_BUILD_SYCL=${BUILD_SYCL} -DGINKGO_BUILD_MPI=${BUILD_MPI} ${MPI_STR} -DGINKGO_BUILD_HWLOC=${BUILD_HWLOC} - -DGINKGO_BUILD_PAPI_SDE=${BUILD_PAPI_SDE} + -DGINKGO_BUILD_PAPI_SDE=OFF -DGINKGO_BUILD_TESTS=ON -DGINKGO_BUILD_EXAMPLES=ON -DGINKGO_FAST_TESTS=${FAST_TESTS} -DGINKGO_ENABLE_HALF=${ENABLE_HALF} -DGINKGO_ENABLE_BFLOAT16=${ENABLE_BFLOAT16} -DGINKGO_MIXED_PRECISION=${MIXED_PRECISION} - -DGINKGO_CONFIG_LOG_DETAILED=${CONFIG_LOG} + -DGINKGO_CONFIG_LOG_DETAILED=ON -DGINKGO_DPCPP_SINGLE_MODE=${DPCPP_SINGLE_MODE} - ninja -j${NUM_CORES} -l${CI_LOAD_LIMIT} install - awk '!/^#/ { print ($2 - $1)/1000 " " $4 }' .ninja_log | sort -nr @@ -174,7 +174,7 @@ -DGINKGO_BUILD_HIP=${BUILD_HIP} -DGINKGO_BUILD_SYCL=${BUILD_SYCL} -DGINKGO_BUILD_MPI=${BUILD_MPI} ${MPI_STR} -DGINKGO_BUILD_HWLOC=${BUILD_HWLOC} - -DGINKGO_BUILD_PAPI_SDE=${BUILD_PAPI_SDE} + -DGINKGO_BUILD_PAPI_SDE=OFF -DGINKGO_BUILD_TESTS=ON -DGINKGO_BUILD_EXAMPLES=ON -DGINKGO_FAST_TESTS=${FAST_TESTS} -DGINKGO_ENABLE_HALF=${ENABLE_HALF} diff --git a/.gitlab/variables.yml b/.gitlab/variables.yml index 074322249b5..c7f9ff659cb 100644 --- a/.gitlab/variables.yml +++ b/.gitlab/variables.yml @@ -1,7 +1,6 @@ # Templates with reasonable defaults for builds and tests .default_variables: variables: - BENCHMARK_SERVER: "FINECI" CXX_COMPILER: "g++" CUDA_COMPILER: "nvcc" BUILD_TYPE: "Debug" @@ -12,7 +11,6 @@ BUILD_HIP: "OFF" BUILD_SYCL: "OFF" BUILD_HWLOC: "ON" - BUILD_PAPI_SDE: "OFF" BUILD_MPI: "OFF" MPI_AS_ROOT: "OFF" FAST_TESTS: "OFF" @@ -21,7 +19,10 @@ MIXED_PRECISION: "ON" ENABLE_HALF: "ON" ENABLE_BFLOAT16: "OFF" - CONFIG_LOG: "ON" CXX_FLAGS: "-Wpedantic" EXTRA_CMAKE_FLAGS: "" CI_PROJECT_DIR_SUFFIX: "" + CUDA_ARCH: "" + MDOULE_LOAD: "" + SPACK_LOAD: "" + ONEAPI_DEVICE_SELECTOR: "" From 28b937421c08231711228275a716200f68d09b52 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Thu, 30 Apr 2026 16:23:35 +0200 Subject: [PATCH 05/10] collect the build stage into another yaml files --- .gitlab-ci.yml | 481 +--------------------------------------------- .gitlab/build.yml | 478 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 480 insertions(+), 479 deletions(-) create mode 100644 .gitlab/build.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6738de745d..b61f87d8f64 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,6 +26,8 @@ include: - local: '.gitlab/add-interrupt.yml' rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "develop" && $CI_COMMIT_TAG !~ /^v\d+\.\d+\.\d+/ + # build.yml use the above stuff + - local: '.gitlab/build.yml' sync: stage: sync @@ -91,485 +93,6 @@ trigger_pipeline: fi -# cuda 11.4 and friends -build/cuda110/nompi/gcc/cuda/release/shared: - extends: - - .build_and_test_template - - .default_variables - - .quick_test_condition - - .use_gko_cuda110-mvapich-gnu9-llvm9 - variables: - BUILD_OMP: "ON" - BUILD_CUDA: "ON" - BUILD_MPI: "OFF" - BUILD_TYPE: "Release" - FAST_TESTS: "ON" - # fix gtest issue https://github.com/google/googletest/issues/3514 - CXX_FLAGS: "-Wno-error=maybe-uninitialized" - # disable spurious unused argument warning - # this is seemingly broken with CUDA 11 - # EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" - -build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko_nvhpc227-cuda117-openmpi-gnu11-llvm14 - variables: - CXX_COMPILER: "nvc++" - BUILD_OMP: "ON" - BUILD_CUDA: "ON" - BUILD_MPI: "OFF" - BUILD_TYPE: "Debug" - FAST_TESTS: "ON" - # disable common gflags warnings - CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced" - # disable spurious unused argument warning - EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" - -build/cuda118/nompi/gcc/cuda/debug/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - BUILD_TYPE: "Debug" - MODULE_LOAD: "cmake/3.18.6 cuda/11.8.0 gcc/7.5.0" - -build/cuda120/openmpi/gcc/cuda/release/static: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - BUILD_MPI: "ON" - BUILD_SHARED_LIBS: "OFF" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.18.6 cuda/12.0.1 gcc/12.4.0 openmpi/4.1.8" - -build/cuda122/openmpi/gcc/cuda/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.20.6 cuda/12.2.2 gcc/12.4.0 openmpi/5.0.7" - -build/cuda124/mpich/gcc/cuda/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/12.6.3 gcc/13.3.0 mpich" - -build/cuda126/nompi/gcc/cuda/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/12.6.3 gcc/13.3.0" - -build/cuda130/nompi/gcc/cuda/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/13.0.2 gcc/14.3.0" - -build/cuda131/nompi/gcc/cuda/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-nvidia - variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/13.1.1 gcc/14.3.0" - -build/amd/openmpi/gcc/rocm620/debug/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .quick_test_condition - - .use_tum-amd - variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - BUILD_OMP: "ON" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "ON" - MODULE_LOAD: "cmake/3.24.4 rocm/6.2.0 gcc/13.3.0 openmpi/5.0.7" - -# rocm 6.3.x is the last version support MI50 officially -build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-amd - variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.29.6 rocm/6.3.4 gcc/13.3.0 openmpi/5.0.7" - -# mi50 is not officially supported by ROCm >= 6.4.0 -build/amd/nompi/gcc/rocm644/debug/static: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-amd-mi210 - variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "OFF" - BUILD_OMP: "OFF" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "OFF" - MODULE_LOAD: "cmake/3.29.6 rocm/6.4.4 gcc/14.3.0" - -build/amd/nompi/gcc/rocm710/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-amd-mi210 - variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "OFF" - BUILD_OMP: "OFF" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.29.6 rocm/7.1.0 gcc/14.3.0" - -build/amd/nompi/gcc/rocm720/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-amd - variables: - BUILD_HIP: "ON" - BUILD_OMP: "OFF" - BUILD_HWLOC: "OFF" - BUILD_TYPE: "Release" - ENABLE_BFLOAT16: "OFF" - ENABLE_HALF: "OFF" - MODULE_LOAD: "cmake/3.25.3 rocm/7.2.0 gcc/12.4.0" - -# no cuda but latest gcc and clang -build/nocuda/nompi/gcc/core/debug/static: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - BUILD_TYPE: "Debug" - FAST_TESTS: "ON" - BUILD_SHARED_LIBS: "OFF" - BUILD_HWLOC: "OFF" - -build/nocuda/nompi/clang/core/release/shared: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - CXX_COMPILER: "clang++" - BUILD_TYPE: "Release" - ENABLE_HALF: "OFF" - ENABLE_BFLOAT16: "ON" - -build/nocuda/nompi/gcc/omp/release/shared: - extends: - - .build_and_test_template - - .default_variables - - .quick_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - -build/nocuda/openmpi/clang/omp/debug/static: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-openmpi-gnu9-llvm8 - variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - MPI_AS_ROOT: "ON" - BUILD_MPI: "ON" - BUILD_TYPE: "Debug" - FAST_TESTS: "ON" - BUILD_SHARED_LIBS: "OFF" - -build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - MPI_AS_ROOT: "ON" - BUILD_MPI: "ON" - CXX_FLAGS: "-Wpedantic -D_GLIBCXX_DEBUG=1" - # The tests are prohibitively slow in Debug - BUILD_TYPE: "Release" - -# nocuda with old compiler -build/nocuda/nompi/gcc/omp/release/static: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "OFF" - ENABLE_HALF: "OFF" - ENABLE_BFLOAT16: "ON" - -build/nocuda-nomixed/nompi/clang/omp/release/static: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "OFF" - MIXED_PRECISION: "OFF" - -build/nocuda-nomixed/openmpi/gcc/omp/release/shared: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - BUILD_MPI: "ON" - MPI_AS_ROOT: "ON" - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - MIXED_PRECISION: "OFF" - -build/nocuda-nomixed/nompi/clang/omp/debug/static: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-nocuda-nompi-gnu9-llvm8 - variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "OFF" - MIXED_PRECISION: "OFF" - -build/nogpu/nompi/gcc/omp/debug/static: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-cpu - variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "OFF" - MIXED_PRECISION: "OFF" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/7.5.0" - -build/nogpu/nompi/gcc/omp/release/static: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-cpu - variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/9.5.0" - -build/nogpu/nompi/gcc/noomp/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-cpu - variables: - BUILD_TYPE: "Release" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/9.5.0" - -build/nogpu/nompi/gcc12/noomp/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-cpu - variables: - BUILD_TYPE: "Release" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/12.4.0" - -build/nogpu/mpi/gcc13/noomp/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .quick_test_condition - - .use_tum-cpu - variables: - BUILD_TYPE: "Release" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - MODULE_LOAD: "cmake/3.18.6 gcc/13.3.0 openmpi" - -# spack oneapi 2023.1 -build/icpx20231/gpu/release/shared: - extends: - - .build_and_test_template - - .default_variables - - .quick_test_condition - - .use_gko-oneapi20231-gpu - variables: - CXX_COMPILER: "icpx" - CXX_FLAGS: "-Wpedantic -ffp-model=precise" - BUILD_SYCL: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "ON" - DPCPP_SINGLE_MODE: "ON" - ONEAPI_DEVICE_SELECTOR: "opencl:gpu" - BUILD_HWLOC: "OFF" - -build/dpcpp20231/gpu/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-intel-fp32 - variables: - CXX_COMPILER: "dpcpp" - CXX_FLAGS: "-Wpedantic -ffp-model=precise" - BUILD_SYCL: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "ON" - DPCPP_SINGLE_MODE: "ON" - MODULE_LOAD: "cmake/3.21.7 intel-oneapi-compilers/2023.1.0 intel-oneapi-dpl/2022.1.0 intel-oneapi-tbb/2021.9.0 intel-oneapi-mkl/2023.1.0" - ONEAPI_DEVICE_SELECTOR: "opencl:gpu" - BUILD_HWLOC: "OFF" - -build/icpx202402/gpu/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-intel - variables: - CXX_COMPILER: "icpx" - CXX_FLAGS: "-Wpedantic -ffp-model=precise -Wno-deprecated-declarations" - BUILD_SYCL: "ON" - BUILD_HWLOC: "OFF" - BUILD_TYPE: "Release" - ENABLE_HALF: "OFF" - ENABLE_BFLOAT16: "OFF" - ONEAPI_DEVICE_SELECTOR: "opencl:gpu" - MODULE_LOAD: "cmake/3.21.7 intel-oneapi-compilers/2024.0.2 intel-oneapi-dpl/2022.3.0 intel-oneapi-tbb/2021.11.0 intel-oneapi-mkl/2024.0.0" - -build/icpx202421/gpu/release/shared: - extends: - - .build_and_test_tum_template - - .default_variables - - .full_test_condition - - .use_tum-intel - variables: - CXX_COMPILER: "icpx" - CXX_FLAGS: "-Wpedantic -ffp-model=precise -Wno-deprecated-declarations" - BUILD_SYCL: "ON" - BUILD_OMP: "ON" - BUILD_HWLOC: "OFF" - BUILD_TYPE: "Release" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - ONEAPI_DEVICE_SELECTOR: "level_zero:gpu" - MODULE_LOAD: "cmake/3.28.6 intel-oneapi-compilers/2024.2.1 intel-oneapi-dpl/2022.6.1 intel-oneapi-tbb/2021.13.1 intel-oneapi-mkl/2024.2.1" - -# It gives two available backends of GPU on tests -build/dpcpp/gpu/release/shared: - extends: - - .build_and_test_template - - .default_variables - - .full_test_condition - - .use_gko-oneapi-gpu - variables: - CXX_COMPILER: "dpcpp" - CXX_FLAGS: "-Wpedantic -ffp-model=precise" - BUILD_SYCL: "ON" - BUILD_TYPE: "Release" - # static builds take too long - BUILD_SHARED_LIBS: "ON" - DPCPP_SINGLE_MODE: "ON" - ONEAPI_DEVICE_SELECTOR: "*:gpu" - BUILD_HWLOC: "OFF" - # Job with important warnings as error warnings: stage: code_quality diff --git a/.gitlab/build.yml b/.gitlab/build.yml new file mode 100644 index 00000000000..ac2ad2dc2fb --- /dev/null +++ b/.gitlab/build.yml @@ -0,0 +1,478 @@ +# cuda 11.4 and friends +build/cuda110/nompi/gcc/cuda/release/shared: + extends: + - .build_and_test_template + - .default_variables + - .quick_test_condition + - .use_gko_cuda110-mvapich-gnu9-llvm9 + variables: + BUILD_OMP: "ON" + BUILD_CUDA: "ON" + BUILD_MPI: "OFF" + BUILD_TYPE: "Release" + FAST_TESTS: "ON" + # fix gtest issue https://github.com/google/googletest/issues/3514 + CXX_FLAGS: "-Wno-error=maybe-uninitialized" + # disable spurious unused argument warning + # this is seemingly broken with CUDA 11 + # EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" + +build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko_nvhpc227-cuda117-openmpi-gnu11-llvm14 + variables: + CXX_COMPILER: "nvc++" + BUILD_OMP: "ON" + BUILD_CUDA: "ON" + BUILD_MPI: "OFF" + BUILD_TYPE: "Debug" + FAST_TESTS: "ON" + # disable common gflags warnings + CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced" + # disable spurious unused argument warning + EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" + +build/cuda118/nompi/gcc/cuda/debug/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + ENABLE_HALF: "ON" + BUILD_TYPE: "Debug" + MODULE_LOAD: "cmake/3.18.6 cuda/11.8.0 gcc/7.5.0" + +build/cuda120/openmpi/gcc/cuda/release/static: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + ENABLE_HALF: "ON" + BUILD_MPI: "ON" + BUILD_SHARED_LIBS: "OFF" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.18.6 cuda/12.0.1 gcc/12.4.0 openmpi/4.1.8" + +build/cuda122/openmpi/gcc/cuda/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + ENABLE_HALF: "ON" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.20.6 cuda/12.2.2 gcc/12.4.0 openmpi/5.0.7" + +build/cuda124/mpich/gcc/cuda/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + BUILD_MPI: "ON" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.30.8 cuda/12.6.3 gcc/13.3.0 mpich" + +build/cuda126/nompi/gcc/cuda/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.30.8 cuda/12.6.3 gcc/13.3.0" + +build/cuda130/nompi/gcc/cuda/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.30.8 cuda/13.0.2 gcc/14.3.0" + +build/cuda131/nompi/gcc/cuda/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-nvidia + variables: + BUILD_CUDA: "ON" + BUILD_HWLOC: "OFF" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.30.8 cuda/13.1.1 gcc/14.3.0" + +build/amd/openmpi/gcc/rocm620/debug/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .quick_test_condition + - .use_tum-amd + variables: + BUILD_HIP: "ON" + BUILD_HWLOC: "OFF" + BUILD_MPI: "ON" + BUILD_OMP: "ON" + BUILD_TYPE: "Debug" + BUILD_SHARED_LIBS: "ON" + MODULE_LOAD: "cmake/3.24.4 rocm/6.2.0 gcc/13.3.0 openmpi/5.0.7" + +# rocm 6.3.x is the last version support MI50 officially +build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-amd + variables: + BUILD_HIP: "ON" + BUILD_HWLOC: "OFF" + BUILD_MPI: "ON" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.29.6 rocm/6.3.4 gcc/13.3.0 openmpi/5.0.7" + +# mi50 is not officially supported by ROCm >= 6.4.0 +build/amd/nompi/gcc/rocm644/debug/static: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-amd-mi210 + variables: + BUILD_HIP: "ON" + BUILD_HWLOC: "OFF" + BUILD_MPI: "OFF" + BUILD_OMP: "OFF" + BUILD_TYPE: "Debug" + BUILD_SHARED_LIBS: "OFF" + MODULE_LOAD: "cmake/3.29.6 rocm/6.4.4 gcc/14.3.0" + +build/amd/nompi/gcc/rocm710/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-amd-mi210 + variables: + BUILD_HIP: "ON" + BUILD_HWLOC: "OFF" + BUILD_MPI: "OFF" + BUILD_OMP: "OFF" + BUILD_TYPE: "Release" + MODULE_LOAD: "cmake/3.29.6 rocm/7.1.0 gcc/14.3.0" + +build/amd/nompi/gcc/rocm720/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-amd + variables: + BUILD_HIP: "ON" + BUILD_OMP: "OFF" + BUILD_HWLOC: "OFF" + BUILD_TYPE: "Release" + ENABLE_BFLOAT16: "OFF" + ENABLE_HALF: "OFF" + MODULE_LOAD: "cmake/3.25.3 rocm/7.2.0 gcc/12.4.0" + +# no cuda but latest gcc and clang +build/nocuda/nompi/gcc/core/debug/static: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + BUILD_TYPE: "Debug" + FAST_TESTS: "ON" + BUILD_SHARED_LIBS: "OFF" + BUILD_HWLOC: "OFF" + +build/nocuda/nompi/clang/core/release/shared: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + CXX_COMPILER: "clang++" + BUILD_TYPE: "Release" + ENABLE_HALF: "OFF" + ENABLE_BFLOAT16: "ON" + +build/nocuda/nompi/gcc/omp/release/shared: + extends: + - .build_and_test_template + - .default_variables + - .quick_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + BUILD_OMP: "ON" + BUILD_TYPE: "Release" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + +build/nocuda/openmpi/clang/omp/debug/static: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-openmpi-gnu9-llvm8 + variables: + CXX_COMPILER: "clang++" + BUILD_OMP: "ON" + MPI_AS_ROOT: "ON" + BUILD_MPI: "ON" + BUILD_TYPE: "Debug" + FAST_TESTS: "ON" + BUILD_SHARED_LIBS: "OFF" + +build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + CXX_COMPILER: "clang++" + BUILD_OMP: "ON" + MPI_AS_ROOT: "ON" + BUILD_MPI: "ON" + CXX_FLAGS: "-Wpedantic -D_GLIBCXX_DEBUG=1" + # The tests are prohibitively slow in Debug + BUILD_TYPE: "Release" + +# nocuda with old compiler +build/nocuda/nompi/gcc/omp/release/static: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + BUILD_OMP: "ON" + BUILD_TYPE: "Release" + BUILD_SHARED_LIBS: "OFF" + ENABLE_HALF: "OFF" + ENABLE_BFLOAT16: "ON" + +build/nocuda-nomixed/nompi/clang/omp/release/static: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + CXX_COMPILER: "clang++" + BUILD_OMP: "ON" + BUILD_TYPE: "Release" + BUILD_SHARED_LIBS: "OFF" + MIXED_PRECISION: "OFF" + +build/nocuda-nomixed/openmpi/gcc/omp/release/shared: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + BUILD_MPI: "ON" + MPI_AS_ROOT: "ON" + BUILD_OMP: "ON" + BUILD_TYPE: "Release" + MIXED_PRECISION: "OFF" + +build/nocuda-nomixed/nompi/clang/omp/debug/static: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-nocuda-nompi-gnu9-llvm8 + variables: + CXX_COMPILER: "clang++" + BUILD_OMP: "ON" + BUILD_TYPE: "Debug" + BUILD_SHARED_LIBS: "OFF" + MIXED_PRECISION: "OFF" + +build/nogpu/nompi/gcc/omp/debug/static: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-cpu + variables: + BUILD_OMP: "ON" + BUILD_TYPE: "Debug" + BUILD_SHARED_LIBS: "OFF" + MIXED_PRECISION: "OFF" + BUILD_HWLOC: "OFF" + MODULE_LOAD: "cmake/3.18.6 gcc/7.5.0" + +build/nogpu/nompi/gcc/omp/release/static: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-cpu + variables: + BUILD_OMP: "ON" + BUILD_TYPE: "Release" + BUILD_SHARED_LIBS: "OFF" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + BUILD_HWLOC: "OFF" + MODULE_LOAD: "cmake/3.18.6 gcc/9.5.0" + +build/nogpu/nompi/gcc/noomp/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-cpu + variables: + BUILD_TYPE: "Release" + BUILD_HWLOC: "OFF" + MODULE_LOAD: "cmake/3.18.6 gcc/9.5.0" + +build/nogpu/nompi/gcc12/noomp/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-cpu + variables: + BUILD_TYPE: "Release" + BUILD_HWLOC: "OFF" + MODULE_LOAD: "cmake/3.18.6 gcc/12.4.0" + +build/nogpu/mpi/gcc13/noomp/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .quick_test_condition + - .use_tum-cpu + variables: + BUILD_TYPE: "Release" + BUILD_HWLOC: "OFF" + BUILD_MPI: "ON" + MODULE_LOAD: "cmake/3.18.6 gcc/13.3.0 openmpi" + +# spack oneapi 2023.1 +build/icpx20231/gpu/release/shared: + extends: + - .build_and_test_template + - .default_variables + - .quick_test_condition + - .use_gko-oneapi20231-gpu + variables: + CXX_COMPILER: "icpx" + CXX_FLAGS: "-Wpedantic -ffp-model=precise" + BUILD_SYCL: "ON" + BUILD_TYPE: "Release" + BUILD_SHARED_LIBS: "ON" + DPCPP_SINGLE_MODE: "ON" + ONEAPI_DEVICE_SELECTOR: "opencl:gpu" + BUILD_HWLOC: "OFF" + +build/dpcpp20231/gpu/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-intel-fp32 + variables: + CXX_COMPILER: "dpcpp" + CXX_FLAGS: "-Wpedantic -ffp-model=precise" + BUILD_SYCL: "ON" + BUILD_TYPE: "Release" + BUILD_SHARED_LIBS: "ON" + DPCPP_SINGLE_MODE: "ON" + MODULE_LOAD: "cmake/3.21.7 intel-oneapi-compilers/2023.1.0 intel-oneapi-dpl/2022.1.0 intel-oneapi-tbb/2021.9.0 intel-oneapi-mkl/2023.1.0" + ONEAPI_DEVICE_SELECTOR: "opencl:gpu" + BUILD_HWLOC: "OFF" + +build/icpx202402/gpu/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-intel + variables: + CXX_COMPILER: "icpx" + CXX_FLAGS: "-Wpedantic -ffp-model=precise -Wno-deprecated-declarations" + BUILD_SYCL: "ON" + BUILD_HWLOC: "OFF" + BUILD_TYPE: "Release" + ENABLE_HALF: "OFF" + ENABLE_BFLOAT16: "OFF" + ONEAPI_DEVICE_SELECTOR: "opencl:gpu" + MODULE_LOAD: "cmake/3.21.7 intel-oneapi-compilers/2024.0.2 intel-oneapi-dpl/2022.3.0 intel-oneapi-tbb/2021.11.0 intel-oneapi-mkl/2024.0.0" + +build/icpx202421/gpu/release/shared: + extends: + - .build_and_test_tum_template + - .default_variables + - .full_test_condition + - .use_tum-intel + variables: + CXX_COMPILER: "icpx" + CXX_FLAGS: "-Wpedantic -ffp-model=precise -Wno-deprecated-declarations" + BUILD_SYCL: "ON" + BUILD_OMP: "ON" + BUILD_HWLOC: "OFF" + BUILD_TYPE: "Release" + ENABLE_HALF: "ON" + ENABLE_BFLOAT16: "ON" + ONEAPI_DEVICE_SELECTOR: "level_zero:gpu" + MODULE_LOAD: "cmake/3.28.6 intel-oneapi-compilers/2024.2.1 intel-oneapi-dpl/2022.6.1 intel-oneapi-tbb/2021.13.1 intel-oneapi-mkl/2024.2.1" + +# It gives two available backends of GPU on tests +build/dpcpp/gpu/release/shared: + extends: + - .build_and_test_template + - .default_variables + - .full_test_condition + - .use_gko-oneapi-gpu + variables: + CXX_COMPILER: "dpcpp" + CXX_FLAGS: "-Wpedantic -ffp-model=precise" + BUILD_SYCL: "ON" + BUILD_TYPE: "Release" + # static builds take too long + BUILD_SHARED_LIBS: "ON" + DPCPP_SINGLE_MODE: "ON" + ONEAPI_DEVICE_SELECTOR: "*:gpu" + BUILD_HWLOC: "OFF" From 4a0d67af64349cd37cff4cf3e327ee5826d3f942 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Thu, 30 Apr 2026 16:44:04 +0200 Subject: [PATCH 06/10] bump the gtest version requirement and rearrange comments in build --- .gitlab/build.yml | 19 ++++++------------- CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/.gitlab/build.yml b/.gitlab/build.yml index ac2ad2dc2fb..2efa5b44389 100644 --- a/.gitlab/build.yml +++ b/.gitlab/build.yml @@ -1,4 +1,3 @@ -# cuda 11.4 and friends build/cuda110/nompi/gcc/cuda/release/shared: extends: - .build_and_test_template @@ -11,8 +10,6 @@ build/cuda110/nompi/gcc/cuda/release/shared: BUILD_MPI: "OFF" BUILD_TYPE: "Release" FAST_TESTS: "ON" - # fix gtest issue https://github.com/google/googletest/issues/3514 - CXX_FLAGS: "-Wno-error=maybe-uninitialized" # disable spurious unused argument warning # this is seemingly broken with CUDA 11 # EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" @@ -30,10 +27,10 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: BUILD_MPI: "OFF" BUILD_TYPE: "Debug" FAST_TESTS: "ON" - # disable common gflags warnings CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced" - # disable spurious unused argument warning EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" + # `--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning + # `-diag-suppress=188` disables spurious unused argument warning in CUDA build/cuda118/nompi/gcc/cuda/debug/shared: extends: @@ -148,7 +145,6 @@ build/amd/openmpi/gcc/rocm620/debug/shared: BUILD_SHARED_LIBS: "ON" MODULE_LOAD: "cmake/3.24.4 rocm/6.2.0 gcc/13.3.0 openmpi/5.0.7" -# rocm 6.3.x is the last version support MI50 officially build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: extends: - .build_and_test_tum_template @@ -161,8 +157,8 @@ build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: BUILD_MPI: "ON" BUILD_TYPE: "Release" MODULE_LOAD: "cmake/3.29.6 rocm/6.3.4 gcc/13.3.0 openmpi/5.0.7" + # MI50 is officially supported by ROCm < 6.4.0 -# mi50 is not officially supported by ROCm >= 6.4.0 build/amd/nompi/gcc/rocm644/debug/static: extends: - .build_and_test_tum_template @@ -177,6 +173,7 @@ build/amd/nompi/gcc/rocm644/debug/static: BUILD_TYPE: "Debug" BUILD_SHARED_LIBS: "OFF" MODULE_LOAD: "cmake/3.29.6 rocm/6.4.4 gcc/14.3.0" + # MI50 is not officially supported by ROCm >= 6.4.0 build/amd/nompi/gcc/rocm710/release/shared: extends: @@ -207,7 +204,6 @@ build/amd/nompi/gcc/rocm720/release/shared: ENABLE_HALF: "OFF" MODULE_LOAD: "cmake/3.25.3 rocm/7.2.0 gcc/12.4.0" -# no cuda but latest gcc and clang build/nocuda/nompi/gcc/core/debug/static: extends: - .build_and_test_template @@ -271,10 +267,9 @@ build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared: MPI_AS_ROOT: "ON" BUILD_MPI: "ON" CXX_FLAGS: "-Wpedantic -D_GLIBCXX_DEBUG=1" - # The tests are prohibitively slow in Debug BUILD_TYPE: "Release" + # We use Release here bacause glibcxx tests are prohibitively slow in Debug -# nocuda with old compiler build/nocuda/nompi/gcc/omp/release/static: extends: - .build_and_test_template @@ -390,7 +385,6 @@ build/nogpu/mpi/gcc13/noomp/release/shared: BUILD_MPI: "ON" MODULE_LOAD: "cmake/3.18.6 gcc/13.3.0 openmpi" -# spack oneapi 2023.1 build/icpx20231/gpu/release/shared: extends: - .build_and_test_template @@ -459,7 +453,6 @@ build/icpx202421/gpu/release/shared: ONEAPI_DEVICE_SELECTOR: "level_zero:gpu" MODULE_LOAD: "cmake/3.28.6 intel-oneapi-compilers/2024.2.1 intel-oneapi-dpl/2022.6.1 intel-oneapi-tbb/2021.13.1 intel-oneapi-mkl/2024.2.1" -# It gives two available backends of GPU on tests build/dpcpp/gpu/release/shared: extends: - .build_and_test_template @@ -471,8 +464,8 @@ build/dpcpp/gpu/release/shared: CXX_FLAGS: "-Wpedantic -ffp-model=precise" BUILD_SYCL: "ON" BUILD_TYPE: "Release" - # static builds take too long BUILD_SHARED_LIBS: "ON" DPCPP_SINGLE_MODE: "ON" ONEAPI_DEVICE_SELECTOR: "*:gpu" BUILD_HWLOC: "OFF" + # This gives two available backends of GPU on tests diff --git a/CMakeLists.txt b/CMakeLists.txt index 088a1e4cb40..dcfd48dc3e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -443,7 +443,7 @@ endif() # Try to find the third party packages before using our subdirectories if(GINKGO_BUILD_TESTS) - find_package(GTest 1.10.0) # No need for QUIET as CMake ships FindGTest + find_package(GTest 1.12.0) # No need for QUIET as CMake ships FindGTest endif() if(GINKGO_BUILD_BENCHMARKS) find_package(gflags 2.2.2 QUIET) From e51cabc99d16f0ae1c995f2c2af9f9210ccb8c8d Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" <19565938+yhmtsai@users.noreply.github.com> Date: Tue, 12 May 2026 14:45:11 +0200 Subject: [PATCH 07/10] check comments key --- .gitlab/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab/build.yml b/.gitlab/build.yml index 2efa5b44389..828029fecc5 100644 --- a/.gitlab/build.yml +++ b/.gitlab/build.yml @@ -13,6 +13,9 @@ build/cuda110/nompi/gcc/cuda/release/shared: # disable spurious unused argument warning # this is seemingly broken with CUDA 11 # EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" + comments: + test 123 + is comments allowed by gitlab? build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: extends: From 204834234627f6b0f976985bae32659d39fb80c5 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" <19565938+yhmtsai@users.noreply.github.com> Date: Tue, 12 May 2026 16:43:45 +0200 Subject: [PATCH 08/10] move comments to unused variable, check single quote and unquote --- .gitlab/build.yml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/.gitlab/build.yml b/.gitlab/build.yml index 828029fecc5..538b9e69e72 100644 --- a/.gitlab/build.yml +++ b/.gitlab/build.yml @@ -5,17 +5,12 @@ build/cuda110/nompi/gcc/cuda/release/shared: - .quick_test_condition - .use_gko_cuda110-mvapich-gnu9-llvm9 variables: - BUILD_OMP: "ON" + BUILD_OMP: 'ON' BUILD_CUDA: "ON" BUILD_MPI: "OFF" - BUILD_TYPE: "Release" + BUILD_TYPE: Release FAST_TESTS: "ON" - # disable spurious unused argument warning - # this is seemingly broken with CUDA 11 - # EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" - comments: - test 123 - is comments allowed by gitlab? + _COMMENTS: "disabling spurious unused argument warning is seemingly broken with CUDA 11" build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: extends: @@ -32,8 +27,7 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: FAST_TESTS: "ON" CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced" EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" - # `--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning - # `-diag-suppress=188` disables spurious unused argument warning in CUDA + _COMMENTS: "`--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning. `-diag-suppress=188` disables spurious unused argument warning in CUDA." build/cuda118/nompi/gcc/cuda/debug/shared: extends: @@ -146,7 +140,7 @@ build/amd/openmpi/gcc/rocm620/debug/shared: BUILD_OMP: "ON" BUILD_TYPE: "Debug" BUILD_SHARED_LIBS: "ON" - MODULE_LOAD: "cmake/3.24.4 rocm/6.2.0 gcc/13.3.0 openmpi/5.0.7" + MODULE_LOAD: cmake/3.24.4 rocm/6.2.0 gcc/13.3.0 openmpi/5.0.7 build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: extends: @@ -160,7 +154,7 @@ build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: BUILD_MPI: "ON" BUILD_TYPE: "Release" MODULE_LOAD: "cmake/3.29.6 rocm/6.3.4 gcc/13.3.0 openmpi/5.0.7" - # MI50 is officially supported by ROCm < 6.4.0 + _COMMENTS: MI50 is officially supported by ROCm < 6.4.0 build/amd/nompi/gcc/rocm644/debug/static: extends: @@ -176,7 +170,7 @@ build/amd/nompi/gcc/rocm644/debug/static: BUILD_TYPE: "Debug" BUILD_SHARED_LIBS: "OFF" MODULE_LOAD: "cmake/3.29.6 rocm/6.4.4 gcc/14.3.0" - # MI50 is not officially supported by ROCm >= 6.4.0 + _COMMENTS: MI50 is not officially supported by ROCm >= 6.4.0 build/amd/nompi/gcc/rocm710/release/shared: extends: @@ -271,7 +265,7 @@ build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared: BUILD_MPI: "ON" CXX_FLAGS: "-Wpedantic -D_GLIBCXX_DEBUG=1" BUILD_TYPE: "Release" - # We use Release here bacause glibcxx tests are prohibitively slow in Debug + _COMMENTS: We use Release here bacause glibcxx tests are prohibitively slow in Debug build/nocuda/nompi/gcc/omp/release/static: extends: @@ -471,4 +465,4 @@ build/dpcpp/gpu/release/shared: DPCPP_SINGLE_MODE: "ON" ONEAPI_DEVICE_SELECTOR: "*:gpu" BUILD_HWLOC: "OFF" - # This gives two available backends of GPU on tests + _COMMENTS: This gives two available backends of GPU on tests From 314ae8ca49ffb06aea4a7cf12e3d302e0e2386cf Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Wed, 20 May 2026 15:08:00 +0200 Subject: [PATCH 09/10] make it fit with PyYAML (yaml 1.1) --- .gitlab/build.yml | 397 +++++++++++++++++++++--------------------- .gitlab/variables.yml | 2 + 2 files changed, 201 insertions(+), 198 deletions(-) diff --git a/.gitlab/build.yml b/.gitlab/build.yml index 538b9e69e72..601c0e0c4ff 100644 --- a/.gitlab/build.yml +++ b/.gitlab/build.yml @@ -6,11 +6,11 @@ build/cuda110/nompi/gcc/cuda/release/shared: - .use_gko_cuda110-mvapich-gnu9-llvm9 variables: BUILD_OMP: 'ON' - BUILD_CUDA: "ON" - BUILD_MPI: "OFF" + BUILD_CUDA: 'ON' + BUILD_MPI: 'OFF' BUILD_TYPE: Release - FAST_TESTS: "ON" - _COMMENTS: "disabling spurious unused argument warning is seemingly broken with CUDA 11" + FAST_TESTS: 'ON' + _COMMENTS: disabling spurious unused argument warning is seemingly broken with CUDA 11 build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: extends: @@ -19,15 +19,15 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: - .full_test_condition - .use_gko_nvhpc227-cuda117-openmpi-gnu11-llvm14 variables: - CXX_COMPILER: "nvc++" - BUILD_OMP: "ON" - BUILD_CUDA: "ON" - BUILD_MPI: "OFF" - BUILD_TYPE: "Debug" - FAST_TESTS: "ON" - CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced" - EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177" - _COMMENTS: "`--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning. `-diag-suppress=188` disables spurious unused argument warning in CUDA." + CXX_COMPILER: nvc++ + BUILD_OMP: 'ON' + BUILD_CUDA: 'ON' + BUILD_MPI: 'OFF' + BUILD_TYPE: Debug + FAST_TESTS: 'ON' + CXX_FLAGS: --diag_suppress=useless_using_declaration,declared_but_not_referenced + EXTRA_CMAKE_FLAGS: -DCMAKE_CUDA_FLAGS=-diag-suppress=177 + _COMMENTS: `--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning. `-diag-suppress=188` disables spurious unused argument warning in CUDA. build/cuda118/nompi/gcc/cuda/debug/shared: extends: @@ -36,11 +36,11 @@ build/cuda118/nompi/gcc/cuda/debug/shared: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - BUILD_TYPE: "Debug" - MODULE_LOAD: "cmake/3.18.6 cuda/11.8.0 gcc/7.5.0" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + ENABLE_HALF: 'ON' + BUILD_TYPE: Debug + MODULE_LOAD: cmake/3.18.6 cuda/11.8.0 gcc/7.5.0 build/cuda120/openmpi/gcc/cuda/release/static: extends: @@ -49,13 +49,13 @@ build/cuda120/openmpi/gcc/cuda/release/static: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - BUILD_MPI: "ON" - BUILD_SHARED_LIBS: "OFF" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.18.6 cuda/12.0.1 gcc/12.4.0 openmpi/4.1.8" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + ENABLE_HALF: 'ON' + BUILD_MPI: 'ON' + BUILD_SHARED_LIBS: 'OFF' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.18.6 cuda/12.0.1 gcc/12.4.0 openmpi/4.1.8 build/cuda122/openmpi/gcc/cuda/release/shared: extends: @@ -64,11 +64,11 @@ build/cuda122/openmpi/gcc/cuda/release/shared: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.20.6 cuda/12.2.2 gcc/12.4.0 openmpi/5.0.7" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + ENABLE_HALF: 'ON' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.20.6 cuda/12.2.2 gcc/12.4.0 openmpi/5.0.7 build/cuda124/mpich/gcc/cuda/release/shared: extends: @@ -77,13 +77,13 @@ build/cuda124/mpich/gcc/cuda/release/shared: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/12.6.3 gcc/13.3.0 mpich" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_MPI: 'ON' + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.30.8 cuda/12.6.3 gcc/13.3.0 mpich build/cuda126/nompi/gcc/cuda/release/shared: extends: @@ -92,12 +92,12 @@ build/cuda126/nompi/gcc/cuda/release/shared: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/12.6.3 gcc/13.3.0" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.30.8 cuda/12.6.3 gcc/13.3.0 build/cuda130/nompi/gcc/cuda/release/shared: extends: @@ -106,12 +106,12 @@ build/cuda130/nompi/gcc/cuda/release/shared: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/13.0.2 gcc/14.3.0" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.30.8 cuda/13.0.2 gcc/14.3.0 build/cuda131/nompi/gcc/cuda/release/shared: extends: @@ -120,12 +120,12 @@ build/cuda131/nompi/gcc/cuda/release/shared: - .full_test_condition - .use_tum-nvidia variables: - BUILD_CUDA: "ON" - BUILD_HWLOC: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.30.8 cuda/13.1.1 gcc/14.3.0" + BUILD_CUDA: 'ON' + BUILD_HWLOC: 'OFF' + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.30.8 cuda/13.1.1 gcc/14.3.0 build/amd/openmpi/gcc/rocm620/debug/shared: extends: @@ -134,12 +134,12 @@ build/amd/openmpi/gcc/rocm620/debug/shared: - .quick_test_condition - .use_tum-amd variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - BUILD_OMP: "ON" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "ON" + BUILD_HIP: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_MPI: 'ON' + BUILD_OMP: 'ON' + BUILD_TYPE: Debug + BUILD_SHARED_LIBS: 'ON' MODULE_LOAD: cmake/3.24.4 rocm/6.2.0 gcc/13.3.0 openmpi/5.0.7 build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: @@ -149,11 +149,11 @@ build/amd/openmpi/gcc/rocm634_wo_omp/release/shared: - .full_test_condition - .use_tum-amd variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.29.6 rocm/6.3.4 gcc/13.3.0 openmpi/5.0.7" + BUILD_HIP: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_MPI: 'ON' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.29.6 rocm/6.3.4 gcc/13.3.0 openmpi/5.0.7 _COMMENTS: MI50 is officially supported by ROCm < 6.4.0 build/amd/nompi/gcc/rocm644/debug/static: @@ -163,13 +163,13 @@ build/amd/nompi/gcc/rocm644/debug/static: - .full_test_condition - .use_tum-amd-mi210 variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "OFF" - BUILD_OMP: "OFF" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "OFF" - MODULE_LOAD: "cmake/3.29.6 rocm/6.4.4 gcc/14.3.0" + BUILD_HIP: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_MPI: 'OFF' + BUILD_OMP: 'OFF' + BUILD_TYPE: Debug + BUILD_SHARED_LIBS: 'OFF' + MODULE_LOAD: cmake/3.29.6 rocm/6.4.4 gcc/14.3.0 _COMMENTS: MI50 is not officially supported by ROCm >= 6.4.0 build/amd/nompi/gcc/rocm710/release/shared: @@ -179,12 +179,12 @@ build/amd/nompi/gcc/rocm710/release/shared: - .full_test_condition - .use_tum-amd-mi210 variables: - BUILD_HIP: "ON" - BUILD_HWLOC: "OFF" - BUILD_MPI: "OFF" - BUILD_OMP: "OFF" - BUILD_TYPE: "Release" - MODULE_LOAD: "cmake/3.29.6 rocm/7.1.0 gcc/14.3.0" + BUILD_HIP: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_MPI: 'OFF' + BUILD_OMP: 'OFF' + BUILD_TYPE: Release + MODULE_LOAD: cmake/3.29.6 rocm/7.1.0 gcc/14.3.0 build/amd/nompi/gcc/rocm720/release/shared: extends: @@ -193,13 +193,13 @@ build/amd/nompi/gcc/rocm720/release/shared: - .full_test_condition - .use_tum-amd variables: - BUILD_HIP: "ON" - BUILD_OMP: "OFF" - BUILD_HWLOC: "OFF" - BUILD_TYPE: "Release" - ENABLE_BFLOAT16: "OFF" - ENABLE_HALF: "OFF" - MODULE_LOAD: "cmake/3.25.3 rocm/7.2.0 gcc/12.4.0" + BUILD_HIP: 'ON' + BUILD_OMP: 'OFF' + BUILD_HWLOC: 'OFF' + BUILD_TYPE: Release + ENABLE_BFLOAT16: 'OFF' + ENABLE_HALF: 'OFF' + MODULE_LOAD: cmake/3.25.3 rocm/7.2.0 gcc/12.4.0 build/nocuda/nompi/gcc/core/debug/static: extends: @@ -208,10 +208,10 @@ build/nocuda/nompi/gcc/core/debug/static: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - BUILD_TYPE: "Debug" - FAST_TESTS: "ON" - BUILD_SHARED_LIBS: "OFF" - BUILD_HWLOC: "OFF" + BUILD_TYPE: Debug + FAST_TESTS: 'ON' + BUILD_SHARED_LIBS: 'OFF' + BUILD_HWLOC: 'OFF' build/nocuda/nompi/clang/core/release/shared: extends: @@ -220,10 +220,10 @@ build/nocuda/nompi/clang/core/release/shared: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - CXX_COMPILER: "clang++" - BUILD_TYPE: "Release" - ENABLE_HALF: "OFF" - ENABLE_BFLOAT16: "ON" + CXX_COMPILER: clang++ + BUILD_TYPE: Release + ENABLE_HALF: 'OFF' + ENABLE_BFLOAT16: 'ON' build/nocuda/nompi/gcc/omp/release/shared: extends: @@ -232,10 +232,10 @@ build/nocuda/nompi/gcc/omp/release/shared: - .quick_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" + BUILD_OMP: 'ON' + BUILD_TYPE: Release + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' build/nocuda/openmpi/clang/omp/debug/static: extends: @@ -244,13 +244,13 @@ build/nocuda/openmpi/clang/omp/debug/static: - .full_test_condition - .use_gko-nocuda-openmpi-gnu9-llvm8 variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - MPI_AS_ROOT: "ON" - BUILD_MPI: "ON" - BUILD_TYPE: "Debug" - FAST_TESTS: "ON" - BUILD_SHARED_LIBS: "OFF" + CXX_COMPILER: clang++ + BUILD_OMP: 'ON' + MPI_AS_ROOT: 'ON' + BUILD_MPI: 'ON' + BUILD_TYPE: Debug + FAST_TESTS: 'ON' + BUILD_SHARED_LIBS: 'OFF' build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared: extends: @@ -259,13 +259,14 @@ build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - MPI_AS_ROOT: "ON" - BUILD_MPI: "ON" - CXX_FLAGS: "-Wpedantic -D_GLIBCXX_DEBUG=1" - BUILD_TYPE: "Release" + CXX_COMPILER: clang++ + BUILD_OMP: 'ON' + MPI_AS_ROOT: 'ON' + BUILD_MPI: 'ON' + CXX_FLAGS: -Wpedantic -D_GLIBCXX_DEBUG=1 + BUILD_TYPE: Release _COMMENTS: We use Release here bacause glibcxx tests are prohibitively slow in Debug + _JOBNAME_SUFFIX: /glibcxx build/nocuda/nompi/gcc/omp/release/static: extends: @@ -274,11 +275,11 @@ build/nocuda/nompi/gcc/omp/release/static: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "OFF" - ENABLE_HALF: "OFF" - ENABLE_BFLOAT16: "ON" + BUILD_OMP: 'ON' + BUILD_TYPE: Release + BUILD_SHARED_LIBS: 'OFF' + ENABLE_HALF: 'OFF' + ENABLE_BFLOAT16: 'ON' build/nocuda-nomixed/nompi/clang/omp/release/static: extends: @@ -287,11 +288,11 @@ build/nocuda-nomixed/nompi/clang/omp/release/static: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "OFF" - MIXED_PRECISION: "OFF" + CXX_COMPILER: clang++ + BUILD_OMP: 'ON' + BUILD_TYPE: Release + BUILD_SHARED_LIBS: 'OFF' + MIXED_PRECISION: 'OFF' build/nocuda-nomixed/openmpi/gcc/omp/release/shared: extends: @@ -300,11 +301,11 @@ build/nocuda-nomixed/openmpi/gcc/omp/release/shared: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - BUILD_MPI: "ON" - MPI_AS_ROOT: "ON" - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - MIXED_PRECISION: "OFF" + BUILD_MPI: 'ON' + MPI_AS_ROOT: 'ON' + BUILD_OMP: 'ON' + BUILD_TYPE: Release + MIXED_PRECISION: 'OFF' build/nocuda-nomixed/nompi/clang/omp/debug/static: extends: @@ -313,11 +314,11 @@ build/nocuda-nomixed/nompi/clang/omp/debug/static: - .full_test_condition - .use_gko-nocuda-nompi-gnu9-llvm8 variables: - CXX_COMPILER: "clang++" - BUILD_OMP: "ON" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "OFF" - MIXED_PRECISION: "OFF" + CXX_COMPILER: clang++ + BUILD_OMP: 'ON' + BUILD_TYPE: Debug + BUILD_SHARED_LIBS: 'OFF' + MIXED_PRECISION: 'OFF' build/nogpu/nompi/gcc/omp/debug/static: extends: @@ -326,12 +327,12 @@ build/nogpu/nompi/gcc/omp/debug/static: - .full_test_condition - .use_tum-cpu variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Debug" - BUILD_SHARED_LIBS: "OFF" - MIXED_PRECISION: "OFF" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/7.5.0" + BUILD_OMP: 'ON' + BUILD_TYPE: Debug + BUILD_SHARED_LIBS: 'OFF' + MIXED_PRECISION: 'OFF' + BUILD_HWLOC: 'OFF' + MODULE_LOAD: cmake/3.18.6 gcc/7.5.0 build/nogpu/nompi/gcc/omp/release/static: extends: @@ -340,13 +341,13 @@ build/nogpu/nompi/gcc/omp/release/static: - .full_test_condition - .use_tum-cpu variables: - BUILD_OMP: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "OFF" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/9.5.0" + BUILD_OMP: 'ON' + BUILD_TYPE: Release + BUILD_SHARED_LIBS: 'OFF' + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' + BUILD_HWLOC: 'OFF' + MODULE_LOAD: cmake/3.18.6 gcc/9.5.0 build/nogpu/nompi/gcc/noomp/release/shared: extends: @@ -355,9 +356,9 @@ build/nogpu/nompi/gcc/noomp/release/shared: - .full_test_condition - .use_tum-cpu variables: - BUILD_TYPE: "Release" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/9.5.0" + BUILD_TYPE: Release + BUILD_HWLOC: 'OFF' + MODULE_LOAD: cmake/3.18.6 gcc/9.5.0 build/nogpu/nompi/gcc12/noomp/release/shared: extends: @@ -366,9 +367,9 @@ build/nogpu/nompi/gcc12/noomp/release/shared: - .full_test_condition - .use_tum-cpu variables: - BUILD_TYPE: "Release" - BUILD_HWLOC: "OFF" - MODULE_LOAD: "cmake/3.18.6 gcc/12.4.0" + BUILD_TYPE: Release + BUILD_HWLOC: 'OFF' + MODULE_LOAD: cmake/3.18.6 gcc/12.4.0 build/nogpu/mpi/gcc13/noomp/release/shared: extends: @@ -377,10 +378,10 @@ build/nogpu/mpi/gcc13/noomp/release/shared: - .quick_test_condition - .use_tum-cpu variables: - BUILD_TYPE: "Release" - BUILD_HWLOC: "OFF" - BUILD_MPI: "ON" - MODULE_LOAD: "cmake/3.18.6 gcc/13.3.0 openmpi" + BUILD_TYPE: Release + BUILD_HWLOC: 'OFF' + BUILD_MPI: 'ON' + MODULE_LOAD: cmake/3.18.6 gcc/13.3.0 openmpi build/icpx20231/gpu/release/shared: extends: @@ -389,14 +390,14 @@ build/icpx20231/gpu/release/shared: - .quick_test_condition - .use_gko-oneapi20231-gpu variables: - CXX_COMPILER: "icpx" - CXX_FLAGS: "-Wpedantic -ffp-model=precise" - BUILD_SYCL: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "ON" - DPCPP_SINGLE_MODE: "ON" - ONEAPI_DEVICE_SELECTOR: "opencl:gpu" - BUILD_HWLOC: "OFF" + CXX_COMPILER: icpx + CXX_FLAGS: -Wpedantic -ffp-model=precise + BUILD_SYCL: 'ON' + BUILD_TYPE: Release + BUILD_SHARED_LIBS: 'ON' + DPCPP_SINGLE_MODE: 'ON' + ONEAPI_DEVICE_SELECTOR: opencl:gpu + BUILD_HWLOC: 'OFF' build/dpcpp20231/gpu/release/shared: extends: @@ -405,15 +406,15 @@ build/dpcpp20231/gpu/release/shared: - .full_test_condition - .use_tum-intel-fp32 variables: - CXX_COMPILER: "dpcpp" - CXX_FLAGS: "-Wpedantic -ffp-model=precise" - BUILD_SYCL: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "ON" - DPCPP_SINGLE_MODE: "ON" - MODULE_LOAD: "cmake/3.21.7 intel-oneapi-compilers/2023.1.0 intel-oneapi-dpl/2022.1.0 intel-oneapi-tbb/2021.9.0 intel-oneapi-mkl/2023.1.0" - ONEAPI_DEVICE_SELECTOR: "opencl:gpu" - BUILD_HWLOC: "OFF" + CXX_COMPILER: dpcpp + CXX_FLAGS: -Wpedantic -ffp-model=precise + BUILD_SYCL: 'ON' + BUILD_TYPE: Release + BUILD_SHARED_LIBS: 'ON' + DPCPP_SINGLE_MODE: 'ON' + MODULE_LOAD: cmake/3.21.7 intel-oneapi-compilers/2023.1.0 intel-oneapi-dpl/2022.1.0 intel-oneapi-tbb/2021.9.0 intel-oneapi-mkl/2023.1.0 + ONEAPI_DEVICE_SELECTOR: opencl:gpu + BUILD_HWLOC: 'OFF' build/icpx202402/gpu/release/shared: extends: @@ -422,15 +423,15 @@ build/icpx202402/gpu/release/shared: - .full_test_condition - .use_tum-intel variables: - CXX_COMPILER: "icpx" - CXX_FLAGS: "-Wpedantic -ffp-model=precise -Wno-deprecated-declarations" - BUILD_SYCL: "ON" - BUILD_HWLOC: "OFF" - BUILD_TYPE: "Release" - ENABLE_HALF: "OFF" - ENABLE_BFLOAT16: "OFF" - ONEAPI_DEVICE_SELECTOR: "opencl:gpu" - MODULE_LOAD: "cmake/3.21.7 intel-oneapi-compilers/2024.0.2 intel-oneapi-dpl/2022.3.0 intel-oneapi-tbb/2021.11.0 intel-oneapi-mkl/2024.0.0" + CXX_COMPILER: icpx + CXX_FLAGS: -Wpedantic -ffp-model=precise -Wno-deprecated-declarations + BUILD_SYCL: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_TYPE: Release + ENABLE_HALF: 'OFF' + ENABLE_BFLOAT16: 'OFF' + ONEAPI_DEVICE_SELECTOR: opencl:gpu + MODULE_LOAD: cmake/3.21.7 intel-oneapi-compilers/2024.0.2 intel-oneapi-dpl/2022.3.0 intel-oneapi-tbb/2021.11.0 intel-oneapi-mkl/2024.0.0 build/icpx202421/gpu/release/shared: extends: @@ -439,16 +440,16 @@ build/icpx202421/gpu/release/shared: - .full_test_condition - .use_tum-intel variables: - CXX_COMPILER: "icpx" - CXX_FLAGS: "-Wpedantic -ffp-model=precise -Wno-deprecated-declarations" - BUILD_SYCL: "ON" - BUILD_OMP: "ON" - BUILD_HWLOC: "OFF" - BUILD_TYPE: "Release" - ENABLE_HALF: "ON" - ENABLE_BFLOAT16: "ON" - ONEAPI_DEVICE_SELECTOR: "level_zero:gpu" - MODULE_LOAD: "cmake/3.28.6 intel-oneapi-compilers/2024.2.1 intel-oneapi-dpl/2022.6.1 intel-oneapi-tbb/2021.13.1 intel-oneapi-mkl/2024.2.1" + CXX_COMPILER: icpx + CXX_FLAGS: -Wpedantic -ffp-model=precise -Wno-deprecated-declarations + BUILD_SYCL: 'ON' + BUILD_OMP: 'ON' + BUILD_HWLOC: 'OFF' + BUILD_TYPE: Release + ENABLE_HALF: 'ON' + ENABLE_BFLOAT16: 'ON' + ONEAPI_DEVICE_SELECTOR: level_zero:gpu + MODULE_LOAD: cmake/3.28.6 intel-oneapi-compilers/2024.2.1 intel-oneapi-dpl/2022.6.1 intel-oneapi-tbb/2021.13.1 intel-oneapi-mkl/2024.2.1 build/dpcpp/gpu/release/shared: extends: @@ -457,12 +458,12 @@ build/dpcpp/gpu/release/shared: - .full_test_condition - .use_gko-oneapi-gpu variables: - CXX_COMPILER: "dpcpp" - CXX_FLAGS: "-Wpedantic -ffp-model=precise" - BUILD_SYCL: "ON" - BUILD_TYPE: "Release" - BUILD_SHARED_LIBS: "ON" - DPCPP_SINGLE_MODE: "ON" - ONEAPI_DEVICE_SELECTOR: "*:gpu" - BUILD_HWLOC: "OFF" + CXX_COMPILER: dpcpp + CXX_FLAGS: -Wpedantic -ffp-model=precise + BUILD_SYCL: 'ON' + BUILD_TYPE: Release + BUILD_SHARED_LIBS: 'ON' + DPCPP_SINGLE_MODE: 'ON' + ONEAPI_DEVICE_SELECTOR: *:gpu + BUILD_HWLOC: 'OFF' _COMMENTS: This gives two available backends of GPU on tests diff --git a/.gitlab/variables.yml b/.gitlab/variables.yml index c7f9ff659cb..99e4768900b 100644 --- a/.gitlab/variables.yml +++ b/.gitlab/variables.yml @@ -26,3 +26,5 @@ MDOULE_LOAD: "" SPACK_LOAD: "" ONEAPI_DEVICE_SELECTOR: "" + _JOBNAME_SUFFIX: "" + _COMMENTS: "" From a1c34ef65915372a132903e95444fda698810033 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Wed, 20 May 2026 16:09:20 +0200 Subject: [PATCH 10/10] need ' to use ` or * --- .gitlab/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab/build.yml b/.gitlab/build.yml index 601c0e0c4ff..03bb536fe8b 100644 --- a/.gitlab/build.yml +++ b/.gitlab/build.yml @@ -27,7 +27,7 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared: FAST_TESTS: 'ON' CXX_FLAGS: --diag_suppress=useless_using_declaration,declared_but_not_referenced EXTRA_CMAKE_FLAGS: -DCMAKE_CUDA_FLAGS=-diag-suppress=177 - _COMMENTS: `--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning. `-diag-suppress=188` disables spurious unused argument warning in CUDA. + _COMMENTS: '`--diag_suppress=useless_using_declaration,declared_but_not_referenced` disables common gflags warning. `-diag-suppress=188` disables spurious unused argument warning in CUDA.' build/cuda118/nompi/gcc/cuda/debug/shared: extends: @@ -464,6 +464,6 @@ build/dpcpp/gpu/release/shared: BUILD_TYPE: Release BUILD_SHARED_LIBS: 'ON' DPCPP_SINGLE_MODE: 'ON' - ONEAPI_DEVICE_SELECTOR: *:gpu + ONEAPI_DEVICE_SELECTOR: '*:gpu' BUILD_HWLOC: 'OFF' _COMMENTS: This gives two available backends of GPU on tests