Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require C++17 support #1603

Merged
merged 13 commits into from
Jul 8, 2024
193 changes: 22 additions & 171 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,138 +93,6 @@ trigger_pipeline:
# Build jobs
# Job with example runs.
# cuda 10.1 and friends
# Build CUDA NVIDIA without omp
# Make sure that our jobs run when HWLOC is
# forcibly switched off
build/cuda101/nompi/clang/cuda_wo_omp/release/shared:
extends:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
variables:
CXX_COMPILER: "clang++"
BUILD_CUDA: "ON"
BUILD_HWLOC: "OFF"
BUILD_TYPE: "Release"
CUDA_ARCH: 35

# Job with example runs.
# Also explicitly test PAPI SDE
build/cuda101/openmpi/gcc/all/debug/shared:
extends:
- .build_template
- .default_variables
- .quick_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_MPI: "ON"
MPI_AS_ROOT: "ON"
BUILD_TYPE: "Debug"
BUILD_PAPI_SDE: "ON"
CUDA_ARCH: 35

build/cuda101/nompi/clang/all/release/static:
extends:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
variables:
CXX_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35

# clang-cuda with cuda 10.1 and friends
#build/clang-cuda101/openmpi/clang/cuda/release/shared:
# extends:
# - .build_and_test_template
# - .default_variables
# - .quick_test_condition
# - .use_gko-cuda101-openmpi-gnu8-llvm13-intel2019
# variables:
# CXX_COMPILER: "clang++"
# CUDA_COMPILER: "clang++"
# BUILD_OMP: "ON"
# BUILD_CUDA: "ON"
# BUILD_MPI: "ON"
# MPI_AS_ROOT: "ON"
# BUILD_HIP: "OFF"
# BUILD_TYPE: "Release"


#build/clang-cuda101/nompi/clang/cuda/debug/static:
# extends:
# - .build_and_test_template
# - .default_variables
# - .full_test_condition
# - .use_gko-cuda101-openmpi-gnu8-llvm13-intel2019
# variables:
# CXX_COMPILER: "clang++"
# CUDA_COMPILER: "clang++"
# BUILD_OMP: "ON"
# BUILD_CUDA: "ON"
# BUILD_TYPE: "Debug"
# FAST_TESTS: "ON"
# BUILD_SHARED_LIBS: "OFF"


# cuda 10.2 and friends

# works when there is no hwloc and tpl hwloc is also switched off.
build/cuda102/nompi/gcc/all/debug/shared:
extends:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda102-nompi-gnu8-llvm8-intel2019
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Debug"
FAST_TESTS: "ON"
BUILD_HWLOC: "OFF"
CUDA_ARCH: 35

# Use TPL hwloc when no system hwloc is available
build/cuda102/nompi/clang/all/release/static:
extends:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda102-nompi-gnu8-llvm8-intel2019
variables:
CXX_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
BUILD_HWLOC: "OFF"

build/cuda102/nompi/intel/cuda/debug/static:
extends:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda102-nompi-gnu8-llvm8-intel2019
variables:
CXX_COMPILER: "icpc"
CXX_FLAGS: ""
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Debug"
FAST_TESTS: "ON"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
BUILD_HWLOC: "OFF"

# cuda 11.0 and friends on HoreKa with tests
build/cuda110/mvapich2/gcc/cuda/debug/shared:
extends:
Expand Down Expand Up @@ -289,40 +157,23 @@ test/cuda110/nompi/clang/cuda/release/static:
SLURM_TIME: "01:30:00"
dependencies: null
needs: [ "build/cuda110/nompi/clang/cuda/release/static" ]



build/cuda110/nompi/intel/cuda/debug/static:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is it removed?

Copy link
Member Author

@upsj upsj Jul 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nvcc with icpc as the host compiler can't compile a simple C++17 header like <variant>, so I would say that qualifies as not properly supporting C++17, see https://gitlab.com/ginkgo-project/ginkgo-public-ci/-/jobs/7265870465

build/cuda110/nompi/clang/cuda/release/shared:
extends:
- .build_template
- .default_variables
- .full_test_condition
- .quick_test_condition
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
variables:
CXX_COMPILER: "icpc"
CXX_FLAGS: ""
CXX_COMPILER: "clang++"
CUDA_ARCH: 52
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Debug"
BUILD_TYPE: "Release"
FAST_TESTS: "ON"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 80
USE_NAME: "cuda110-nompi-intel-${CI_PIPELINE_ID}"
KEEP_CONTAINER: "ON"
USE_SLURM: 0

test/cuda110/nompi/intel/cuda/debug/static:
extends:
- .horeka_test_template
- .default_variables
- .full_test_condition
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
variables:
USE_NAME: "cuda110-nompi-intel-${CI_PIPELINE_ID}"
SLURM_PARTITION: "accelerated"
SLURM_GRES: "gpu:4"
SLURM_TIME: "02:00:00"
dependencies: null
needs: [ "build/cuda110/nompi/intel/cuda/debug/static" ]
# disable spurious unused argument warning
EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177"


# cuda 11.4 and friends
Expand Down Expand Up @@ -521,13 +372,13 @@ build/nocuda/openmpi/clang/omp/glibcxx-debug-release/shared:
# The tests are prohibitively slow in Debug
BUILD_TYPE: "Release"

# nocuda with the oldest supported compiler
# nocuda with old compiler
build/nocuda/nompi/gcc/omp/release/static:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-nocuda-mvapich2-gnu5-llvm39-intel2019
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
BUILD_OMP: "ON"
BUILD_TYPE: "Release"
Expand All @@ -538,7 +389,7 @@ build/nocuda-nomixed/nompi/clang/omp/release/static:
- .build_and_test_template
- .default_variables
- .full_test_condition
- .use_gko-nocuda-mvapich2-gnu5-llvm39-intel2019
- .use_gko-nocuda-nompi-gnu9-llvm8
variables:
CXX_COMPILER: "clang++"
BUILD_OMP: "ON"
Expand Down Expand Up @@ -668,7 +519,7 @@ warnings:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
Expand All @@ -682,7 +533,7 @@ no-circular-deps:
- .build_template
- .default_variables
- .quick_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
Expand All @@ -709,7 +560,7 @@ clang-tidy:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
Expand All @@ -722,7 +573,7 @@ iwyu:
- .build_template
- .default_variables
- .full_test_condition
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
Expand All @@ -737,7 +588,7 @@ sonarqube_cov_:
- .default_variables
- .quick_test_short_lived_condition
- .before_script_template
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
tags:
- private_ci
- controller
Expand Down Expand Up @@ -773,7 +624,7 @@ sonarqube_cov:
- .default_variables
- .deploy_condition
- .before_script_template
- .use_gko-cuda101-openmpi-gnu8-llvm7-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
tags:
- private_ci
- controller
Expand Down Expand Up @@ -836,7 +687,7 @@ threadsanitizer:
- .default_variables
- .deploy_condition
- .before_script_template
- .use_gko-cuda101-openmpi-gnu8-llvm13-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
script:
- LD_PRELOAD=/usr/local/lib/libomp.so
CC=clang CXX=clang++
Expand All @@ -851,7 +702,7 @@ leaksanitizer:
- .default_variables
- .deploy_condition
- .before_script_template
- .use_gko-cuda101-openmpi-gnu8-llvm13-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
script:
- ctest -V -S cmake/CTestScript.cmake -DCTEST_BUILD_CONFIGURATION=LSAN
-DCTEST_MEMORYCHECK_TYPE=LeakSanitizer
Expand All @@ -862,7 +713,7 @@ addresssanitizer:
- .default_variables
- .deploy_condition
- .before_script_template
- .use_gko-cuda101-openmpi-gnu8-llvm13-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
script:
- ctest -V -S cmake/CTestScript.cmake -DCTEST_BUILD_CONFIGURATION=ASAN
-DCTEST_MEMORYCHECK_TYPE=AddressSanitizer
Expand All @@ -873,7 +724,7 @@ undefinedsanitizer:
- .default_variables
- .deploy_condition
- .before_script_template
- .use_gko-cuda101-openmpi-gnu8-llvm13-intel2019
- .use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020
script:
# the Gold linker is required because of a linker flag issues given by UBsan
# in the Ubuntu setup we are using.
Expand All @@ -886,7 +737,7 @@ cudamemcheck:
- .before_script_template
- .default_variables
- .deploy_condition
image: ginkgohub/cuda:101-openmpi-gnu8-llvm13-intel2019
image: ginkgohub/cuda:110-mvapich2-gnu9-llvm9-intel2020
tags:
- private_ci
- nvidia-gpu
Expand Down
27 changes: 0 additions & 27 deletions .gitlab/image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,6 @@
- cpu
- amdci

.use_gko-nocuda-mvapich2-gnu5-llvm39-intel2019:
image: ginkgohub/cpu:mvapich2-gnu5-llvm39-intel2019
tags:
- private_ci
- cpu
- controller

.use_gko-cuda101-openmpi-gnu8-llvm7-intel2019:
image: ginkgohub/cuda:101-openmpi-gnu8-llvm7-intel2019
tags:
- private_ci
- controller
- cpu

.use_gko-cuda101-openmpi-gnu8-llvm13-intel2019:
image: ginkgohub/cuda:101-openmpi-gnu8-llvm13-intel2019
tags:
- private_ci
- nvidia-gpu

.use_gko-cuda102-nompi-gnu8-llvm8-intel2019:
image: ginkgohub/cuda:102-nompi-gnu8-llvm8-intel2019
tags:
- private_ci
- controller
- cpu

.use_gko-cuda110-mvapich2-gnu9-llvm9-intel2020:
image: ginkgohub/cuda:110-mvapich2-gnu9-llvm9-intel2020
tags:
Expand Down
Loading