Skip to content

Commit b791829

Browse files
authored
Merge pull request #674 from LLNL/v0.6.0-rc
V0.6.0 rc
2 parents 5a792c1 + aee4faa commit b791829

File tree

187 files changed

+2489
-981
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

187 files changed

+2489
-981
lines changed

.gitlab-ci.yml

+18-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##############################################################################
2-
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and BLT
2+
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and BLT
33
# project contributors. See the LICENSE file for details.
44
##############################################################################
55

@@ -30,10 +30,25 @@ stages:
3030
reports:
3131
junit: build/junit.xml
3232

33+
####
34+
# Template
35+
.run_project_integration_tests:
36+
script:
37+
#Use pre-existing allocation if any
38+
- JOBID=$(if [[ $SYS_TYPE = toss_* ]]; then squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A; fi)
39+
- ASSIGN_ID=$(if [[ -n "${JOBID}" ]]; then echo "--jobid=${JOBID}"; fi)
40+
#BUILD + TEST
41+
- echo -e "section_start:$(date +%s):run_project_integration_tests\r\e[0K
42+
Run project integration tests ${CI_PROJECT_NAME}"
43+
- ${ALLOC_COMMAND} .gitlab/run_project_integration_tests.sh
44+
- echo -e "section_end:$(date +%s):build_and_test\r\e[0K"
45+
artifacts:
46+
reports:
47+
junit: build/junit.xml
48+
3349

3450
# This is where jobs are included
3551
include:
3652
- local: .gitlab/build_lassen.yml
3753
- local: .gitlab/build_quartz.yml
38-
# white238: Turned off while tioga is down for maintenance and is fickle
39-
# - local: .gitlab/build_tioga.yml
54+
- local: .gitlab/build_tioga.yml

.gitlab/build_lassen.yml

+23-1
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,19 @@
2222
.build_on_lassen:
2323
stage: build
2424
variables:
25-
ALLOC_COMMAND: "lalloc 1 -W 10 -q pdebug"
25+
ALLOC_COMMAND: "lalloc 1 -W 15 -q pci"
2626
extends: [.build_script, .on_lassen]
2727
needs: []
2828

29+
####
30+
# Template
31+
.run_project_integration_test_on_lassen:
32+
stage: build
33+
variables:
34+
ALLOC_COMMAND: "lalloc 1 -W 15 -q pci"
35+
extends: [.run_project_integration_tests, .on_lassen]
36+
needs: []
37+
2938
####
3039
# Build jobs
3140
lassen-clang_10.0.1_nvcc_c++14_export_tpls:
@@ -47,3 +56,16 @@ lassen-clang_10.0.1_nvcc_c++17_no_separable:
4756
variables:
4857
HOST_CONFIG: "[email protected]_nvcc_c++17_no_separable.cmake"
4958
extends: [.build_on_lassen, .with_cuda]
59+
60+
lassen-clang_14.0.5_with_gcc_8.3.1_nvcc_c++_only:
61+
variables:
62+
HOST_CONFIG: "[email protected][email protected]_nvcc_c++_only.cmake"
63+
extends: [.build_on_lassen, .with_cuda]
64+
65+
####
66+
# CUDA project tests
67+
lassen-clang_10.0.1_nvcc_cuda_clang_test:
68+
variables:
69+
ENABLED_BLT_TESTS: "cuda-arch cuda-mpi-cpp"
70+
HOST_CONFIG: "cuda-arch/base/[email protected]_nvcc_c++14_lassen.cmake"
71+
extends: [.run_project_integration_test_on_lassen, .with_cuda]

.gitlab/build_quartz.yml

+19-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ quartz_allocate:
1919
extends: [.on_quartz]
2020
stage: allocate
2121
script:
22-
- salloc -p pdebug -N 1 -t 10 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off
22+
- salloc --res=ci -N 1 -t 10 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off
2323
needs: []
2424

2525
####
@@ -39,10 +39,19 @@ quartz_release:
3939
.build_on_quartz:
4040
stage: build
4141
variables:
42-
ALLOC_COMMAND: "srun -p pdebug -t 10 -N 1 ${ASSIGN_ID} --interactive"
42+
ALLOC_COMMAND: "srun -t 15 -N 1 ${ASSIGN_ID} --interactive"
4343
extends: [.build_script, .on_quartz]
4444
needs: [quartz_allocate]
4545

46+
####
47+
# Template
48+
.run_project_integration_test_on_quartz:
49+
stage: build
50+
variables:
51+
ALLOC_COMMAND: "srun -t 15 -N 1 ${ASSIGN_ID} --interactive"
52+
extends: [.run_project_integration_tests, .on_quartz]
53+
needs: [quartz_allocate]
54+
4655
####
4756
# Build jobs
4857
quartz-clang_14_0_6:
@@ -64,3 +73,11 @@ quartz-intel_2022_1_0_cxx17:
6473
variables:
6574
HOST_CONFIG: "[email protected]++17.cmake"
6675
extends: [.build_on_quartz]
76+
77+
####
78+
# HIP project tests
79+
quartz_openmp_mpi_fortran_tests:
80+
variables:
81+
HOST_CONFIG: openmp-cpp-fortran/base/[email protected]
82+
ENABLED_BLT_TESTS: "mpi-cpp-fortran,openmp-cpp-fortran,openmp-mpi-cpp"
83+
extends: [.run_project_integration_test_on_quartz]

.gitlab/build_tioga.yml

+18-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,29 @@
1414
.src_build_on_tioga:
1515
stage: build
1616
variables:
17-
ALLOC_COMMAND: "flux mini run -t10m -n1"
17+
ALLOC_COMMAND: "flux run -t15m -n1 --queue pci"
1818
extends: [.build_script, .on_tioga]
1919

20+
####
21+
# Template
22+
.run_project_integration_test_on_tioga:
23+
stage: build
24+
variables:
25+
ALLOC_COMMAND: "flux run -t15m -n1 --queue pci"
26+
extends: [.run_project_integration_tests, .on_tioga]
27+
2028
####
2129
# Build jobs
2230
tioga-clang_14_0_0_hip:
2331
variables:
2432
HOST_CONFIG: "[email protected]_hip.cmake"
2533
extends: .src_build_on_tioga
26-
allow_failure: true
34+
35+
36+
####
37+
# HIP project tests
38+
tioga-clang_14.0.1_hip_config_test:
39+
variables:
40+
ENABLED_BLT_TESTS: "hip-config-test"
41+
HOST_CONFIG: "hip-config-test/base/[email protected]_hip.cmake"
42+
extends: [.run_project_integration_test_on_tioga]
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
BLT_DIR=`pwd`
4+
RUNNER_SCRIPT=`pwd`/tests/projects/run_tests.py
5+
cd `pwd`/tests/projects/
6+
7+
if [[ -z $HOST_CONFIG ]]; then
8+
HOST_CONFIG=`pwd`/tests/projects/$HOST_CONFIG
9+
python3 $RUNNER_SCRIPT --run-test $ENABLED_BLT_TESTS --verbose --clean --blt-source-dir $BLT_DIR
10+
else
11+
python3 $RUNNER_SCRIPT --run-test $ENABLED_BLT_TESTS --host-config $HOST_CONFIG --verbose --clean --blt-source-dir $BLT_DIR
12+
fi

.readthedocs.yml

+14
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,21 @@
55
# Required
66
version: 2
77

8+
# Set the OS, Python version and other tools you might need
9+
build:
10+
os: ubuntu-22.04
11+
tools:
12+
python: "3.11"
13+
apt_packages:
14+
- ghostscript
15+
- graphviz
16+
- texlive-full
17+
818
# Optionally set the version of Python and requirements required to build your docs
919
python:
1020
install:
1121
- requirements: docs/requirements.txt
22+
23+
# Build documentation in the docs/ directory with Sphinx
24+
sphinx:
25+
configuration: docs/conf.py

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC.
1+
Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC.
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# <img src="/share/blt/logo/blt_logo.png?raw=true" width="128" valign="middle" alt="BLT"/>
1+
# <img src="/share/blt/logo/blt_logo_transparent.png?raw=true" width="128" valign="middle" alt="BLT"/>
22

33
[![Build
44
Status](https://dev.azure.com/llnl-blt/blt/_apis/build/status/LLNL.blt?branchName=develop)](https://dev.azure.com/llnl-blt/blt/_build/latest?definitionId=1&branchName=develop)

RELEASE-NOTES.md

+26-1
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,37 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
99

1010
## [Unreleased] - Release date yyyy-mm-dd
1111

12+
## [Version 0.6.0] - Release date 2024-01-18
13+
14+
### Added
15+
- Added support for C++23. Note: XL and PGI do not support C++23.
16+
- Adds a `clang_tidy_style` CMake target to allow `clang-tidy` to fix errors in-place.
17+
This requires a `CLANGAPPLYREPLACEMENTS_EXECUTABLE` CMake variable to point to
18+
the `clang-apply-replacements` executable in addition to the `CLANGTIDY_EXECUTABLE`.
19+
Also adds a corresponding `ENABLE_CLANGAPPLYREPLACEMENTS` CMake option.
20+
Note that the `clang_tidy_style` target is not added to the `style` target and must be run separately.
21+
- Added the `blt_install_tpl_setups` macro, which installs files to setup and create
22+
targets for the third-party libraries OpenMP, MPI, CUDA, and HIP. This macro is meant to
23+
replace `blt_export_tpl_targets` as the preferred way to setup third-party libraries with BLT.
24+
- Added `blt::`` namespaced aliases for BLT targets, `cuda`, `cuda_runtime`, `mpi`, and `openmp`.
25+
These targets still exist but but will be deprecated in a future release. It is recommended that you
26+
move to the new alias names, `blt::cuda`, `blt::cuda_runtime`, `blt::mpi`, and `blt::openmp`
27+
28+
### Changed
29+
- SetupHIP now searches for user-defined or environment variables before CMake paths to find the ROCM_PATH.
30+
31+
### Fixed
32+
- Fixed infinite loop in `blt_find_target_dependencies`
33+
- `blt_check_code_compiles` now works with alias targets
34+
1235
## [Version 0.5.3] - Release date 2023-06-05
1336

1437
### Changed
1538
- Updated Googletest to main from 04/13/2023.
1639
Commit: [12a5852e451baabc79c63a86c634912c563d57bc](https://github.com/google/googletest/commit/12a5852e451baabc79c63a86c634912c563d57bc).
1740
Note: this version of Googletest requires C++14, and PGI is not supported. If you are using PGI, set ENABLE_GTEST OFF.
1841
- Updated GoogleBenchmark to 1.8
42+
- The `clang_tidy_check` target is no longer registered with the main `check` target since its changes are not always safe/valid.
1943

2044
### Added
2145
- Added `blt_print_variables` macro to print variables in current scope, with regex filtering on variable names and values
@@ -288,7 +312,8 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
288312

289313

290314

291-
[Unreleased]: https://github.com/LLNL/blt/compare/v0.5.3...develop
315+
[Unreleased]: https://github.com/LLNL/blt/compare/v0.6.0...develop
316+
[Version 0.5.3]: https://github.com/LLNL/blt/compare/v0.5.3...v0.6.0
292317
[Version 0.5.3]: https://github.com/LLNL/blt/compare/v0.5.2...v0.5.3
293318
[Version 0.5.2]: https://github.com/LLNL/blt/compare/v0.5.1...v0.5.2
294319
[Version 0.5.1]: https://github.com/LLNL/blt/compare/v0.5.0...v0.5.1

SetupBLT.cmake

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and
1+
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and
22
# other BLT Project Developers. See the top-level LICENSE file for details
33
#
44
# SPDX-License-Identifier: (BSD-3-Clause)
55

66
if (NOT BLT_LOADED)
7-
set(BLT_VERSION "0.5.3" CACHE STRING "")
7+
set(BLT_VERSION "0.6.0" CACHE STRING "")
88
mark_as_advanced(BLT_VERSION)
99
message(STATUS "BLT Version: ${BLT_VERSION}")
1010

@@ -127,7 +127,7 @@ if (NOT BLT_LOADED)
127127
################################
128128
# Standard TPL support
129129
################################
130-
include(${BLT_ROOT_DIR}/cmake/thirdparty/SetupThirdParty.cmake)
130+
include(${BLT_ROOT_DIR}/cmake/SetupThirdParty.cmake)
131131

132132
################################
133133
# Git related Macros

azure-pipelines.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and
1+
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and
22
# other BLT Project Developers. See the top-level LICENSE file for details
33
#
44
# SPDX-License-Identifier: (BSD-3-Clause)

cmake/BLTGitMacros.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and
1+
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and
22
# other BLT Project Developers. See the top-level LICENSE file for details
33
#
44
# SPDX-License-Identifier: (BSD-3-Clause)

0 commit comments

Comments
 (0)