Skip to content

Commit fb4246b

Browse files
authored
Merge pull request #715 from LLNL/v0.7.0-rc
V0.7.0 rc
2 parents 9ff7734 + 5e85fb7 commit fb4246b

File tree

354 files changed

+5583
-3722
lines changed

Some content is hidden

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

354 files changed

+5583
-3722
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
*.code-workspace
2+
*.swp

.gitlab-ci.yml

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

@@ -34,10 +34,6 @@ stages:
3434
# Template
3535
.run_project_integration_tests:
3636
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
4137
- echo -e "section_start:$(date +%s):run_project_integration_tests\r\e[0K
4238
Run project integration tests ${CI_PROJECT_NAME}"
4339
- ${ALLOC_COMMAND} .gitlab/run_project_integration_tests.sh
@@ -50,5 +46,8 @@ stages:
5046
# This is where jobs are included
5147
include:
5248
- local: .gitlab/build_lassen.yml
53-
- local: .gitlab/build_quartz.yml
49+
- local: .gitlab/build_ruby.yml
5450
- local: .gitlab/build_tioga.yml
51+
# ID token requirement for Gitlab 17.0+
52+
- project: 'lc-templates/id_tokens'
53+
file: 'id_tokens.yml'

.gitlab/build_quartz.yml

-83
This file was deleted.

.gitlab/build_ruby.yml

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
####
2+
# This is the share configuration of jobs for ruby
3+
.on_ruby:
4+
variables:
5+
SCHEDULER_PARAMETERS: "--reservation=ci --exclusive=user --deadline=now+1hour -N1 -t ${ALLOC_TIME}"
6+
tags:
7+
- batch
8+
- ruby
9+
rules:
10+
- if: '$CI_COMMIT_BRANCH =~ /_qnone/ || $ON_RUBY == "OFF"' #run except if ...
11+
when: never
12+
- if: '$CI_JOB_NAME =~ /ruby_release/'
13+
when: always
14+
- when: on_success
15+
16+
####
17+
# Template
18+
.build_on_ruby:
19+
stage: build
20+
variables:
21+
ALLOC_TIME: "15"
22+
extends: [.build_script, .on_ruby]
23+
needs: []
24+
25+
####
26+
# Template
27+
.run_project_integration_test_on_ruby:
28+
stage: build
29+
variables:
30+
ALLOC_TIME: "15"
31+
extends: [.run_project_integration_tests, .on_ruby]
32+
needs: []
33+
34+
####
35+
# Build jobs
36+
ruby-clang_14_0_6:
37+
variables:
38+
HOST_CONFIG: "[email protected]"
39+
extends: [.build_on_ruby]
40+
41+
ruby-gcc_10_3_1:
42+
variables:
43+
HOST_CONFIG: "[email protected]"
44+
extends: [.build_on_ruby]
45+
46+
ruby-gcc_10_3_1-export-tpls:
47+
variables:
48+
HOST_CONFIG: "[email protected]"
49+
extends: [.build_on_ruby]
50+
51+
ruby-intel_2022_1_0_cxx17:
52+
variables:
53+
HOST_CONFIG: "[email protected]++17.cmake"
54+
extends: [.build_on_ruby]
55+
56+
####
57+
# HIP project tests
58+
ruby_openmp_mpi_fortran_tests:
59+
variables:
60+
ENABLED_BLT_TESTS: "mpi-cpp-fortran,openmp-cpp-fortran,openmp-mpi-cpp"
61+
HOST_CONFIG: "[email protected]"
62+
extends: [.run_project_integration_test_on_ruby]

.gitlab/build_tioga.yml

+10-4
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,22 @@
2727

2828
####
2929
# Build jobs
30-
tioga-clang_14_0_0_hip:
30+
tioga-clang_18_0_0_hip:
3131
variables:
32-
HOST_CONFIG: "clang@14.0.0_hip.cmake"
32+
HOST_CONFIG: "clang@18.0.0_hip.cmake"
3333
extends: .src_build_on_tioga
3434

3535

3636
####
3737
# HIP project tests
38-
tioga-clang_14.0.1_hip_config_test:
38+
tioga-clang_18.0.0_hip_config_test:
3939
variables:
4040
ENABLED_BLT_TESTS: "hip-config-test"
41-
HOST_CONFIG: "[email protected]_hip.cmake"
41+
HOST_CONFIG: "[email protected]_hip.cmake"
42+
extends: [.run_project_integration_test_on_tioga]
43+
44+
tioga-gcc_10.3.1_clang_17.0.0_hip_config_test:
45+
variables:
46+
ENABLED_BLT_TESTS: "hip-config-test"
47+
HOST_CONFIG: "[email protected][email protected]_hip.cmake"
4248
extends: [.run_project_integration_test_on_tioga]

LICENSE

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

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

RELEASE-NOTES.md

+27-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,30 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
99

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

12+
## [Version 0.7.0] - Release date 2025-03-11
13+
14+
### Added
15+
- Added ``WORKING_DIRECTORY`` option to ``blt_add_test`` and ``blt_add_benchmark``.
16+
- Added `BLT_CXX_FILE_EXTS` variable (split out of `BLT_C_FILE_EXTS`) for use in modified `blt_split_source_list_by_language` macro.
17+
18+
### Changed
19+
- Modified `blt_convert_to_system_includes` to handle multiple targets and recursively update includes for dependencies.
20+
- Modified `blt_split_source_list_by_language` to accept a `CXX_LIST` argument for splitting out C and CXX sources. If not specified, the `C_LIST` will contain both C and C++ sources.
21+
- HIP support now uses enable_language(HIP), and specifying a HIP compiler must use the variable `CMAKE_HIP_COMPILER`.
22+
- Updated GoogleBenchmark to 1.9.1
23+
24+
### Fixed
25+
- Removed GoogleTest, GoogleMock, and GoogleBenchmarks calling CMake's `GNUInstallDirs`
26+
which was causing non-deterministic install variables depending on your combination of
27+
static/shared libraries and if any of the previously mentioned TPLs were enabled.
28+
- Enable C language support and emit a warning when GoogleTest or GoogleMock are enabled but
29+
not the C language.
30+
- Guard HIP C smoketest against projects that don't enable C as a language in their projects.
31+
- Changes benchmark custom target `run_benchmarks` to exclusively run benchmarks (not other general tests).
32+
- Fix HIP smoketests to fail on HIP errors.
33+
- Add `-Wno-tautological-compare` to GoogleTest/Mock/Benchmark for IntelLLVM compilers to silence
34+
warning.
35+
1236
## [Version 0.6.2] - Release date 2024-03-15
1337

1438
### Added
@@ -40,7 +64,7 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
4064
- Added the `blt_install_tpl_setups` macro, which installs files to setup and create
4165
targets for the third-party libraries OpenMP, MPI, CUDA, and HIP. This macro is meant to
4266
replace `blt_export_tpl_targets` as the preferred way to setup third-party libraries with BLT.
43-
- Added `blt::`` namespaced aliases for BLT targets, `cuda`, `cuda_runtime`, `mpi`, and `openmp`.
67+
- Added `blt::` namespaced aliases for BLT targets, `cuda`, `cuda_runtime`, `mpi`, and `openmp`.
4468
These targets still exist but but will be deprecated in a future release. It is recommended that you
4569
move to the new alias names, `blt::cuda`, `blt::cuda_runtime`, `blt::mpi`, and `blt::openmp`
4670

@@ -331,7 +355,8 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
331355

332356

333357

334-
[Unreleased]: https://github.com/LLNL/blt/compare/v0.6.2...develop
358+
[Unreleased]: https://github.com/LLNL/blt/compare/v0.7.0...develop
359+
[Version 0.7.0]: https://github.com/LLNL/blt/compare/v0.6.2...v0.7.0
335360
[Version 0.6.2]: https://github.com/LLNL/blt/compare/v0.6.1...v0.6.2
336361
[Version 0.6.1]: https://github.com/LLNL/blt/compare/v0.6.0...v0.6.1
337362
[Version 0.6.0]: https://github.com/LLNL/blt/compare/v0.5.3...v0.6.0

SetupBLT.cmake

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and
1+
# Copyright (c) 2017-2025, 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.6.2" CACHE STRING "")
7+
set(BLT_VERSION "0.7.0" CACHE STRING "")
88
mark_as_advanced(BLT_VERSION)
99
message(STATUS "BLT Version: ${BLT_VERSION}")
1010

@@ -193,8 +193,10 @@ if (NOT BLT_LOADED)
193193
# File extension lists used to filter sources based on languages for code checks
194194
# and filtering Fortran sources out of cuda/hip source lists
195195
# Note: this filtering is case-insensitive
196-
set(BLT_C_FILE_EXTS ".cpp" ".hpp" ".cxx" ".hxx" ".c" ".h" ".cc" ".hh" ".inl" ".cu" ".cuh"
197-
CACHE STRING "List of known file extensions used for C/CXX sources")
196+
set(BLT_C_FILE_EXTS ".c" ".h"
197+
CACHE STRING "List of known file extensions used for C sources")
198+
set(BLT_CXX_FILE_EXTS ".cpp" ".hpp" ".cxx" ".hxx" ".cc" ".hh" ".inl" ".cu" ".cuh"
199+
CACHE STRING "List of known file extensions used for CXX sources")
198200
set(BLT_Fortran_FILE_EXTS ".f" ".f90"
199201
CACHE STRING "List of known file extensions used for Fortran sources")
200202
set(BLT_Python_FILE_EXTS ".py"

azure-pipelines.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and
1+
# Copyright (c) 2017-2025, 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)
@@ -43,7 +43,7 @@ strategy:
4343
MPI_DIR: '/usr'
4444
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
4545
osx_gcc:
46-
VM_ImageName: 'macos-12'
46+
VM_ImageName: 'macos-14'
4747
CMAKE_FLAGS: ''
4848
windows:
4949
VM_ImageName: 'windows-2022'

cmake/BLTGitMacros.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and
1+
# Copyright (c) 2017-2025, 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)