Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
246f9a8
Remove unnecessary and inaccurate cores per task, simplify
adrienbernede Aug 10, 2022
b3bbf34
Remove SLURM_OVERLAP option to attempt to use --overlap instead
adrienbernede Aug 10, 2022
2f37258
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 11, 2022
405a65b
Fix sharing corona job
adrienbernede Aug 11, 2022
fb5cb4a
Update radiuss-spack-configs and CI to run with hip@5.1.1 on corona
adrienbernede Aug 11, 2022
3f2e9d5
Merge branch 'woptim/hip-511-ci' into woptim/ci/allocations
adrienbernede Aug 11, 2022
438b220
Adapt to branch reorg in radiuss-shared-ci
adrienbernede Aug 12, 2022
dcbcf6c
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 18, 2022
708b9ea
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 22, 2022
0d59f17
Merge branch 'develop' into woptim/ci/allocations
adrienbernede Aug 23, 2022
49a42b7
Use new tag in radiuss-shared-ci
adrienbernede Aug 23, 2022
47a39a3
Changelog
adrienbernede Aug 23, 2022
da25a90
Update documentation regarding Gitlab CI
adrienbernede Aug 23, 2022
d6adfff
Try spack@0.18.1 to sync with RAJA and Co.
adrienbernede Aug 23, 2022
3a4bfe2
Update radiuss-shared-ci to only use xl@16.1.1.11
adrienbernede Aug 24, 2022
04373c9
Fix wrong radiuss-spack-configs version
adrienbernede Aug 29, 2022
84651d1
Merge branch 'woptim/update-to-xl_16_1_1_11' into woptim/raja-umpire-…
adrienbernede Aug 29, 2022
f2e74c4
Merge branch 'woptim/use-spack-0.18.1' into woptim/raja-umpire-sync
adrienbernede Aug 29, 2022
2010420
Changelog
adrienbernede Aug 29, 2022
f1a7c58
Naming covention + update to xl@16.1.1.12 + restore ~fortran as default
adrienbernede Sep 2, 2022
1ee34dc
Fix typo
adrienbernede Sep 2, 2022
a45b65d
progressively reverting to initial config of failing spec
adrienbernede Sep 8, 2022
d7b130e
Adapt CI to new layout fixing variable overriding issue
adrienbernede Sep 8, 2022
2c66c6f
Fix file name
adrienbernede Sep 8, 2022
e4635a4
Extra quotes and consistent comment
adrienbernede Sep 8, 2022
5262412
Point to official radiuss-shared-ci release
adrienbernede Sep 9, 2022
c73e078
Fix variable name in CI, remove unnecessary code in build-and-test, u…
adrienbernede Sep 13, 2022
c4b9642
Sync camp package with RAJA copy
adrienbernede Sep 13, 2022
4db8a79
Fix job names + fix custom vars and deps for lassen
adrienbernede Sep 15, 2022
5b1ec64
Sort jobs to highlight the overridden specs
adrienbernede Sep 15, 2022
6924386
build-and-test: change /dev/shm prefix dir to avoid race conditions w…
adrienbernede Sep 16, 2022
2c0ee31
Starting the update process
adrienbernede Oct 24, 2022
0f9abba
Merge branch 'develop' into woptim/update-local-packages
adrienbernede Nov 4, 2022
ce79a45
Update local Umpire spack package with upstream one
adrienbernede Nov 7, 2022
3fef7ec
Missing import
adrienbernede Nov 7, 2022
eaac1b2
Attempt to fix missing umpire
adrienbernede Nov 7, 2022
29725b1
revert previous commit
adrienbernede Nov 7, 2022
e1cabff
Update camp package with latest spack develop
adrienbernede Nov 7, 2022
a37f723
Fix missing import with full call
adrienbernede Nov 7, 2022
add285d
Fix double "tests" variant in spec, TODO fix in RADIUSS Shared CI
adrienbernede Nov 7, 2022
869c3fc
Fix things, add comments, Sync with RAJA and CHAI
adrienbernede Nov 9, 2022
c7e282c
Fix syntax
adrienbernede Nov 9, 2022
28b100e
Fix syntax
adrienbernede Nov 9, 2022
7a8a51e
Fix BENCHMARKS / TESTS CMake options in spack package
adrienbernede Nov 10, 2022
04990c7
Revert switch to hip compiler cause causing CMake error
adrienbernede Nov 10, 2022
3ba99cd
Add a piece of the full hash to create a unique CMake Cache file name
adrienbernede Nov 10, 2022
e7e0d7b
Remove duplicate definition of CMAKE_HIP_ARCHITECTURE to use a list o…
adrienbernede Nov 10, 2022
bc52286
Default to ~tools, conflict +tools when +rocm, remove ENABLE_TOOLS hi…
adrienbernede Nov 10, 2022
d3db446
Cosmetic
adrienbernede Nov 10, 2022
5762d9c
Update radiuss-spack-configs (new CMake versions)
adrienbernede Nov 14, 2022
526710a
Apply missing variants
adrienbernede Nov 17, 2022
3889fb2
Uniformize use of double quotes
adrienbernede Nov 21, 2022
25b372a
Export cmake cached config as artifact to ease navigation
adrienbernede Nov 21, 2022
3093d99
Revert "Export cmake cached config as artifact to ease navigation"
adrienbernede Nov 25, 2022
1ccda57
Add missing +tools; always set cmake benchmark status; do not build e…
adrienbernede Nov 28, 2022
e56b322
Woptim/update shared ci (#797)
adrienbernede Dec 15, 2022
63ef9bc
Minor
adrienbernede Dec 15, 2022
1e70a09
Update radiuss-spack-configs to fix cmake requirements in Umpire package
adrienbernede Dec 16, 2022
8c90c89
Remove problematic cmake requirement
adrienbernede Jan 2, 2023
52efe0f
Merge branch 'develop' into woptim/update-local-packages
adrienbernede Jan 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@

# We define the following GitLab pipeline variables:
variables:
# Required information about GitHub repository
GITHUB_PROJECT_NAME: "Umpire"
GITHUB_PROJECT_ORG: "LLNL"
# Use the umdev LLNL service user to run CI. This prevents from running
# pipelines as an actual user.
LLNL_SERVICE_USER: umdev
Expand All @@ -34,8 +37,8 @@ variables:
# TODO: add a clean-up mechanism
BUILD_ROOT: ${CI_PROJECT_DIR}

# 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 in sub-pipelines. Each sub-pipeline
# corresponds to a test batch on a given machine.

# High level stages
stages:
Expand All @@ -50,13 +53,17 @@ stages:
include:
- local: '.gitlab/custom-jobs-and-variables.yml'
- project: 'radiuss/radiuss-shared-ci'
ref: v2022.09.0
ref: v2022.12.0
file: '${CI_MACHINE}-build-and-test.yml'
- local: '.gitlab/${CI_MACHINE}-build-and-test-extra.yml'
strategy: depend
forward:
pipeline_variables: true

# pipelines subscribed by the project
include:
# [Optional] checks preliminary to running the actual CI test
#- project: 'radiuss/radiuss-shared-ci'
# ref: v2022.12.0
# file: 'preliminary-ignore-draft-pr.yml'
# pipelines subscribed by the project
- local: .gitlab/subscribed-pipelines.yml
2 changes: 1 addition & 1 deletion .gitlab/corona-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
###
rocm_5_1_1_openmp_clang_13_0_0:
variables:
SPEC: "+fortran +openmp +rocm amdgpu_target=gfx906 %clang@13.0.0 ^hip@5.1.1 ^blt@develop"
SPEC: "~shared +fortran +openmp +rocm ~device_alloc tests=basic amdgpu_target=gfx906 %clang@13.0.0 ^hip@5.1.1 ^blt@develop"
extends: .build_and_test_on_corona

20 changes: 15 additions & 5 deletions .gitlab/custom-jobs-and-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

# We define the following GitLab pipeline variables:
variables:

# 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 and avoid collisions.
Expand All @@ -19,7 +18,7 @@ variables:
# Arguments for job level allocation
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--overlap --reservation=ci --qos=ci_ruby --time=10 --nodes=1"
# Project specific variants for ruby
PROJECT_RUBY_VARIANTS: "+fortran "
PROJECT_RUBY_VARIANTS: "~shared +fortran ~device_alloc +tools tests=basic "
# Project specific deps for ruby
PROJECT_RUBY_DEPS: ""

Expand All @@ -29,21 +28,32 @@ variables:
# Arguments for job level allocation
CORONA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=10m --nodes=1"
# Project specific variants for corona
PROJECT_CORONA_VARIANTS: "+fortran "
PROJECT_CORONA_VARIANTS: "~shared +fortran ~device_alloc tests=basic "
# Project specific deps for corona
PROJECT_CORONA_DEPS: "^blt@develop"

# Tioga
# Arguments for top level allocation
TIOGA_BUILD_AND_TEST_SHARED_ALLOC: "--time-limit=15m --nodes=1"
# Arguments for job level allocation
TIOGA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=10m --nodes=1"
# Project specific variants for tioga
PROJECT_TIOGA_VARIANTS: "~shared +fortran ~device_alloc tests=basic "
# Project specific deps for tioga
PROJECT_TIOGA_DEPS: "^blt@develop"

# Lassen and Butte use a different job scheduler (spectrum lsf) that does not
# allow pre-allocation the same way slurm does.
# Arguments for job level allocation
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 -W 18"
# Project specific variants for lassen
PROJECT_LASSEN_VARIANTS: "+fortran "
PROJECT_LASSEN_VARIANTS: "~shared +fortran ~device_alloc +tools tests=basic "
# Project specific deps for lassen
PROJECT_LASSEN_DEPS: ""


# Configuration shared by build and test jobs specific to this project.
# Not all configuration can be shared, here is here projects can fine tune the
# Not all configuration can be shared. Here projects can fine tune the
# CI behavior.
.custom_build_and_test:
artifacts:
Expand Down
37 changes: 22 additions & 15 deletions .gitlab/lassen-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,81 +12,88 @@
# We keep ${PROJECT_<MACHINE>_VARIANTS} and ${PROJECT_<MACHINE>_DEPS} So that
# the comparison with the original job is easier.

# No overridden jobs so far.
# Spec has test disabled in shared CI, conflicting with default test setting in Umpire
# TODO: This is likely an issue in RADIUSS Shared CI: why disable tests ?.
xl_16_1_1_12_gcc_8_3_1_cuda_11_0_2:
variables:
SPEC: "~shared +fortran ~device_alloc +tools +cuda tests=none %xl@16.1.1.12 cxxflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^cuda@11.0.2 ${PROJECT_LASSEN_DEPS}"
extends: .build_and_test_on_lassen


############
# Extra jobs
############
# We do not recommend using ${PROJECT_<MACHINE>_VARIANTS} and
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is not reason not to fully
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is no reason not to fully
# describe the spec here.

ibm_clang_10_0_1_mpi_shmem:
variables:
SPEC: "%clang@ibm.10.0.1 +ipc_shmem +mpi ^spectrum-mpi"
SPEC: "~shared ~device_alloc +tools tests=basic %clang@ibm.10.0.1 +ipc_shmem +mpi ^spectrum-mpi"
extends: .build_and_test_on_lassen

ibm_clang_10_0_1_mpi:
variables:
SPEC: "+fortran %clang@ibm.10.0.1 +mpi ^spectrum-mpi"
SPEC: "~shared +fortran ~device_alloc +tools tests=basic %clang@ibm.10.0.1 +mpi ^spectrum-mpi"
extends: .build_and_test_on_lassen

ibm_clang_10_0_1_cuda_10_1_168_mpi_shmem:
variables:
SPEC: "%clang@ibm.10.0.1 +cuda +ipc_shmem +mpi cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^spectrum-mpi ^cuda@10.1.168"
SPEC: "~shared ~device_alloc +tools tests=basic %clang@ibm.10.0.1 +cuda +ipc_shmem +mpi cxxflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^spectrum-mpi ^cuda@10.1.168"
extends: .build_and_test_on_lassen

# Extras.
clang_9_0_0_libcpp:
variables:
SPEC: "%clang@9.0.0+libcpp cxxflags=\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" cflags=\"-DGTEST_HAS_CXXABI_H_=0\""
SPEC: "~shared ~device_alloc +tools tests=basic %clang@9.0.0+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:
variables:
SPEC: "+asan +sanitizer_tests %clang@9.0.0 cxxflags=-fsanitize=address"
SPEC: "~shared +asan +sanitizer_tests +tools ~device_alloc tests=basic %clang@9.0.0 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: "%clang@9.0.0 cxxflags=-fsanitize=thread"
# SPEC: "%clang@9.0.0 cxxflags==\"-fsanitize=thread\""
# allow_failure: true
# extends: .build_and_test_on_lassen

gcc_8_3_1_dev_benchmarks:
variables:
SPEC: "+dev_benchmarks %gcc@8.3.1 build_type=Release"
SPEC: "~shared +dev_benchmarks +tools ~device_alloc %gcc@8.3.1 build_type=Release"
extends: .build_and_test_on_lassen

xl_default_omp_target:
variables:
SPEC: "%xl@default+openmp+openmp_target ^cmake@3.14.5"
SPEC: "~shared ~device_alloc +tools tests=basic %xl@default+openmp+openmp_target"
allow_failure: true
extends: .build_and_test_on_lassen

gcc_8_3_1_numa:
variables:
SPEC: "+fortran +numa%gcc@8.3.1"
SPEC: "~shared +fortran +numa +tools ~device_alloc tests=basic %gcc@8.3.1"
extends: .build_and_test_on_lassen

gcc_8_3_1_cuda_10_1_168:
variables:
SPEC: "+fortran +cuda+shared+tools+backtrace %gcc@8.3.1 ^cuda@10.1.168"
SPEC: "+fortran +cuda +tools +backtrace ~device_alloc tests=basic %gcc@8.3.1 ^cuda@10.1.168"
extends: .build_and_test_on_lassen

# Develop/main builds against specific tpl versions.

gcc_8_3_1_tpls:
variables:
SPEC: "+fortran %gcc@8.3.1 ^blt@develop"
SPEC: "~shared +fortran ~device_alloc +tools tests=basic %gcc@8.3.1 ^blt@develop"
extends: .build_and_test_on_lassen

ibm_clang_9_0_0_gcc_8_3_1_cuda_10_1_168_tpls:
variables:
SPEC: "+fortran +cuda %clang@ibm.9.0.0 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^cuda@10.1.168 ^blt@develop"
SPEC: "~shared +fortran +cuda ~device_alloc +tools tests=basic %clang@ibm.9.0.0 cxxflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ^cuda@10.1.168 ^blt@develop"
extends: .build_and_test_on_lassen

xl_16_1_1_12_gcc_8_3_1_cuda_10_1_168_tpls:
variables:
SPEC: "+fortran +cuda %xl@16.1.1.12 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" ^cuda@10.1.168 ^cmake@3.14.5 ^blt@develop"
SPEC: "~shared +fortran +cuda ~device_alloc +tools tests=basic %xl@16.1.1.12 cxxflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" cflags==\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-7.3.1\" ^cuda@10.1.168 ^blt@develop"
extends: .build_and_test_on_lassen
10 changes: 5 additions & 5 deletions .gitlab/ruby-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,27 @@

gcc_8_1_0_numa:
variables:
SPEC: "+fortran+numa %gcc@8.1.0"
SPEC: "~shared +fortran +numa ~device_alloc +tools tests=basic %gcc@8.1.0"
extends: .build_and_test_on_ruby

clang_10_0_1_sqlite_experimental:
variables:
SPEC: "+sqlite_experimental %clang@10.0.1"
SPEC: "~shared +sqlite_experimental ~device_alloc +tools tests=basic %clang@10.0.1"
extends: .build_and_test_on_ruby

# Develop builds against specific tpl version.
pgi_20_1_gcc_local_8_3_1_tpls:
variables:
SPEC: "+fortran %pgi@20.1 cxxflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc cflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc fflags=-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc ^blt@develop"
SPEC: "~shared +fortran ~device_alloc +tools tests=basic %pgi@20.1 cxxflags==\"-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc\" cflags==\"-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc\" fflags==\"-rc=/usr/workspace/umpire/pgi/x86_64/local-gcc-8.3.1-rc\" ^blt@develop"
extends: .build_and_test_on_ruby

clang_10_0_1_tpls:
variables:
SPEC: "+fortran %clang@10.0.1 ^blt@develop"
SPEC: "~shared +fortran ~device_alloc +tools tests=basic %clang@10.0.1 ^blt@develop"
extends: .build_and_test_on_ruby

gcc_8_1_0_tpls:
variables:
SPEC: "+fortran %gcc@8.1.0 ^blt@develop"
SPEC: "~shared +fortran ~device_alloc +tools tests=basic %gcc@8.1.0 ^blt@develop"
extends: .build_and_test_on_ruby

5 changes: 5 additions & 0 deletions .gitlab/subscribed-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ corona-build-and-test:
CI_MACHINE: "corona"
extends: [.build-and-test]

tioga-build-and-test:
variables:
CI_MACHINE: "tioga"
extends: [.build-and-test]

lassen-build-and-test:
variables:
CI_MACHINE: "lassen"
Expand Down
32 changes: 32 additions & 0 deletions .gitlab/tioga-build-and-test-extra.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
###############################################################################
# Copyright (c) 2022, Lawrence Livermore National Security, LLC and RADIUSS
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: (MIT)
###############################################################################

########################
# 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.

# No overridden jobs so far.

############
# Extra jobs
############
# We do not recommend using ${PROJECT_<MACHINE>_VARIANTS} and
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is not reason not to fully
# describe the spec here.

###
# This job intentionally tests our umpire package.py because although this job does not
# explicitly have the ~tools, the package.py should still disable tools from being built.
###
rocm_5_2_3_openmp_clang_13_0_0:
variables:
SPEC: "~shared +fortran +openmp +rocm ~device_alloc tests=basic amdgpu_target=gfx90a %clang@13.0.0 ^hip@5.2.3 ^blt@develop"
extends: .build_and_test_on_tioga

4 changes: 2 additions & 2 deletions .uberenv_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
"package_final_phase" : "initconfig",
"package_source_dir" : "../..",
"spack_url": "https://github.com/spack/spack.git",
"spack_branch": "v0.18.1",
"spack_branch": "v0.19.0",
"spack_activate" : {},
"spack_configs_path": "scripts/radiuss-spack-configs",
"spack_packages_path": "scripts/spack_packages",
"spack_packages_path": "scripts/radiuss-spack-configs/packages",
"spack_concretizer": "clingo",
"spack_setup_clingo": false,
"debug": true
Expand Down
40 changes: 0 additions & 40 deletions scripts/spack_packages/blt/package.py

This file was deleted.

Loading