-
Notifications
You must be signed in to change notification settings - Fork 39
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 #469 from LLNL/v2024.xx.y-RC
Merge RC branch to main for rv2024.07.0 release
- Loading branch information
Showing
730 changed files
with
32,363 additions
and
6,311 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 |
---|---|---|
@@ -1,75 +1,91 @@ | ||
############################################################################### | ||
# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC | ||
# Copyright (c) 2017-24, Lawrence Livermore National Security, LLC | ||
# and RAJA Performance Suite project contributors. | ||
# See the RAJAPerf/LICENSE file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################### | ||
|
||
# DESCRIPTION: | ||
############################################################################### | ||
# General GitLab pipelines configurations for supercomputers and Linux clusters | ||
# at Lawrence Livermore National Laboratory (LLNL). | ||
# | ||
# This entire pipeline is LLNL-specific | ||
# | ||
# Important note: This file is a copy of the template provided by | ||
# llnl/radiuss-shared-ci. It should not require any change from the project to | ||
# get started but could feature project-specific stages. | ||
# Important note: This file is a template provided by llnl/radiuss-shared-ci. | ||
# Remains to set variable values, change the reference to the radiuss-shared-ci | ||
# repo, opt-in and out optional features. The project can then extend it with | ||
# additional stages. | ||
# | ||
# Instead, each project should provide: | ||
# - .gitlab/subscribed-pipelines.yml | ||
# In addition, each project should copy over and complete: | ||
# - .gitlab/custom-jobs-and-variables.yml | ||
# - .gitlab/${MACHINE}-build-and-test-extra.yml | ||
# - .gitlab/subscribed-pipelines.yml | ||
# | ||
# The jobs should be specified in a file local to the project, | ||
# - .gitlab/jobs/${CI_MACHINE}.yml | ||
# or generated (see LLNL/Umpire for an example). | ||
############################################################################### | ||
|
||
# We define the following GitLab pipeline variables: | ||
variables: | ||
# Required information about GitHub repository | ||
GITHUB_PROJECT_NAME: "RAJAPerf" | ||
GITHUB_PROJECT_ORG: "LLNL" | ||
# Use the umdev service user to run CI. This prevents from running pipelines as | ||
# an actual user. | ||
##### LC GITLAB CONFIGURATION | ||
# Use a LLNL service user to run CI. This prevents from running pipelines as an | ||
# actual user. | ||
LLNL_SERVICE_USER: rajasa | ||
# Use the service user workspace. Solves permission issues, stores everything | ||
# at the same location whoever triggers a pipeline. | ||
# CUSTOM_CI_BUILDS_DIR: "" | ||
# CUSTOM_CI_BUILDS_DIR: "/usr/workspace/rajasa/gitlab-runner" | ||
# Tells Gitlab to recursively update the submodules when cloning the project. | ||
GIT_SUBMODULE_STRATEGY: recursive | ||
# We build the projects in the CI clone directory. | ||
# TODO: add a clean-up mechanism | ||
|
||
##### PROJECT VARIABLES | ||
# We build the projects in the CI clone directory (used in | ||
# script/gitlab/build_and_test.sh script). | ||
# TODO: add a clean-up mechanism. | ||
BUILD_ROOT: ${CI_PROJECT_DIR} | ||
|
||
##### SHARED_CI CONFIGURATION | ||
# Required information about GitHub repository | ||
GITHUB_PROJECT_NAME: "RAJAPerf" | ||
GITHUB_PROJECT_ORG: "LLNL" | ||
# Set the build-and-test command. | ||
BUILD_AND_TEST_CMD: "./scripts/gitlab/build_and_test.sh" | ||
# Override the list of branch that will skip the "draft PR test". | ||
# Add protected branches here. Defaults to "develop main master". | ||
# ALWAYS_RUN_LIST: "develop main" | ||
JOB_CMD: | ||
value: "./scripts/gitlab/build_and_test.sh" | ||
expand: false | ||
# Override the pattern describing branches that will skip the "draft PR filter | ||
# test". Add protected branches here. See default value in | ||
# preliminary-ignore-draft-pr.yml. | ||
# ALWAYS_RUN_PATTERN: "^develop$|^main$|^v[0-9.]*-RC$" | ||
|
||
# We organize the CI on Gitlab in sub-pipelines. Each sub-pipeline corresponds | ||
# to a test phase on a given machine. | ||
# We organize the build-and-test stage with sub-pipelines. Each sub-pipeline | ||
# corresponds to a test batch on a given machine. | ||
|
||
# High level stages | ||
stages: | ||
- machine-checks | ||
- prerequisites | ||
- build-and-test | ||
|
||
# Template for jobs triggering a build-and-test sub-pipelines: | ||
# Template for jobs triggering a build-and-test sub-pipeline: | ||
.build-and-test: | ||
stage: build-and-test | ||
trigger: | ||
include: | ||
- local: '.gitlab/custom-jobs-and-variables.yml' | ||
- project: 'radiuss/radiuss-shared-ci' | ||
ref: v2023.06.0 | ||
file: '${CI_MACHINE}-build-and-test.yml' | ||
- local: '.gitlab/${CI_MACHINE}-build-and-test-extra.yml' | ||
ref: 'v2024.06.0' | ||
file: 'pipelines/${CI_MACHINE}.yml' | ||
- artifact: '${CI_MACHINE}-jobs.yml' | ||
job: 'generate-job-lists' | ||
strategy: depend | ||
forward: | ||
pipeline_variables: true | ||
|
||
include: | ||
# checks preliminary to running the actual CI test (optional) | ||
- project: 'lc-templates/id_tokens' | ||
file: 'id_tokens.yml' | ||
# [Optional] checks preliminary to running the actual CI test | ||
#- project: 'radiuss/radiuss-shared-ci' | ||
# ref: v2023.03.1 | ||
# file: 'preliminary-ignore-draft-pr.yml' | ||
# ref: 'v2024.06.0' | ||
# file: 'utilities/preliminary-ignore-draft-pr.yml' | ||
# pipelines subscribed by the project | ||
- local: '.gitlab/subscribed-pipelines.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
9 changes: 8 additions & 1 deletion
9
.gitlab/corona-build-and-test-extra.yml → .gitlab/jobs/corona.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
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 |
---|---|---|
@@ -1,11 +1,18 @@ | ||
############################################################################### | ||
# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC | ||
# Copyright (c) 2017-24, Lawrence Livermore National Security, LLC | ||
# and RAJA Performance Suite project contributors. | ||
# See the RAJAPerf/LICENSE file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################## | ||
|
||
# Override reproducer section to define project specific variables. | ||
.lassen_reproducer_vars: | ||
script: | ||
- | | ||
echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" | ||
echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" | ||
######################## | ||
# Overridden shared jobs | ||
######################## | ||
|
@@ -16,18 +23,10 @@ | |
# Overriding shared spec: Longer allocation + extra flags | ||
xl_2022_08_19_gcc_8_3_1_cuda_11_2_0: | ||
variables: | ||
SPEC: "${PROJECT_LASSEN_VARIANTS} +cuda cxxflags==\"-qthreaded -std=c++14 -O3 -qstrict -qxlcompatmacros -qlanglvl=extended0x -qalias=noansi -qhot -qpic -qsmp=omp -qsuppress=1500-029 -qsuppress=1500-036\" %[email protected] ^[email protected]+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS}" | ||
SPEC: "${PROJECT_LASSEN_VARIANTS} +cuda cxxflags==\"-qthreaded -std=c++14 -O3 -qstrict -qxlcompatmacros -qlanglvl=extended0x -qalias=noansi -qhot -qpic -qsmp=omp -qsuppress=1500-029 -qsuppress=1500-036\" %xl@=16.1.1.12.gcc.8.3.1 ^[email protected]+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS}" | ||
MODULE_LIST: "cuda/11.2.0" | ||
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 -W 120" | ||
extends: .build_and_test_on_lassen | ||
|
||
# Overriding shared spec: Longer allocation + extra flags | ||
xl_2022_08_19_gcc_8_3_1_cuda_11_7_0: | ||
variables: | ||
SPEC: "${PROJECT_LASSEN_VARIANTS} +cuda cxxflags==\"-qthreaded -std=c++14 -O3 -qstrict -qxlcompatmacros -qlanglvl=extended0x -qalias=noansi -qhot -qpic -qsmp=omp -qsuppress=1500-029 -qsuppress=1500-036\" %[email protected] ^[email protected]+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS}" | ||
MODULE_LIST: "cuda/11.7.0" | ||
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 -W 120" | ||
extends: .build_and_test_on_lassen | ||
LASSEN_JOB_ALLOC: "1 -W 60 -q pci" | ||
extends: .job_on_lassen | ||
|
||
|
||
############ | ||
|
@@ -37,35 +36,43 @@ xl_2022_08_19_gcc_8_3_1_cuda_11_7_0: | |
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is no reason not to fully | ||
# describe the spec here. | ||
|
||
########## | ||
# CUDA | ||
########## | ||
gcc_8_3_1: | ||
variables: | ||
SPEC: " ~shared +openmp %gcc@=8.3.1 ${PROJECT_LASSEN_DEPS}" | ||
extends: .job_on_lassen | ||
|
||
gcc_8_3_1_cuda_11_5_0_ats_disabled: | ||
extends: .build_and_test_on_lassen | ||
extends: .job_on_lassen | ||
variables: | ||
SPEC: " ~shared +openmp +cuda %gcc@=8.3.1 cuda_arch=70 ^[email protected]+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS}" | ||
MODULE_LIST: "cuda/11.5.0" | ||
LASSEN_JOB_ALLOC: "1 --atsdisable -W 30 -q pci" | ||
|
||
gcc_8_3_1_cuda_11_5_0_ats_disabled_mpi: | ||
extends: .job_on_lassen | ||
variables: | ||
SPEC: " +openmp +cuda %[email protected] cuda_arch=70 ^[email protected]+allow-unsupported-compilers" | ||
SPEC: " ~shared +openmp +cuda +mpi %gcc@=8.3.1 cuda_arch=70 ^[email protected]+allow-unsupported-compilers ^spectrum-mpi ${PROJECT_LASSEN_DEPS}" | ||
MODULE_LIST: "cuda/11.5.0" | ||
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 --atsdisable -W 30" | ||
LASSEN_JOB_ALLOC: "1 --atsdisable -W 30 -q pci" | ||
|
||
########## | ||
# OTHERS | ||
########## | ||
|
||
clang_13_0_1_libcpp: | ||
variables: | ||
SPEC: " ~shared +openmp %[email protected] cflags==\"-DGTEST_HAS_CXXABI_H_=0\" cxxflags==\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\"" | ||
extends: .build_and_test_on_lassen | ||
SPEC: " ~shared +openmp %clang@=13.0.1 cflags==\"-DGTEST_HAS_CXXABI_H_=0\" cxxflags==\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" ${PROJECT_LASSEN_DEPS}" | ||
extends: .job_on_lassen | ||
|
||
#clang_14_0_5_asan: | ||
# variables: | ||
# SPEC: " ~shared +openmp %[email protected] cxxflags==\"-fsanitize=address\"" | ||
# SPEC: " ~shared +openmp %clang@=14.0.5 cxxflags==\"-fsanitize=address\" ${PROJECT_LASSEN_DEPS}" | ||
# ASAN_OPTIONS: "detect_leaks=1" | ||
# LSAN_OPTIONS: "suppressions=${CI_PROJECT_DIR}/tpl/RAJA/suppressions.asan" | ||
# extends: .build_and_test_on_lassen | ||
# extends: .job_on_lassen | ||
|
||
# Activated in RAJA, but we don't use desul atomics here | ||
#gcc_8_3_1_cuda_10_1_168_desul_atomics: | ||
# variables: | ||
# SPEC: "+openmp +cuda +desul %[email protected] cuda_arch=70 ^[email protected].168" | ||
# extends: .build_and_test_on_lassen | ||
# SPEC: "+openmp +cuda +desul %gcc@=8.3.1 cuda_arch=70 cuda_arch=70 ^[email protected].243+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS}" | ||
# extends: .job_on_lassen |
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,55 @@ | ||
############################################################################## | ||
# Copyright (c) 2017-24, Lawrence Livermore National Security, LLC | ||
# and RAJA Performance Suite project contributors. | ||
# See the RAJAPerf/LICENSE file for details. | ||
# | ||
# SPDX-License-Identifier: (BSD-3-Clause) | ||
############################################################################## | ||
|
||
# Override reproducer section to define projet specific variables. | ||
.poodle_reproducer_vars: | ||
script: | ||
- | | ||
echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" | ||
echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" | ||
######################## | ||
# Overridden shared jobs | ||
######################## | ||
# We duplicate the shared jobs description and add necessary changes for RAJA. | ||
# We keep ${PROJECT_<MACHINE>_VARIANTS} and ${PROJECT_<MACHINE>_DEPS} So that | ||
# the comparison with the original job is easier. | ||
|
||
clang_14_0_6: | ||
variables: | ||
SPEC: "${PROJECT_POODLE_VARIANTS} +omptask %clang@=14.0.6 ${PROJECT_POODLE_DEPS}" | ||
extends: .job_on_poodle | ||
|
||
gcc_10_3_1: | ||
variables: | ||
SPEC: "${PROJECT_POODLE_VARIANTS} +omptask %gcc@=10.3.1 ${PROJECT_POODLE_DEPS}" | ||
extends: .job_on_poodle | ||
|
||
intel_19_1_2_gcc_10_3_1: | ||
variables: | ||
SPEC: "${PROJECT_POODLE_VARIANTS} %intel@=19.1.2.gcc.10.3.1 ${PROJECT_POODLE_DEPS}" | ||
extends: .job_on_poodle | ||
|
||
intel_2022_1_0: | ||
variables: | ||
SPEC: "${PROJECT_POODLE_VARIANTS} %intel@=2022.1.0 ${PROJECT_POODLE_DEPS}" | ||
allow_failure: true | ||
extends: .job_on_poodle | ||
|
||
############ | ||
# Extra jobs | ||
############ | ||
# We do not recommend using ${PROJECT_<MACHINE>_VARIANTS} and | ||
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is no reason not to fully | ||
# describe the spec here. | ||
|
||
intel_2022_1_0_mpi: | ||
variables: | ||
SPEC: "~shared +openmp +mpi %intel@=2022.1.0 ^mvapich2 ${PROJECT_POODLE_DEPS}" | ||
allow_failure: true | ||
extends: .job_on_poodle |
Oops, something went wrong.