Skip to content

Commit

Permalink
Add a pipeline with cuda12
Browse files Browse the repository at this point in the history
  • Loading branch information
aurianer committed Nov 19, 2023
1 parent 0df7aba commit c11b206
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 2 deletions.
9 changes: 8 additions & 1 deletion .gitlab/includes/common_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,20 @@ variables:
variables:
SLURM_PARTITION: normal

.test_common_gpu_cuda:
.test_common_gpu_cuda_daint:
extends:
- .test_common
- .container-runner-daint-gpu
variables:
SLURM_PARTITION: normal

.test_common_gpu_cuda_clariden:
extends:
- .test_common
- .container-runner-clariden-a100
variables:
SLURM_PARTITION: normal

.test_common_gpu_hip:
extends:
- .test_common
Expand Down
74 changes: 74 additions & 0 deletions .gitlab/includes/gcc12_cuda12_pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Copyright (c) 2023 ETH Zurich
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file BOOST_LICENSE_1_0.rst or copy at http://www.boost.org/LICENSE_1_0.txt)

include:
- local: '.gitlab/includes/common_pipeline.yml'
- local: '.gitlab/includes/common_spack_pipeline.yml'

.variables_gcc12_cuda12_config:
variables:
ARCH: linux-ubuntu22.04-broadwell
BUILD_TYPE: Debug
COMPILER: [email protected]
CXXSTD: 17
SPACK_SPEC: "pika@main arch=$ARCH %${COMPILER} +cuda malloc=system cxxstd=$CXXSTD \
^[email protected] ^[email protected] ^[email protected] ^[email protected]"

gcc12_cuda12_spack_image:
stage: spack_configs
needs: [base_spack_image]
extends:
- .container-builder
- .variables_gcc12_cuda12_config
before_script:
- CONFIG_TAG=`echo $SPACK_SPEC-$SPACK_COMMIT | sha256sum - | head -c 16`
- compiler=${COMPILER/@/-}
- export PERSIST_IMAGE_NAME=$CSCS_REGISTRY_PATH/pika-$compiler:$CONFIG_TAG
- echo -e "compiler=$compiler\nBASE_IMAGE=$PERSIST_IMAGE_NAME" >> compiler.env
variables:
BASE_IMAGE: $CSCS_REGISTRY_PATH/pika-spack-base:$SPACK_COMMIT
DOCKERFILE: .gitlab/docker/Dockerfile.spack_compiler
DOCKER_BUILD_ARGS: '["BASE_IMAGE","ARCH","COMPILER","SPACK_SPEC"]'
artifacts:
reports:
dotenv: compiler.env

gcc12_cuda12_debug_build:
stage: build
extends:
- .container-builder
- .variables_gcc12_cuda12_config
- .cmake_variables_common
needs:
- gcc12_cuda12_spack_image
before_script:
- build_type=`echo $BUILD_TYPE | tr '[:upper:]' '[:lower:]'`
- configuration=$CMAKE_COMMON_FLAGS-$CMAKE_FLAGS-$CI_COMMIT_SHORT_SHA
- configuration=${configuration//-D/}
- CONFIG_TAG=`echo $configuration | sha256sum - | head -c 16`
- export PERSIST_IMAGE_NAME=$CSCS_REGISTRY_PATH/pika-$compiler-$build_type-build:$CONFIG_TAG
- echo -e "PERSIST_IMAGE_NAME=$PERSIST_IMAGE_NAME" > build.env
variables:
DOCKERFILE: .gitlab/docker/Dockerfile.spack_build
CMAKE_FLAGS: "-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DPIKA_WITH_CXX_STANDARD=$CXXSTD \
-DPIKA_WITH_CUDA=ON -DPIKA_WITH_MALLOC=system \
-DCMAKE_CUDA_ARCHITECTURE=60 -DPIKA_WITH_CXX_LAMBDA_CAPTURE_DECLTYPE=OFF"
# PIKA_WITH_CXX_LAMBDA_CAPTURE_DECLTYPE is OFF to test the fallback implementation of PIKA_FORWARD.
DOCKER_BUILD_ARGS: '["BASE_IMAGE","SOURCE_DIR","BUILD_DIR","CMAKE_COMMON_FLAGS","CMAKE_FLAGS"]'
artifacts:
reports:
dotenv: build.env

gcc12_cuda12_debug_test:
extends:
- .variables_gcc12_cuda12_config
- .test_common_gpu_cuda_clariden
needs:
- gcc12_cuda12_debug_build
script:
- spack arch
- spack build-env $spack_spec -- bash -c "ctest --label-exclude COMPILE_ONLY --test-dir ${BUILD_DIR} -j$(nproc) --timeout 120 --output-on-failure --no-compress-output --no-tests=error"
image: $PERSIST_IMAGE_NAME
2 changes: 1 addition & 1 deletion .gitlab/includes/hip_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ gcc12_hip5_spack_image:
- export PERSIST_IMAGE_NAME=$CSCS_REGISTRY_PATH/pika-$compiler:$CONFIG_TAG
- echo -e "compiler=$compiler\nBASE_IMAGE=$PERSIST_IMAGE_NAME" >> compiler.env
variables:
BASE_IMAGE: $CSCS_REGISTRY_PATH/pika-spack-base:$SPACK_VERSION
BASE_IMAGE: $CSCS_REGISTRY_PATH/pika-spack-base:$SPACK_COMMIT
DOCKERFILE: .gitlab/docker/Dockerfile.spack_compiler
DOCKER_BUILD_ARGS: '["BASE_IMAGE","ARCH","COMPILER","SPACK_SPEC"]'
artifacts:
Expand Down
1 change: 1 addition & 0 deletions .gitlab/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ include:
- local: '.gitlab/includes/dockerhub_pipeline.yml'
- local: '.gitlab/includes/gcc11_pipeline.yml'
- local: '.gitlab/includes/hip_pipeline.yml'
- local: '.gitlab/includes/gcc12_cuda12_pipeline.yml'

0 comments on commit c11b206

Please sign in to comment.