Skip to content

Commit

Permalink
ci: add frontier pipelines
Browse files Browse the repository at this point in the history
  • Loading branch information
vicentebolea committed Jul 11, 2024
1 parent 9e034b0 commit c5b68f1
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 32 deletions.
2 changes: 1 addition & 1 deletion .gitlab/config/dynamic_pipeline.yml.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ child_pipeline_{branch}:
DOWNSTREAM_BRANCH_REF: '{branch}'
trigger:
include:
- project: 'ci/csc303_crusher/dev/adios2'
- project: 'ci/ums029/dev/adios2'
ref: '{branch}'
file: '.gitlab/gitlab-ci-crusher.yml'
10 changes: 5 additions & 5 deletions .gitlab/gitlab-ci-ascent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
module purge
module load ${JOB_MODULES}
module list
export PATH="/gpfs/wolf/csc303/scratch/vbolea/ci/utils:$PATH"
export PATH="/gpfs/wolf/ums029/scratch/vbolea/ci/utils:$PATH"

.ascent-common:
except:
Expand All @@ -13,13 +13,13 @@
interruptible: true
variables:
CCACHE_BASEDIR: "/gpfs/wolf/"
CCACHE_DIR: "/gpfs/wolf/csc303/scratch/vbolea/ci/ccache"
CCACHE_DIR: "/gpfs/wolf/ums029/scratch/vbolea/ci/ccache"
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
CCACHE_NOHASHDIR: "true"

CUDAHOSTCXX: "g++"
CUSTOM_CI_BUILDS_DIR: "/gpfs/wolf/csc303/scratch/vbolea/ci/adios2"
CUSTOM_CI_BUILDS_DIR: "/gpfs/wolf/ums029/scratch/vbolea/ci/adios2"
GITLAB_SITE: "OLCF Ascent"
CI_BIN_DIR: "$CI_PROJECT_DIR/build"
SCHEDULER_PARAMETERS: -P CSC303 -W 1:00 -nnodes 1 -alloc_flags gpudefault
Expand Down Expand Up @@ -128,7 +128,7 @@ sync-github-prs:
only:
- schedules
variables:
CUSTOM_CI_BUILDS_DIR: "/gpfs/wolf/csc303/scratch/vbolea/ci/adios2"
CUSTOM_CI_BUILDS_DIR: "/gpfs/wolf/ums029/scratch/vbolea/ci/adios2"
script:
- export PATH="/gpfs/wolf/csc303/scratch/vbolea/ci/utils:$PATH"
- export PATH="/gpfs/wolf/ums029/scratch/vbolea/ci/utils:$PATH"
- .gitlab/config/SpackCIBridge.py ornladios/ADIOS2 [email protected]:ecpcitest/adios2.git https://code.ornl.gov/ ecpcitest/adios2 --prereq-check=format --prereq-check=git_checks
59 changes: 33 additions & 26 deletions .gitlab/gitlab-ci-crusher.yml → .gitlab/gitlab-ci-frontier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ stages:
ccache -z
ccache -s

.crusher-common:
.frontier-common:
rules:
- if: $CI_PIPELINE_SOURCE =~ /parent_pipeline|web/
interruptible: true
variables:
CCACHE_BASEDIR: "/lustre/orion/csc303/scratch/"
CCACHE_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/ccache"
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime"
CCACHE_BASEDIR: "/lustre/orion/ums029/scratch/"
CCACHE_DIR: "/lustre/orion/ums029/scratch/ums029_auser/ci/adios2/ccache"
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/ums029/scratch/ums029_auser/ci/adios2/runtime"

# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
Expand All @@ -44,6 +44,7 @@ stages:
GIT_CONFIG_GLOBAL: "true"
GITLAB_SITE: "OLCF Crusher"
CI_BIN_DIR: "$CI_PROJECT_DIR/build"
OLCF_SERVICE_ACCOUNT: "ums029_auser"

.setup-common:
stage: setup
Expand All @@ -62,9 +63,9 @@ stages:

.build-common:
stage: build
tags: [ slurm ]
tags: [frontier, slurm]
variables:
SCHEDULER_PARAMETERS: "-ACSC303_crusher -t30 --nice=0 -c32 --gpus=4 -N 1"
SCHEDULER_PARAMETERS: "-AUMS029 -pbatch -t 00:30:00 --nice=0 -c48 --threads-per-core=2 --gpus=8 -N 1"
before_script:
- *setup_env_ecpci
script:
Expand Down Expand Up @@ -93,7 +94,7 @@ stages:
hdf5
zstd
setup:crusher-kokkos-hip:
setup:frontier-kokkos-hip:
variables:
KOKKOS_VER: 3.7.01
KOKKOS_OPTS: >-
Expand All @@ -104,25 +105,25 @@ setup:crusher-kokkos-hip:
-DKokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE:BOOL=OFF
-DKokkos_ENABLE_SERIAL:BOOL=ON
extends:
- .crusher-common
- .frontier-common
- .setup-common
- .kokkos-hip-common
before_script:
- *setup_env_ecpci
- *install_ccache
- .gitlab/config/kokkos.sh "$CI_PROJECT_DIR/deps" "$KOKKOS_VER" $KOKKOS_OPTS

build:crusher-kokkos-hip:
build:frontier-kokkos-hip:
extends:
- .crusher-common
- .frontier-common
- .build-common
- .kokkos-hip-common
before_script:
- *setup_env_ecpci
needs:
- setup:crusher-kokkos-hip
- setup:frontier-kokkos-hip
dependencies:
- setup:crusher-kokkos-hip
- setup:frontier-kokkos-hip

.cray-common:
variables:
Expand All @@ -136,21 +137,21 @@ build:crusher-kokkos-hip:
zstd
DefApps
extends:
- .crusher-common
- .frontier-common

setup:crusher-cray:
setup:frontier-cray:
extends:
- .setup-common
- .cray-common

build:crusher-cray:
build:frontier-cray:
extends:
- .build-common
- .cray-common
needs:
- setup:crusher-cray
- setup:frontier-cray
dependencies:
- setup:crusher-cray
- setup:frontier-cray

.report-status:
rules:
Expand All @@ -159,12 +160,13 @@ build:crusher-cray:
variables:
STATUS_PROJECT: ornladios/ADIOS2
STATUS_NAME: OLCF Crusher (Frontier)
OLCF_SERVICE_ACCOUNT: "ums029_auser"
before_script: |
git fetch
source scripts/ci/gitlab-ci/setup-vars.sh
git checkout "$CI_COMMIT_REF"
script: >
curl -X POST -H @${GITHUB_CURL_HEADERS}
curl -X POST -H "${GITHUB_CURL_HEADERS}"
"https://api.github.com/repos/${STATUS_PROJECT}/statuses/${CI_ORIGINAL_SHA}"
-d "{\"state\":\"${CI_JOB_NAME}\", \"context\":\"${STATUS_NAME}\",\"target_url\":\"${CI_PIPELINE_URL}\",\"description\":\"${STATUS_DESC}\"}"
environment:
Expand All @@ -174,39 +176,43 @@ pending:
stage: pre
variables:
STATUS_DESC: Pipeline is running
OLCF_SERVICE_ACCOUNT: "ums029_auser"
extends:
- .report-status
success:
stage: post
variables:
STATUS_DESC: Pipeline succeeded
OLCF_SERVICE_ACCOUNT: "ums029_auser"
extends:
- .report-status
dependencies:
- build:crusher-kokkos-hip
- build:crusher-cray
- build:frontier-kokkos-hip
- build:frontier-cray
failure:
stage: post
rules:
- if: $CI_PIPELINE_SOURCE =~ /parent_pipeline|web/
when: on_failure
variables:
STATUS_DESC: Pipeline failed
OLCF_SERVICE_ACCOUNT: "ums029_auser"
extends:
- .report-status
dependencies:
- build:crusher-kokkos-hip
- build:crusher-cray
- build:frontier-kokkos-hip
- build:frontier-cray

generate_pipelines:
stage: setup
tags: [ shell ]
tags: [frontier, shell]
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
variables:
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime"
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/ums029/scratch/ums029_auser/ci/adios2/runtime"
OLCF_SERVICE_ACCOUNT: "ums029_auser"
script:
- .gitlab/config/generate_pipelines.py -u "https://code.olcf.ornl.gov/" -p 78 -n ornladios/ADIOS2 -f .gitlab/config/dynamic_pipeline.yml.in > generated_pipelines.yml
- .gitlab/config/generate_pipelines.py -u "https://code.olcf.ornl.gov/" -p 105 -n ornladios/ADIOS2 -f .gitlab/config/dynamic_pipeline.yml.in > generated_pipelines.yml
artifacts:
paths:
- generated_pipelines.yml
Expand All @@ -216,7 +222,8 @@ launch_pipelines:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
variables:
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime"
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/ums029/scratch/ums029_auser/ci/adios2/runtime"
OLCF_SERVICE_ACCOUNT: "ums029_auser"
trigger:
include:
- artifact: generated_pipelines.yml
Expand Down
File renamed without changes.

0 comments on commit c5b68f1

Please sign in to comment.