diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a3d41d36437..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,541 +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" - -# 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: - - .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" - -# 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 +264,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 +323,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/build.yml b/.gitlab/build.yml new file mode 100644 index 00000000000..03bb536fe8b --- /dev/null +++ b/.gitlab/build.yml @@ -0,0 +1,469 @@ +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' + _COMMENTS: disabling spurious unused argument warning is seemingly broken with CUDA 11 + +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' + 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: + - .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 + +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 + _COMMENTS: MI50 is 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 + _COMMENTS: MI50 is not officially supported by ROCm >= 6.4.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 + +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 + 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: + - .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 + +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 + +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 + 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/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: diff --git a/.gitlab/scripts.yml b/.gitlab/scripts.yml index 8a187f85bc0..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} @@ -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; @@ -99,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 @@ -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; @@ -180,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} @@ -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: [] diff --git a/.gitlab/variables.yml b/.gitlab/variables.yml index 074322249b5..99e4768900b 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,12 @@ 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: "" + _JOBNAME_SUFFIX: "" + _COMMENTS: "" 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) 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} "")