Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
d8e7842
Update local packages with latest release
adrienbernede Nov 2, 2022
f87bacc
Update cmake requirements in RAJA package
adrienbernede Nov 3, 2022
e318e33
Update dependencies packages
adrienbernede Nov 7, 2022
a699dc0
WIP revamp local CHAI package
adrienbernede Nov 10, 2022
fa7b195
Update with latest RAJA and Umpire package
adrienbernede Nov 10, 2022
8561afb
Update extra specs with new default variants
adrienbernede Nov 14, 2022
368e21f
Fix tests variant, sort CMake options
adrienbernede Nov 14, 2022
e6db209
Fix CMake requirements (used to prevent the use of cmake@3.20+)
adrienbernede Nov 14, 2022
71413e8
Update radiuss-spack-configs (new CMake versions)
adrienbernede Nov 14, 2022
35b0d94
Fix package config phase name
adrienbernede Nov 14, 2022
79051ad
Attempt to fix umpire not found
adrienbernede Nov 14, 2022
713c8b7
Attempt to fix amdgpu flags defined more than once
adrienbernede Nov 17, 2022
b5b0113
Overriding job to define test variant only once (same fix as in umpire)
adrienbernede Nov 17, 2022
1300137
Add missing variant
adrienbernede Nov 17, 2022
eafc859
Fix 713c8b7
adrienbernede Nov 17, 2022
07c028b
Update Umpire package
adrienbernede Nov 21, 2022
1ccd68b
Fix flag syntax
adrienbernede Dec 1, 2022
282c5da
Update spack (without shared CI update)
adrienbernede Dec 1, 2022
a67f97a
Update shared CI
adrienbernede Dec 1, 2022
45e6ed3
Fix typo
adrienbernede Dec 1, 2022
d75ea13
Move local packages to radiuss-spack-configs
adrienbernede Dec 7, 2022
809e595
Update with improved CHAI package
adrienbernede Dec 7, 2022
8485f33
Update radiuss-spack-configs to main ref, update radiuss-shared-ci to…
adrienbernede Dec 15, 2022
def14a6
Add CHAI + RAJA launch integration test. (#219)
artv3 Dec 15, 2022
aae3ecb
Allow failure with gcc 4.9, add cuda arch to cuda specs, update cuda …
adrienbernede Dec 16, 2022
0533483
Merge branch 'develop' into woptim/update-deps
adrienbernede Dec 16, 2022
b8c6e06
Update radiuss-spack-configs to add raja@2022.10.4 and fix cmake requ…
adrienbernede Dec 16, 2022
9510efd
Release v2022.10.0 (#217)
davidbeckingsale Dec 19, 2022
922f3c6
Merge branch 'develop' into woptim/update-deps
adrienbernede Jan 2, 2023
b6a4330
Deactivate specs known to fail + add cuda specs passing in RAJA CI
adrienbernede Jan 2, 2023
65728b4
Deactivate another spec
adrienbernede Jan 2, 2023
5c54d9d
Fix variant and missing gxx toolchain
adrienbernede Jan 2, 2023
f643edb
Test with rocm@5.4.1
adrienbernede Jan 3, 2023
9c1c454
Test with rocm@5.4.1
adrienbernede Jan 3, 2023
34b2934
Update radiuss-spack-configs to add rocm@5.2.3 on corona
adrienbernede Jan 3, 2023
c839983
Make operator overloads bind in more cases (#222)
adayton1 Apr 3, 2023
36297e5
MigrateInner on CHAI Copyable for PINNED / UM (#223)
robinson96 Apr 13, 2023
27c701c
Merge branch 'develop' into woptim/update-deps
adrienbernede Apr 17, 2023
8d1723a
Update the CI configuration
adrienbernede Apr 25, 2023
a997f17
Fix script name
adrienbernede Apr 25, 2023
d198dca
Update radiuss-spack-configs
adrienbernede Apr 25, 2023
78c4f57
Update spack version used in uberenv
adrienbernede Apr 27, 2023
3471339
Increase top-level allocation to be greater than sub-allocation
adrienbernede Apr 28, 2023
4004db9
Update Uberenv
adrienbernede Apr 28, 2023
9b84825
Update radiuss-spack-configs
adrienbernede Apr 28, 2023
6c090c8
Fix json syntax
adrienbernede Apr 28, 2023
3838d59
Specify cuda_arch on lassen
adrienbernede Apr 28, 2023
405ff7e
Update radiuss-spack-configs to turn off device alloc in umpire
adrienbernede May 2, 2023
025a561
Remove cuda-arch in non-cuda spec
adrienbernede May 2, 2023
537c5aa
Fix typo
adrienbernede May 2, 2023
822f874
Update radiuss-spack-configs with latest raja version
adrienbernede May 2, 2023
1755a1a
Use flux delay to work around file handle issues
adrienbernede May 2, 2023
bd67a02
Remove libcpp variant from chai, using flags instead
adrienbernede May 4, 2023
22cdaa6
Allow failure for old cuda shared spec
adrienbernede May 4, 2023
fdbe8fd
Fix oversight
adrienbernede May 4, 2023
d028ed5
Update radiuss-spack-configs to new main branch
adrienbernede May 4, 2023
79d5ada
Update radiuss-spack-configs to new main commit
adrienbernede May 4, 2023
c862345
Revert change in radiuss-spack-configs
adrienbernede May 18, 2023
678184d
update specs after update of ruby to rhel8
adrienbernede May 22, 2023
6e11dda
Update radiuss-spack-configs to add compiler
adrienbernede May 22, 2023
b28e389
Update radiuss spack configs with changes from caliper
adrienbernede May 25, 2023
6498efe
Update radiuss spack configs with fix for intel+gcc compiler
adrienbernede May 25, 2023
945fc98
on Ruby intel either needs its module, or gcc@8.x to be set
adrienbernede May 25, 2023
d30170f
Update radiuss spack configs with added gcc@8.5.0
adrienbernede May 25, 2023
f46b06c
Fix gcc 8.5.0 path
adrienbernede May 25, 2023
6c183c6
Merge radiuss-spack-configs and radiuss-shared-ci
adrienbernede May 25, 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
17 changes: 15 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@

# We define the following GitLab pipeline variables:
variables:
# Required information about GitHub repository
GITHUB_PROJECT_NAME: "CHAI"
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,12 +37,18 @@ variables:
# We build the projects in the CI clone directory.
# TODO: add a clean-up mechanism
BUILD_ROOT: ${CI_PROJECT_DIR}
# 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: ""

# 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:
- machine-checks
- build-and-test

# Template for jobs triggering a build-and-test sub-pipelines:
Expand All @@ -49,13 +58,17 @@ stages:
include:
- local: '.gitlab/custom-jobs-and-variables.yml'
- project: 'radiuss/radiuss-shared-ci'
ref: v2022.09.0
ref: v2023.03.1
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: v2023.03.1
# file: 'preliminary-ignore-draft-pr.yml'
# pipelines subscribed by the project
- local: .gitlab/subscribed-pipelines.yml
24 changes: 17 additions & 7 deletions .gitlab/custom-jobs-and-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,40 @@ variables:

# Ruby
# Arguments for top level allocation
RUBY_BUILD_AND_TEST_SHARED_ALLOC: "--exclusive --partition=pdebug --time=20 --nodes=1"
RUBY_BUILD_AND_TEST_SHARED_ALLOC: "--exclusive --reservation=ci --qos=ci_ruby --time=20 --nodes=1"
# Arguments for job level allocation
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--overlap --time=20 --nodes=1"
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--overlap --reservation=ci --time=20 --nodes=1"
# Project specific variants for ruby
PROJECT_RUBY_VARIANTS: ""
PROJECT_RUBY_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for ruby
PROJECT_RUBY_DEPS: ""

# Corona
# Arguments for top level allocation
CORONA_BUILD_AND_TEST_SHARED_ALLOC: "--time-limit=30m --nodes=1"
CORONA_BUILD_AND_TEST_SHARED_ALLOC: "--exclusive --time-limit=45m --nodes=1"
# Arguments for job level allocation
CORONA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=30m --nodes=1"
CORONA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=30m --nodes=1 --begin-time=+5s"
# Project specific variants for corona
PROJECT_CORONA_VARIANTS: ""
PROJECT_CORONA_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for corona
PROJECT_CORONA_DEPS: ""

# Tioga
# Arguments for top level allocation
TIOGA_BUILD_AND_TEST_SHARED_ALLOC: "--exclusive --time-limit=45m --nodes=1"
# Arguments for job level allocation
TIOGA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=30m --nodes=1 --begin-time=+5s"
# Project specific variants for tioga
PROJECT_TIOGA_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for tioga
PROJECT_TIOGA_DEPS: ""

# 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 120"
# Project specific variants for lassen
PROJECT_LASSEN_VARIANTS: ""
PROJECT_LASSEN_VARIANTS: "~shared +raja cuda_arch=70 tests=basic"
# Project specific deps for lassen
PROJECT_LASSEN_DEPS: ""

Expand Down
35 changes: 11 additions & 24 deletions .gitlab/lassen-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,11 @@
# We keep ${PROJECT_<MACHINE>_VARIANTS} and ${PROJECT_<MACHINE>_DEPS} So that
# the comparison with the original job is easier.

# Overriding shared spec: Longer allocation + Allow failures : known to fail at raja install
pgi_20_4_gcc_8_3_1:
extends: .build_and_test_on_lassen
# Override job with old cuda to allow it to fail.
clang_12_0_1_gcc_8_3_1_cuda_10_1_243:
variables:
SPEC: "${PROJECT_LASSEN_VARIANTS} %pgi@20.4 cxxflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" cflags=\"--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1\" ${PROJECT_LASSEN_DEPS}"
allow_failure: true

# Overriding shared spec: Allow failures : known to fail at raja install
ibm_clang_9_0_0_gcc_8_3_1_cuda_10_1_168:
SPEC: "${PROJECT_LASSEN_VARIANTS} +cuda %clang@12.0.1.gcc.8.3.1 ^cuda@10.1.243+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS}"
extends: .build_and_test_on_lassen
variables:
SPEC: " ${PROJECT_LASSEN_VARIANTS} +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 ${PROJECT_LASSEN_DEPS}"
allow_failure: true


Expand All @@ -34,26 +27,20 @@ ibm_clang_9_0_0_gcc_8_3_1_cuda_10_1_168:
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is no reason not to fully
# describe the spec here.

# In RAJA, this spec has an updated cuda (11.0.2), with cuda_arch=70 set.
ibm_clang_9_0_0_cuda_10_1_168:
variables:
SPEC: "+cuda %clang@ibm.9.0.0 ^cuda@10.1.168"
clang_12_0_1_libcpp:
extends: .build_and_test_on_lassen

clang_9_0_0_libcpp (build and test on lassen):
variables:
SPEC: "%clang@9.0.0 cxxflags=\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" cflags=\"-DGTEST_HAS_CXXABI_H_=0\""
extends: .build_and_test_on_lassen
SPEC: "~shared +raja tests=basic %clang@12.0.1 cflags==\"-DGTEST_HAS_CXXABI_H_=0\" cxxflags==\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\""

clang_9_0_0_memleak (build and test on lassen):
clang_12_0_1_gcc_8_3_1_memleak:
extends: .build_and_test_on_lassen
variables:
SPEC: "%clang@9.0.0 cxxflags=-fsanitize=address"
SPEC: "~shared +raja tests=basic %clang@12.0.1.gcc.8.3.1 cxxflags==\"-fsanitize=address\""
ASAN_OPTIONS: "detect_leaks=1"
extends: .build_and_test_on_lassen

clang_9_0_0_datarace (build and test on lassen):
clang_12_0_1_datarace:
extends: .build_and_test_on_lassen
variables:
SPEC: "%clang@9.0.0 cxxflags=-fsanitize=thread"
SPEC: "~shared +raja tests=basic %clang@12.0.1 cxxflags==\"-fsanitize=thread\""
allow_failure: true
extends: .build_and_test_on_lassen

17 changes: 3 additions & 14 deletions .gitlab/ruby-build-and-test-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,7 @@
# We keep ${PROJECT_<MACHINE>_VARIANTS} and ${PROJECT_<MACHINE>_DEPS} So that
# the comparison with the original job is easier.

# Overriding shared spec: Allow failures
pgi_20_1_gcc_local_8_3_1:
variables:
SPEC: "${PROJECT_RUBY_VARIANTS} %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\" ${PROJECT_RUBY_DEPS}"
extends: .build_and_test_on_ruby
allow_failure: true

# No overridden jobs so far.

############
# Extra jobs
Expand All @@ -27,13 +21,8 @@ pgi_20_1_gcc_local_8_3_1:
# ${PROJECT_<MACHINE>_DEPS} in the extra jobs. There is no reason not to fully
# describe the spec here.

gcc_4_9_3:
clang_14_0_6_develop_tpls:
variables:
SPEC: "%gcc@4.9.3"
SPEC: " %clang@14.0.6 ^umpire@develop ^raja@develop ^camp@main"
extends: .build_and_test_on_ruby

#clang_10_develop_tpls:
# variables:
# SPEC: " %clang@10.0.1 ^umpire@develop ^raja@develop ^camp@main"
# extends: .build_and_test_on_ruby

58 changes: 57 additions & 1 deletion .gitlab/subscribed-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,74 @@
# SPDX-License-Identifier: (MIT)
###############################################################################

# Trigger a build-and-test pipeline for ruby, corona and lassen
# The template job to test whether a machine is up.
# Expects CI_MACHINE defined to machine name.
.machine-check:
stage: machine-checks
tags: [shell, oslic]
variables:
GIT_STRATEGY: none
script:
- |
if [[ $(jq '.[env.CI_MACHINE].total_nodes_up' /usr/global/tools/lorenz/data/loginnodeStatus) == 0 ]]
then
echo -e "\e[31mNo node available on ${CI_MACHINE}\e[0m"
curl --url "https://api.github.com/repos/${GITHUB_PROJECT_ORG}/${GITHUB_PROJECT_NAME}/statuses/${CI_COMMIT_SHA}" \
--header 'Content-Type: application/json' \
--header "authorization: Bearer ${GITHUB_TOKEN}" \
--data "{ \"state\": \"failure\", \"target_url\": \"${CI_PIPELINE_URL}\", \"description\": \"GitLab ${CI_MACHINE} down\", \"context\": \"ci/gitlab/${CI_MACHINE}\" }"
exit 1
fi

###
# Trigger a build-and-test pipeline for a machine.
# Comment the jobs for machines you don’t need.
###

# RUBY
ruby-up-check:
variables:
CI_MACHINE: "ruby"
extends: [.machine-check]

ruby-build-and-test:
variables:
CI_MACHINE: "ruby"
needs: [ruby-up-check]
extends: [.build-and-test]

# CORONA
corona-up-check:
variables:
CI_MACHINE: "corona"
extends: [.machine-check]

corona-build-and-test:
variables:
CI_MACHINE: "corona"
needs: [corona-up-check]
extends: [.build-and-test]

# TIOGA
tioga-up-check:
variables:
CI_MACHINE: "tioga"
extends: [.machine-check]

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

# LASSEN
lassen-up-check:
variables:
CI_MACHINE: "lassen"
extends: [.machine-check]

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

variables:
INCLUDED_FILE_CANNOT_BE_EMPTY: "True"
9 changes: 5 additions & 4 deletions .uberenv_config.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"package_name" : "chai",
"package_version" : "develop",
"package_final_phase" : "hostconfig",
"package_final_phase" : "initconfig",
"package_source_dir" : "../..",
"spack_url": "https://github.com/spack/spack.git",
"spack_branch": "v0.18.1",
"spack_branch": "e4s-23.02",
"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
"spack_setup_clingo": false,
"debug": true
}
2 changes: 1 addition & 1 deletion blt
Submodule blt updated 458 files
38 changes: 0 additions & 38 deletions scripts/spack_packages/blt/package.py

This file was deleted.

Loading