Skip to content

Commit

Permalink
[ci] move the majority of jobs to the full pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcelKoch committed Oct 14, 2024
1 parent eb7ba1c commit e218c76
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 76 deletions.
152 changes: 81 additions & 71 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,11 @@ trigger_pipeline:
echo "Can not find the corresponding Pull Request"
fi
#
# Quick Tests
#

# cuda 11.4 and friends
# cuda 11.4
build/cuda114/nompi/gcc/cuda/debug/shared:
extends:
- .build_and_test_template
Expand All @@ -108,13 +111,78 @@ build/cuda114/nompi/gcc/cuda/debug/shared:
# disable spurious unused argument warning
EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177"

# rocm 4.5
build/amd/nompi/gcc/rocm45/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-rocm45-nompi-gnu8-llvm8
variables:
BUILD_OMP: "ON"
BUILD_HIP: "ON"
NONDEFAULT_STREAM: "ON"
BUILD_TYPE: "Release"
BUILD_HWLOC: "OFF"

# omp
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"

# spack oneapi 2023.1
build/icpx20231/igpu/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-oneapi20231-igpu
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"

# Windows-cuda
# Note that this is using Powershell, not bash
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
- 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

#
# Full Tests
#

# nvhpc and friends
build/nvhpc233/cuda120/nompi/nvcpp/release/static:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko_nvhpc233-cuda120-openmpi-gnu12-llvm16
variables:
CXX_COMPILER: "nvc++"
Expand All @@ -133,7 +201,7 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko_nvhpc227-cuda117-openmpi-gnu11-llvm14
variables:
CXX_COMPILER: "nvc++"
Expand All @@ -148,19 +216,6 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared:
EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177"

# ROCm 4.5 and friends
build/amd/nompi/gcc/rocm45/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-rocm45-nompi-gnu8-llvm8
variables:
BUILD_OMP: "ON"
BUILD_HIP: "ON"
NONDEFAULT_STREAM: "ON"
BUILD_TYPE: "Release"
BUILD_HWLOC: "OFF"

build/amd/nompi/clang/rocm45/release/static:
extends:
- .build_and_test_template
Expand All @@ -178,7 +233,7 @@ build/amd/nompi/clang/rocm45/debug/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-rocm45-nompi-gnu8-llvm8
variables:
CXX_COMPILER: "clang++"
Expand All @@ -203,7 +258,7 @@ build/amd/nompi/clang/rocm514/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-rocm514-nompi-gnu11-llvm11
variables:
CXX_COMPILER: "clang++"
Expand All @@ -229,7 +284,7 @@ build/nocuda/nompi/gcc/core/debug/static:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
BUILD_TYPE: "Debug"
Expand All @@ -241,22 +296,12 @@ build/nocuda/nompi/clang/core/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
CXX_COMPILER: "clang++"
BUILD_TYPE: "Release"

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"

build/nocuda/openmpi/clang/omp/debug/static:
extends:
- .build_and_test_template
Expand All @@ -276,7 +321,7 @@ build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
CXX_COMPILER: "clang++"
Expand All @@ -292,7 +337,7 @@ build/nocuda/nompi/gcc/omp/release/static:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
BUILD_OMP: "ON"
Expand All @@ -316,7 +361,7 @@ build/nocuda-nomixed/openmpi/gcc/omp/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
BUILD_MPI: "ON"
Expand All @@ -338,23 +383,6 @@ build/nocuda-nomixed/nompi/clang/omp/debug/static:
BUILD_SHARED_LIBS: "OFF"
MIXED_PRECISION: "OFF"

# spack oneapi 2023.1
build/icpx20231/igpu/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-oneapi20231-igpu
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"

# TODO: Enable when debug shared library size issues are fixed
# build/dpcpp/level_zero_igpu/debug/shared:
# extends:
Expand Down Expand Up @@ -390,27 +418,9 @@ build/icpx/igpu/release/static:

# windows jobs
# Note that this is using Powershell, not bash
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
- 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:
- .quick_test_condition
- .full_test_condition
stage: build
script:
- if (Test-Path build) { rm -r -fo build }
Expand Down Expand Up @@ -445,7 +455,7 @@ no-circular-deps:
extends:
- .build_template
- .default_variables
- .quick_test_condition
- .full_test_condition
- .use_gko-rocm514-nompi-gnu11-llvm11
variables:
BUILD_OMP: "ON"
Expand Down Expand Up @@ -496,7 +506,7 @@ sonarqube_cov_:
stage: code_quality
extends:
- .default_variables
- .quick_test_short_lived_condition
- .full_test_short_lived_condition
- .before_script_template
- .use_gko_cuda114-openmpi-gnu10-llvm12
tags:
Expand Down
12 changes: 7 additions & 5 deletions .gitlab/rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,20 @@
dependencies: []


.quick_test_condition:
.full_test_short_lived_condition:
rules:
- if: $RUN_CI_TAG && $STATUS_CONTEXT == null
- if: $CI_COMMIT_BRANCH == "develop" || $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_TAG
when: never
- if: $RUN_CI_TAG && $STATUS_CONTEXT == "full"
dependencies: []

.quick_test_short_lived_condition:

.quick_test_condition:
rules:
- if: $CI_COMMIT_BRANCH == "develop" || $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_TAG
when: never
- if: $RUN_CI_TAG && $STATUS_CONTEXT == null
dependencies: []


.deploy_condition:
rules:
- if: $RUN_CI_TAG && ($CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop" || $CI_COMMIT_TAG) && $CI_PIPELINE_SOURCE != "schedule"
Expand Down

0 comments on commit e218c76

Please sign in to comment.