From e01bfe44550f832d106be8e90db5b5c24e8ac2d7 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Fri, 7 Feb 2025 21:27:01 -0500 Subject: [PATCH] Update CI builds to satisfy minimum compiler requirements --- .jenkins/continuous.groovy | 12 ++++++------ .jenkins/nightly.groovy | 14 +++++++------- docker/Dockerfile | 2 +- docker/Dockerfile.sycl | 2 +- docker/README.md | 4 ++-- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.jenkins/continuous.groovy b/.jenkins/continuous.groovy index 1b62cf764..9f941d374 100644 --- a/.jenkins/continuous.groovy +++ b/.jenkins/continuous.groovy @@ -37,12 +37,12 @@ pipeline { stage('Build') { parallel { - stage('CUDA-11.5.2-NVCC-CUDA-AWARE-MPI') { + stage('CUDA-12.0.0-NVCC-CUDA-AWARE-MPI') { agent { dockerfile { filename "Dockerfile" dir "docker" - additionalBuildArgs '--build-arg BASE=nvidia/cuda:11.5.2-devel-ubuntu20.04 --build-arg KOKKOS_VERSION=4.3.00 --build-arg KOKKOS_OPTIONS="-DCMAKE_CXX_EXTENSIONS=OFF -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON" --build-arg CUDA_AWARE_MPI=1' + additionalBuildArgs '--build-arg BASE=nvidia/cuda:12.0.0-devel-ubuntu22.04 --build-arg KOKKOS_VERSION=4.3.00 --build-arg KOKKOS_OPTIONS="-DCMAKE_CXX_EXTENSIONS=OFF -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON" --build-arg CUDA_AWARE_MPI=1' args '-v /tmp/ccache:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES}' label 'NVIDIA_Tesla_V100-PCIE-32GB && nvidia-docker' } @@ -98,12 +98,12 @@ pipeline { } } } - stage('CUDA-11.7.1-NVCC') { + stage('CUDA-12.8.0-NVCC') { agent { dockerfile { filename "Dockerfile" dir "docker" - additionalBuildArgs '--build-arg BASE=nvidia/cuda:11.7.1-devel-ubuntu20.04 --build-arg KOKKOS_VERSION=4.4.00 --build-arg KOKKOS_OPTIONS="-DCMAKE_CXX_EXTENSIONS=OFF -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON"' + additionalBuildArgs '--build-arg BASE=nvidia/cuda:12.8.0-devel-ubuntu22.04 --build-arg KOKKOS_VERSION=4.4.00 --build-arg KOKKOS_OPTIONS="-DCMAKE_CXX_EXTENSIONS=OFF -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON"' args '-v /tmp/ccache:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES}' label 'NVIDIA_Tesla_V100-PCIE-32GB && nvidia-docker' } @@ -158,12 +158,12 @@ pipeline { } } } - stage('CUDA-11.0.3-Clang') { + stage('CUDA-12.0.1-Clang') { agent { dockerfile { filename "Dockerfile" dir "docker" - additionalBuildArgs '--build-arg BASE=nvidia/cuda:11.0.3-devel-ubuntu18.04 --build-arg KOKKOS_VERSION="4.3.00" --build-arg KOKKOS_OPTIONS="-DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_COMPILER=clang++ -DKokkos_ENABLE_THREADS=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON -DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu"' + additionalBuildArgs '--build-arg BASE=nvidia/cuda:12.0.1-devel-ubuntu18.04 --build-arg KOKKOS_VERSION="4.3.00" --build-arg KOKKOS_OPTIONS="-DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_COMPILER=clang++ -DKokkos_ENABLE_THREADS=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_VOLTA70=ON -DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu"' args '-v /tmp/ccache:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES}' label 'NVIDIA_Tesla_V100-PCIE-32GB && nvidia-docker' } diff --git a/.jenkins/nightly.groovy b/.jenkins/nightly.groovy index 6cbbf6934..c02fff0a4 100644 --- a/.jenkins/nightly.groovy +++ b/.jenkins/nightly.groovy @@ -8,16 +8,16 @@ pipeline { stage('Build') { parallel { - stage('CUDA-11.7.1') { + stage('CUDA-12.4.1') { agent { docker { - image 'nvidia/cuda:11.7.1-devel-ubuntu22.04' + image 'nvidia/cuda:12.4.1-devel-ubuntu22.04' label 'NVIDIA_Tesla_V100-PCIE-32GB && nvidia-docker' } } environment { CTEST_OPTIONS = '--timeout 180 --no-compress-output -T Test' - CMAKE_OPTIONS = '-D CMAKE_BUILD_TYPE=Release -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_EXTENSIONS=OFF' + CMAKE_OPTIONS = '-D CMAKE_BUILD_TYPE=Release -D CMAKE_CXX_STANDARD=20 -D CMAKE_CXX_EXTENSIONS=OFF' } steps { sh 'apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y git cmake libboost-program-options-dev libboost-test-dev libbenchmark-dev' @@ -48,16 +48,16 @@ pipeline { } } } - stage('CUDA-12.2.0-MPI') { + stage('CUDA-12.2.2-MPI') { agent { docker { - image 'nvidia/cuda:12.2.0-devel-ubuntu22.04' + image 'nvidia/cuda:12.2.2-devel-ubuntu22.04' label 'NVIDIA_Tesla_V100-PCIE-32GB && nvidia-docker' } } environment { CTEST_OPTIONS = '--timeout 180 --no-compress-output -T Test' - CMAKE_OPTIONS = '-D CMAKE_BUILD_TYPE=Release -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_EXTENSIONS=OFF' + CMAKE_OPTIONS = '-D CMAKE_BUILD_TYPE=Release -D CMAKE_CXX_STANDARD=20 -D CMAKE_CXX_EXTENSIONS=OFF' } steps { sh 'apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y git cmake libboost-program-options-dev libboost-test-dev libbenchmark-dev libopenmpi-dev' @@ -98,7 +98,7 @@ pipeline { } environment { CTEST_OPTIONS = '--timeout 180 --no-compress-output -T Test' - CMAKE_OPTIONS = '-D CMAKE_BUILD_TYPE=Release -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_COMPILER=hipcc -DCMAKE_PREFIX_PATH=/opt/rocm' + CMAKE_OPTIONS = '-D CMAKE_BUILD_TYPE=Release -D CMAKE_CXX_STANDARD=20 -D CMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_COMPILER=hipcc -DCMAKE_PREFIX_PATH=/opt/rocm' } steps { sh 'apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y git cmake libboost-program-options-dev libboost-test-dev libbenchmark-dev' diff --git a/docker/Dockerfile b/docker/Dockerfile index cbe29c835..933e3d5ca 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE=nvidia/cuda:11.0.3-devel-ubuntu18.04 +ARG BASE=nvidia/cuda:12.0.0-devel-ubuntu22.04 FROM $BASE ARG NPROCS=4 diff --git a/docker/Dockerfile.sycl b/docker/Dockerfile.sycl index 4d24a872f..f3dc2b538 100644 --- a/docker/Dockerfile.sycl +++ b/docker/Dockerfile.sycl @@ -128,7 +128,7 @@ RUN SCRATCH_DIR=/scratch && mkdir -p ${SCRATCH_DIR} && cd ${SCRATCH_DIR} && \ # Install Kokkos ARG KOKKOS_VERSION=4.3.00 -ARG KOKKOS_OPTIONS="-DKokkos_ENABLE_SYCL=ON -DCMAKE_CXX_FLAGS=-Wno-unknown-cuda-version -DKokkos_ENABLE_UNSUPPORTED_ARCHS=ON -DKokkos_ARCH_VOLTA70=ON -DKOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED=0 -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_FLAGS=-w" +ARG KOKKOS_OPTIONS="-DKokkos_ENABLE_SYCL=ON -DCMAKE_CXX_FLAGS=-Wno-unknown-cuda-version -DKokkos_ENABLE_UNSUPPORTED_ARCHS=ON -DKokkos_ARCH_VOLTA70=ON -DKOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED=0 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_FLAGS=-w" ENV KOKKOS_DIR=/opt/kokkos RUN . /opt/intel/oneapi/setvars.sh --include-intel-llvm && \ KOKKOS_URL=https://github.com/kokkos/kokkos/archive/${KOKKOS_VERSION}.tar.gz && \ diff --git a/docker/README.md b/docker/README.md index a2a7a01dc..33dac243d 100644 --- a/docker/README.md +++ b/docker/README.md @@ -12,7 +12,7 @@ services: arborx_dev: build: args: - - BASE=nvidia/cuda:11.5.2-devel-ubuntu20.04 + - BASE=nvidia/cuda:12.2.2-devel-ubuntu22.04 - KOKKOS_VERSION=4.2.00 - - KOKKOS_OPTIONS=-DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_SNB=ON -DKokkos_ARCH_VOLTA70=ON + - KOKKOS_OPTIONS=-DCMAKE_CXX_STANDARD=20 -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_SNB=ON -DKokkos_ARCH_VOLTA70=ON ```