diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 028d6795d5821e66c079bf77be59fa9a0d53c6f0..130441ef11aa7f83e9b6672532167599513d20ea 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,6 +32,7 @@ include: - local: .gitlab/platform/jusuf.batch.2023.yml - local: .gitlab/platform/jusuf.batch.2024.yml - local: .gitlab/platform/jusuf.gpus.2023.yml + - local: .gitlab/platform/jusuf.gpus.2024.yml - local: .gitlab/platform/jureca.dc-gpu.2023.yml - local: .gitlab/platform/documentation.yml diff --git a/.gitlab/platform/jusuf.gpus.2024.yml b/.gitlab/platform/jusuf.gpus.2024.yml new file mode 100644 index 0000000000000000000000000000000000000000..b646fcb0f848926b42351c091a04f063ccda0b92 --- /dev/null +++ b/.gitlab/platform/jusuf.gpus.2024.yml @@ -0,0 +1,10 @@ +#--------------------------------------------------------------------------------------------------- +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: (C) 2020, Jayesh Badwaik <jayesh@badwaik.dev> +#--------------------------------------------------------------------------------------------------- + +.platform.jusuf.gpus.2024: + before_script: + - echo "No Before Script" + after_script: + - rm -rf $PLATFORM_ROOT diff --git a/.gitlab/site/prod.jsc/main.yml b/.gitlab/site/prod.jsc/main.yml index 9acb7a2178d62330a5ea5a832f8a31327407c386..d567b06255202bbc7c8dae55baa4b75c513a597f 100644 --- a/.gitlab/site/prod.jsc/main.yml +++ b/.gitlab/site/prod.jsc/main.yml @@ -262,6 +262,64 @@ jusuf.gpus.2023.universal.cuda.production.test.test.release.current.compat: USE_TOOLCHAIN_FILE: 'false' stage: Test +jusuf.gpus.2024.universal.cuda.production.test.test.debug.current.compat: + extends: + - .platform.jusuf.gpus.2024 + - .universal + stage: Test + tags: + - jacamar + - jusuf + - login + - shell + variables: + JOB_FEATURE: cuda + JOB_PRESET: test.debug + JOB_STANDARD: current + JOB_SUBPROFILE: compat + PLATFORM_BUILD_DIR: $PLATFORM_ROOT/build + PLATFORM_FORWARD_PARAMETERS: --input /tmp/input --output /tmp/output + PLATFORM_INSTALL_DIR: $PLATFORM_ROOT/install + PLATFORM_LAUNCHER: slurm + PLATFORM_LAUNCHER_PARAM: --account=exalab --nodes=1 --partition=gpus --gres=gpu:1 + PLATFORM_NAME: jusuf.gpus.2024 + PLATFORM_OUTPUT_DIR: $PLATFORM_ROOT/output + PLATFORM_PKGROOT: $PLATFORM_ROOT/pkgroot + PLATFORM_ROOT: /p/scratch/cexalab/badwaik1/ci/$CI_JOB_ID + PLATFORM_TESTDATA_DIR: $PLATFORM_ROOT/testdata + TEST_PRESET: production.test + USE_TOOLCHAIN_FILE: 'false' + stage: Test + +jusuf.gpus.2024.universal.cuda.production.test.test.release.current.compat: + extends: + - .platform.jusuf.gpus.2024 + - .universal + stage: Test + tags: + - jacamar + - jusuf + - login + - shell + variables: + JOB_FEATURE: cuda + JOB_PRESET: test.release + JOB_STANDARD: current + JOB_SUBPROFILE: compat + PLATFORM_BUILD_DIR: $PLATFORM_ROOT/build + PLATFORM_FORWARD_PARAMETERS: --input /tmp/input --output /tmp/output + PLATFORM_INSTALL_DIR: $PLATFORM_ROOT/install + PLATFORM_LAUNCHER: slurm + PLATFORM_LAUNCHER_PARAM: --account=exalab --nodes=1 --partition=gpus --gres=gpu:1 + PLATFORM_NAME: jusuf.gpus.2024 + PLATFORM_OUTPUT_DIR: $PLATFORM_ROOT/output + PLATFORM_PKGROOT: $PLATFORM_ROOT/pkgroot + PLATFORM_ROOT: /p/scratch/cexalab/badwaik1/ci/$CI_JOB_ID + PLATFORM_TESTDATA_DIR: $PLATFORM_ROOT/testdata + TEST_PRESET: production.test + USE_TOOLCHAIN_FILE: 'false' + stage: Test + x64.cuda.12.install.cuda.package.production.test.current.install: extends: - .platform.x64.cuda.12 diff --git a/dev/etc/gitlab/ci/site/prod.jsc/main/compat.json b/dev/etc/gitlab/ci/site/prod.jsc/main/compat.json index 58c3d3167219ec0c9ccdc3ec8f37b5a5157222c7..7502697a417fa062ebc6865a0967c459436e0298 100644 --- a/dev/etc/gitlab/ci/site/prod.jsc/main/compat.json +++ b/dev/etc/gitlab/ci/site/prod.jsc/main/compat.json @@ -37,7 +37,8 @@ "platform": [ "x64.cuda.12", "x64.nvhpc.23", - "jusuf.gpus.2023" + "jusuf.gpus.2023", + "jusuf.gpus.2024" ], "template": [ ".universal" diff --git a/dev/lib/platform/jusuf.gpus.2024/env.bash b/dev/lib/platform/jusuf.gpus.2024/env.bash new file mode 100644 index 0000000000000000000000000000000000000000..962e09cd550de60e42b91d38b8c9857a1e20775c --- /dev/null +++ b/dev/lib/platform/jusuf.gpus.2024/env.bash @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------------- +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: (C) 2022 Jayesh Badwaik <j.badwaik@fz-juelich.de> +# -------------------------------------------------------------------------------------------------- + +set -euo pipefail + +if [[ $# -ne 1 ]]; then + echo "You provided $# arguments." + echo "The script accepts 1 argument of a ';'-separated feature string." + exit 1 +fi + + +FEATURE_ARRAY_STRING=$1 + +module purge +module load Stages/2024 +module load git-lfs + +if [[ $FEATURE_ARRAY_STRING == "none" ]]; then + module load GCC +fi + +if [[ $FEATURE_ARRAY_STRING == "cuda" ]]; then + module load GCC CUDA +fi + +if [[ $FEATURE_ARRAY_STRING == "mpi" ]]; then + module load GCC ParaStationMPI +fi + diff --git a/dev/lib/platform/jusuf.gpus.2024/platform.json b/dev/lib/platform/jusuf.gpus.2024/platform.json new file mode 100644 index 0000000000000000000000000000000000000000..ea871649ca9de9aa44e25c2e169ac9d59c82d627 --- /dev/null +++ b/dev/lib/platform/jusuf.gpus.2024/platform.json @@ -0,0 +1,60 @@ +{ + "name": "jusuf.gpus.2024", + "capability": { + "dimensions": [ + "JOB_STANDARD", + "JOB_PRESET", + "JOB_FEATURE", + "TEST_PRESET" + + ], + "value": [ + { + "_product": { + "JOB_PRESET": [ + "package", + "test.compile", + "test.debug", + "test.release" + ], + "JOB_STANDARD": [ + "past", + "current", + "future" + ], + "TEST_PRESET": [ + "production.test", + "production.bench" + ], + "JOB_FEATURE": [ + "none", + "mpi", + "cuda" + ] + } + } + ] + }, + "gitlab": { + "_all" : { + "variables": { + "PLATFORM_ROOT": "/p/scratch/cexalab/badwaik1/ci/$CI_JOB_ID", + "PLATFORM_INSTALL_DIR": "$PLATFORM_ROOT/install", + "PLATFORM_BUILD_DIR": "$PLATFORM_ROOT/build", + "PLATFORM_OUTPUT_DIR": "$PLATFORM_ROOT/output", + "PLATFORM_TESTDATA_DIR": "$PLATFORM_ROOT/testdata", + "PLATFORM_PKGROOT": "$PLATFORM_ROOT/pkgroot", + "USE_TOOLCHAIN_FILE": "false", + "PLATFORM_LAUNCHER": "slurm", + "PLATFORM_LAUNCHER_PARAM": "--account=exalab --nodes=1 --partition=gpus --gres=gpu:1", + "PLATFORM_FORWARD_PARAMETERS": "--input /tmp/input --output /tmp/output" + }, + "tags": [ + "jacamar", + "jusuf", + "login", + "shell" + ] + } + } +}