-
Notifications
You must be signed in to change notification settings - Fork 104
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #920 from LLNL/v0.13.0-rc
V0.13.0 rc
- Loading branch information
Showing
96 changed files
with
2,805 additions
and
1,326 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
############################################################################### | ||
# Copyright (c) 2016-2020, Lawrence Livermore National Security, LLC | ||
# and RAJA project contributors. See the RAJA/COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################### | ||
|
||
############################################################################### | ||
# General GitLab pipelines configurations for supercomputers and Linux clusters | ||
# at Lawrence Livermore National Laboratory (LLNL). | ||
# | ||
# This entire pipeline is LLNL-specific | ||
# ############################################################################# | ||
|
||
# We define the following GitLab pipeline variables: | ||
# | ||
# GIT_SUBMODULE_STRATEGY: | ||
# Tells Gitlab to recursively update the submodules when cloning umpire | ||
# | ||
# ALLOC_NAME: | ||
# On LLNL's quartz, this pipeline creates only one allocation shared among jobs | ||
# in order to save time and resources. This allocation has to be uniquely named | ||
# so that we are sure to retrieve it. | ||
# | ||
# BUILD_ROOT: | ||
# The path to the shared resources between all jobs. The BUILD_ROOT is unique to | ||
# the pipeline, preventing any form of concurrency with other pipelines. This | ||
# also means that the BUILD_ROOT directory will never be cleaned. | ||
# TODO: add a clean-up mechanism | ||
|
||
variables: | ||
GIT_SUBMODULE_STRATEGY: recursive | ||
ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID} | ||
BUILD_ROOT: ${CI_PROJECT_DIR} | ||
|
||
# Normally, stages are blocking in Gitlab. However, using the keyword "needs" we | ||
# can express dependencies between job that break the ordering of stages, in | ||
# favor of a DAG. | ||
# In practice q_*, l_* and b_* stages are independently run and start immediately. | ||
|
||
stages: | ||
- q_allocate_resources | ||
- q_build_and_test | ||
- q_release_resources | ||
- l_build_and_test | ||
- b_build_and_test | ||
- multi_project | ||
|
||
# This is the rules that drives the activation of "advanced" jobs. All advanced | ||
# jobs will share this through a template mechanism. | ||
.advanced_pipeline: | ||
rules: | ||
- if: '$CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "develop" || $ALL_TARGETS == "ON"' #run only if ... | ||
|
||
# These are also templates (.name) that define project specific build commands. | ||
# If an allocation exist with the name defined in this pipeline, the job will | ||
# use it (slurm specific). | ||
.build_toss_3_x86_64_ib_script: | ||
script: | ||
- echo ${ALLOC_NAME} | ||
- export JOBID=$(squeue -h --name=${ALLOC_NAME} --format=%A) | ||
- echo ${JOBID} | ||
- srun $( [[ -n "${JOBID}" ]] && echo "--jobid=${JOBID}" ) -t 15 -N 1 scripts/gitlab/build_and_test.sh | ||
|
||
# Lassen and Butte use a different job scheduler (spectrum lsf) that does not | ||
# allow pre-allocation the same way slurm does. | ||
.build_blueos_3_ppc64le_ib_script: | ||
script: | ||
- lalloc 1 -W 15 scripts/gitlab/build_and_test.sh | ||
|
||
.build_blueos_3_ppc64le_ib_p9_script: | ||
extends: .build_blueos_3_ppc64le_ib_script | ||
|
||
# If testing develop branch, trigger CHAI pipeline with this version of RAJA. | ||
# TODO: Once spack allows to clone a specific commit on demand, then point to the exact commit. | ||
# This will prevent from sticking to a branch (here develop). | ||
trigger-chai: | ||
stage: multi_project | ||
rules: | ||
- if: '$CI_COMMIT_BRANCH == "develop" || $MULTI_PROJECT == "ON"' #run only if ... | ||
variables: | ||
UPDATE_RAJA: develop | ||
trigger: | ||
project: radiuss/chai | ||
branch: develop | ||
strategy: depend | ||
|
||
# This is where jobs are included. | ||
include: | ||
- local: .gitlab/quartz-templates.yml | ||
- local: .gitlab/quartz-jobs.yml | ||
- local: .gitlab/lassen-templates.yml | ||
- local: .gitlab/lassen-jobs.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
############################################################################## | ||
# Copyright (c) 2016-2020, Lawrence Livermore National Security, LLC | ||
# and RAJA project contributors. See the RAJA/COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################## | ||
|
||
#### | ||
# All lassen build jobs | ||
nvcc_10_clang_8_0_1 (build and test on lassen): | ||
variables: | ||
SPEC: "%[email protected]+cuda" | ||
extends: .build_and_test_on_lassen | ||
allow_failure: True |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
############################################################################## | ||
# Copyright (c) 2016-2020, Lawrence Livermore National Security, LLC | ||
# and RAJA project contributors. See the RAJA/COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################## | ||
|
||
#### | ||
# Shared configuration of jobs for lassen | ||
.on_lassen: | ||
variables: | ||
tags: | ||
- shell | ||
- lassen | ||
rules: | ||
- if: '$CI_COMMIT_BRANCH =~ /_lnone/ || $ON_LASSEN == "OFF"' #run except if ... | ||
when: never | ||
- when: on_success | ||
|
||
.build_and_test_on_lassen: | ||
stage: l_build_and_test | ||
extends: [.build_blueos_3_ppc64le_ib_p9_script, .on_lassen] | ||
needs: [] | ||
|
||
# Note: .build_and_test_on_lassen_advanced inherits from | ||
# .build_and_test_on_lassen and .advanced_pileline. | ||
# In particular, the rules section will be merged. Careful when changing rules. | ||
.build_and_test_on_lassen_advanced: | ||
extends: [.build_and_test_on_lassen, .advanced_pipeline] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
############################################################################## | ||
# Copyright (c) 2016-2020, Lawrence Livermore National Security, LLC | ||
# and RAJA project contributors. See the RAJA/COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################## | ||
|
||
#### | ||
# Quartz build jobs | ||
clang_9_0_0 (build and test on quartz): | ||
variables: | ||
SPEC: "%[email protected]" | ||
extends: .build_and_test_on_quartz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
############################################################################## | ||
# Copyright (c) 2016-2020, Lawrence Livermore National Security, LLC | ||
# and RAJA project contributors. See the RAJA/COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################## | ||
|
||
#### | ||
# This is the share configuration of jobs for quartz | ||
|
||
#### | ||
# In pre-build phase, allocate a node for builds | ||
.on_quartz: | ||
tags: | ||
- shell | ||
- quartz | ||
rules: | ||
- if: '$CI_COMMIT_BRANCH =~ /_qnone/ || $ON_QUARTZ == "OFF"' #run except if ... | ||
when: never | ||
- if: '$CI_JOB_NAME =~ /release_resources/' | ||
when: always | ||
- when: on_success | ||
|
||
#### | ||
# In pre-build phase, allocate a node for builds | ||
allocate_resources (on quartz): | ||
variables: | ||
GIT_STRATEGY: none | ||
extends: .on_quartz | ||
stage: q_allocate_resources | ||
script: | ||
- salloc -N 1 -c 36 -p pdebug -t 20 --no-shell --job-name=${ALLOC_NAME} | ||
needs: [] | ||
|
||
#### | ||
# In post-build phase, deallocate resources | ||
# Note : make sure this is run even on build phase failure | ||
release_resources (on quartz): | ||
variables: | ||
GIT_STRATEGY: none | ||
extends: .on_quartz | ||
stage: q_release_resources | ||
script: | ||
- export JOBID=$(squeue -h --name=${ALLOC_NAME} --format=%A) | ||
- ([[ -n "${JOBID}" ]] && scancel ${JOBID}) | ||
|
||
#### | ||
# Generic quartz build job, extending build script | ||
.build_and_test_on_quartz: | ||
stage: q_build_and_test | ||
extends: [.build_toss_3_x86_64_ib_script, .on_quartz] | ||
|
||
.build_and_test_on_quartz_advanced: | ||
extends: [.build_and_test_on_quartz, .advanced_pipeline] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule blt
updated
31 files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.