Skip to content

Commit

Permalink
Merge pull request #625 from LLNL/release/6.0.0
Browse files Browse the repository at this point in the history
Release v6.0.0
  • Loading branch information
kab163 authored Aug 19, 2021
2 parents 5201a47 + 2a22ec8 commit 5f886b4
Show file tree
Hide file tree
Showing 542 changed files with 51,959 additions and 65,693 deletions.
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ AllowShortIfStatementsOnASingleLine: Never
AllowShortFunctionsOnASingleLine: None
AllowShortLoopsOnASingleLine: false

ColumnLimit: 80
ColumnLimit: 120

SpacesBeforeTrailingComments: 1
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ CMakeFiles
*.tar.gz
.vscode
.devcontainer
*spack.lock*
.spack_env/*/.spack-env
77 changes: 30 additions & 47 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
###############################################################################
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and Umpire
# Copyright (c) 2016-21, Lawrence Livermore National Security, LLC and Umpire
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: (MIT)
Expand All @@ -18,7 +18,7 @@
# 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
# On LLNL's ruby, 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.
#
Expand All @@ -32,44 +32,19 @@ variables:
GIT_SUBMODULE_STRATEGY: recursive
ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID}
BUILD_ROOT: ${CI_PROJECT_DIR}
PYTHON_ENVIRONMENT_PATH: ${CI_PROJECT_DIR}/.venv

# 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.
# In practice r_*, l_* and b_* stages are independently run and start immediately.

stages:
- environment
- q_allocate_resources
- q_build_and_test
- q_release_resources
- r_allocate_resources
- r_build_and_test
- r_release_resources
- l_build_and_test
- c_build_and_test
- multi_project

configure_python:
variables:
GIT_STRATEGY: none
tags:
- shell
- quartz
stage: environment
script:
- virtualenv -p /usr/tce/packages/python/python-3.8.2/bin/python ${PYTHON_ENVIRONMENT_PATH}
- . ${PYTHON_ENVIRONMENT_PATH}/bin/activate
- pip install lxml
cache:
key: venv
paths:
- ${PYTHON_ENVIRONMENT_PATH}

.venv:
cache:
key: venv
paths:
- ${PYTHON_ENVIRONMENT_PATH}
policy: pull
# - multi_project

# This is the rules that drives the activation of "advanced" jobs. All advanced
# jobs will share this through a template mechanism.
Expand All @@ -85,42 +60,50 @@ configure_python:
- 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
- srun $( [[ -n "${JOBID}" ]] && echo "--jobid=${JOBID}" ) -t 30 -N 1 scripts/gitlab/build_and_test.sh
variables:
SLURM_OVERLAP: 1
artifacts:
reports:
junit: junit.xml

.build_toss_3_x86_64_ib_corona_script:
script:
- srun -p mi60 -t 15 -N 1 scripts/gitlab/build_and_test.sh
- srun -p mi60 -t 30 -N 1 scripts/gitlab/build_and_test.sh
artifacts:
reports:
junit: junit.xml

# 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
- lalloc 1 -W 30 scripts/gitlab/build_and_test.sh
artifacts:
reports:
junit: junit.xml

.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 Umpire.
# 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_UMPIRE: develop
trigger:
project: radiuss/chai
branch: develop
strategy: depend
# trigger-chai:
# stage: multi_project
# rules:
# - if: '$CI_COMMIT_BRANCH == "develop" || $MULTI_PROJECT == "ON"' #run only if ...
# variables:
# UPDATE_UMPIRE: 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/ruby-templates.yml
- local: .gitlab/ruby-jobs.yml
- local: .gitlab/lassen-templates.yml
- local: .gitlab/lassen-jobs.yml
- local: .gitlab/corona-templates.yml
Expand Down
17 changes: 14 additions & 3 deletions .gitlab/corona-jobs.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
##############################################################################
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and Umpire
# Copyright (c) 2016-21, Lawrence Livermore National Security, LLC and Umpire
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: (MIT)
##############################################################################
hip_fortran_gcc_8_1_0 (build and test on corona):
rocm_4_1_fortran_gcc_8_1_0 (build and test on corona):
variables:
SPEC: "+hip~tools+fortran%[email protected]"
SPEC: "+fortran+rocm~tools amdgpu_target=gfx906 %[email protected] ^[email protected]"
extends: .build_and_test_on_corona

rocm_4_2_fortran_gcc_8_1_0 (build and test on corona):
variables:
SPEC: "+fortran+rocm amdgpu_target=gfx906 %[email protected] ^[email protected]"
extends: .build_and_test_on_corona

# Develop builds against specific tpl versions
rocm_4_2_fortran_gcc_8_1_0_tpls (build and test on corona):
variables:
SPEC: "+fortran+rocm amdgpu_target=gfx906 %[email protected] ^blt@develop ^[email protected]"
extends: .build_and_test_on_corona
4 changes: 2 additions & 2 deletions .gitlab/corona-templates.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and Umpire
# Copyright (c) 2016-21, Lawrence Livermore National Security, LLC and Umpire
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: (MIT)
Expand All @@ -25,7 +25,7 @@
# Generic corona build job, extending build script
.build_and_test_on_corona:
stage: c_build_and_test
extends: [.build_toss_3_x86_64_ib_corona_script, .on_corona, .venv]
extends: [.build_toss_3_x86_64_ib_corona_script, .on_corona]
needs: []

.build_and_test_on_corona_advanced:
Expand Down
68 changes: 50 additions & 18 deletions .gitlab/lassen-jobs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and Umpire
# Copyright (c) 2016-21, Lawrence Livermore National Security, LLC and Umpire
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: (MIT)
Expand All @@ -21,9 +21,14 @@ clang_10_0_1_mpi (build and test on lassen):
SPEC: "%[email protected] +mpi ^spectrum-mpi"
extends: .build_and_test_on_lassen

clang_10_0_1_mpi_shmem:
variables:
SPEC: "%[email protected] +ipc_shmem +mpi ^spectrum-mpi"
extends: .build_and_test_on_lassen

gcc_8_3_1:
variables:
SPEC: "+fortran%[email protected] ^[email protected]"
SPEC: "+fortran%[email protected]"
extends: .build_and_test_on_lassen

pgi_19_10:
Expand Down Expand Up @@ -55,12 +60,12 @@ xl_16_1_1_7_gcc_8_3_1:

ibm_clang_9_cuda:
variables:
SPEC: "+fortran+cuda+allow-untested-versions %[email protected] ^[email protected]"
SPEC: "+fortran+cuda %[email protected] ^[email protected]"
extends: .build_and_test_on_lassen

ibm_clang_9_gcc_8_cuda:
variables:
SPEC: "+fortran+cuda %[email protected] +allow-untested-versions cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
extends: .build_and_test_on_lassen

gcc_8_3_1_cuda:
Expand All @@ -73,17 +78,17 @@ pgi_19_10_cuda:
SPEC: "+fortran+cuda %[email protected] ^[email protected]"
extends: .build_and_test_on_lassen

pgi_19_10_gcc_8_3_1_cuda:
variables:
SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
allow_failure: true
extends: .build_and_test_on_lassen
# pgi_19_10_gcc_8_3_1_cuda:
# variables:
# SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
# allow_failure: true
# extends: .build_and_test_on_lassen

pgi_20_4_gcc_8_3_1_cuda_11:
variables:
SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
allow_failure: true
extends: .build_and_test_on_lassen
# pgi_20_4_gcc_8_3_1_cuda_11:
# variables:
# SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
# allow_failure: true
# extends: .build_and_test_on_lassen

xl_16_1_1_7_cuda:
variables:
Expand All @@ -92,23 +97,33 @@ xl_16_1_1_7_cuda:

xl_16_1_1_7_gcc_8_3_1_cuda_11:
variables:
SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected] ^[email protected]"
allow_failure: true
SPEC: "+fortran+cuda tests=none %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^[email protected]"
extends: .build_and_test_on_lassen

# EXTRAS

clang_9_0_0_libcpp (build and test on lassen):
variables:
SPEC: "%[email protected]+libcpp"
SPEC: "%[email protected]+libcpp cxxflags='-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0' cflags='-DGTEST_HAS_CXXABI_H_=0'"
extends: .build_and_test_on_lassen

clang_9_0_0_memleak (build and test on lassen):
variables:
SPEC: "%[email protected] cxxflags=-fsanitize=address"
SPEC: "+asan +sanitizer_tests %[email protected] cxxflags=-fsanitize=address"
ASAN_OPTIONS: "detect_leaks=1"
extends: .build_and_test_on_lassen

# clang_9_0_0_datarace (build and test on lassen):
# variables:
# SPEC: "%[email protected] cxxflags=-fsanitize=thread"
# allow_failure: true
# extends: .build_and_test_on_lassen

gcc_8_3_1_dev_benchmarks:
variables:
SPEC: "+dev_benchmarks %[email protected] build_type=Release"
extends: .build_and_test_on_lassen

xl_default_omp_target (build and test on lassen):
variables:
SPEC: "%xl@default+openmp+openmp_target ^[email protected]"
Expand All @@ -118,3 +133,20 @@ gcc_8_3_1_numa:
variables:
SPEC: "+fortran+numa%[email protected]"
extends: .build_and_test_on_lassen

# Develop/main builds against specific tpl versions

gcc_8_3_1_tpls:
variables:
SPEC: "+fortran%[email protected] ^blt@develop"
extends: .build_and_test_on_lassen

ibm_clang_9_gcc_8_cuda_tpls:
variables:
SPEC: "+fortran+cuda %[email protected] cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 ^blt@develop ^[email protected]"
extends: .build_and_test_on_lassen

xl_16_1_1_7_cuda_tpls:
variables:
SPEC: "+fortran+cuda %[email protected] ^blt@develop ^[email protected] ^[email protected]"
extends: .build_and_test_on_lassen
2 changes: 1 addition & 1 deletion .gitlab/lassen-templates.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and Umpire
# Copyright (c) 2016-21, Lawrence Livermore National Security, LLC and Umpire
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: (MIT)
Expand Down
Loading

0 comments on commit 5f886b4

Please sign in to comment.