Skip to content

Commit 296bf64

Browse files
authored
Merge pull request #562 from LLNL/v0.5.0-rc
V0.5.0 rc
2 parents ddd5a0c + 49fb804 commit 296bf64

File tree

146 files changed

+1053
-1484
lines changed

Some content is hidden

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

146 files changed

+1053
-1484
lines changed

.gitlab-ci.yml

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

66
variables:
77
PROJECT_ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID}
88
BUILD_ROOT: ${CI_PROJECT_DIR}
9+
LLNL_SERVICE_USER: atk
10+
CUSTOM_CI_BUILDS_DIR: /usr/workspace/atk/gitlab-runner
911

1012
stages:
1113
- allocate

.gitlab/build_lassen.yml

+5
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ lassen-clang_upstream_nvcc_c++17_no_separable:
4343
HOST_CONFIG: "clang@upstream_nvcc_c++17_no_separable.cmake"
4444
extends: [.build_on_lassen, .with_cuda]
4545

46+
lassen-clang_upstream_nvcc_c++14_export_tpls:
47+
variables:
48+
HOST_CONFIG: "clang@upstream_nvcc_c++14-export-tpls.cmake"
49+
extends: [.build_on_lassen, .with_cuda]
50+
4651
lassen-clang_upstream_nvcc_xlf:
4752
variables:
4853
HOST_CONFIG: "clang@upstream_nvcc_xlf.cmake"

.gitlab/build_quartz.yml

+16-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ quartz_release:
3939
.build_on_quartz:
4040
stage: build
4141
variables:
42-
ALLOC_COMMAND: "srun -p pdebug -t 30 -N 1 ${ASSIGN_ID}"
42+
ALLOC_COMMAND: "srun -p pdebug -t 30 -N 1 ${ASSIGN_ID} --interactive"
4343
extends: [.build_script, .on_quartz]
4444

4545
####
@@ -59,6 +59,21 @@ quartz-gcc_8_3_1:
5959
HOST_CONFIG: "[email protected]"
6060
extends: [.build_on_quartz]
6161

62+
quartz-gcc_8_3_1_export_tpls:
63+
variables:
64+
HOST_CONFIG: "[email protected]"
65+
extends: [.build_on_quartz]
66+
67+
quartz-inteloneapi_2021_3:
68+
variables:
69+
HOST_CONFIG: "[email protected]"
70+
extends: [.build_on_quartz]
71+
72+
quartz-inteloneapi_2021_3_cxx17:
73+
variables:
74+
HOST_CONFIG: "[email protected]++17.cmake"
75+
extends: [.build_on_quartz]
76+
6277
quartz-pgi_20_1:
6378
variables:
6479
HOST_CONFIG: "[email protected]"

.readthedocs.yml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# .readthedocs.yml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Optionally set the version of Python and requirements required to build your docs
9+
python:
10+
install:
11+
- requirements: docs/requirements.txt

LICENSE

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

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

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

12+
## [Version 0.5.0] - Release date 2022-03-07
13+
14+
### Added
15+
- Added support for IntelLLVM compiler family to blt_append_custom_compiler_flag
16+
- Added support for hip targets configured with cmake 3.21 native hip support
17+
- Added `blt_export_tpl_targets` macro to add BLT-provided third-party library
18+
targets to an export set.
19+
20+
### Changed
21+
- `BLT_C_FILE_EXTS` updated to include `.cuh`
22+
- Fold `BLT_CLANG_HIP_ARCH` into the `CMAKE_HIP_ARCHITECTURES` variable
23+
- When using `ENABLE_ALL_WARNINGS`, append the flag to the beginning of `CMAKE_{C,CXX}_FLAGS` instead
24+
of the end
25+
- HIP support now uses the `hip-config.cmake` file provided by ROCM. This
26+
modification requires a change to the BLT-provided HIP target names, and they
27+
are now available under the `blt` prefix: `blt::hip` and `blt::hip_runtime`.
28+
29+
### Fixed
30+
- Source code filename extension filtering now uses regular expressions to allow
31+
for more user customization and to improve handling of file names with multiple
32+
periods, e.g. `1d.cube.order2.c` is considered a `.c` file.
33+
1234
## [Version 0.4.1] - Release date 2021-07-20
1335

1436
### Added
@@ -77,7 +99,7 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
7799
- ``blt_patch_target`` no longer attempts to set system include directories when a target
78100
has no include directories
79101
- Header-only libraries now can have dependencies via DEPENDS_ON in ``blt_add_library``
80-
- Added a workaround for include directories of imported targets on PGI. CMake was
102+
- Added a workaround for include directories of imported targets on PGI. CMake was
81103
erroneously marking them as SYSTEM but this is not supported by PGI.
82104
- Check added to make sure that if HIP is enabled with fortran, the LINKER LANGUAGE
83105
is not changed back to Fortran.
@@ -213,7 +235,8 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
213235

214236

215237

216-
[Unreleased]: https://github.com/LLNL/blt/compare/v0.4.1...develop
238+
[Unreleased]: https://github.com/LLNL/blt/compare/v0.5.0...develop
239+
[Version 0.5.0]: https://github.com/LLNL/blt/compare/v0.4.1...v0.5.0
217240
[Version 0.4.1]: https://github.com/LLNL/blt/compare/v0.4.0...v0.4.1
218241
[Version 0.4.0]: https://github.com/LLNL/blt/compare/v0.3.6...v0.4.0
219242
[Version 0.3.6]: https://github.com/LLNL/blt/compare/v0.3.5...v0.3.6

SetupBLT.cmake

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

@@ -172,13 +172,18 @@ if (NOT BLT_LOADED)
172172
# Global variables needed by BLT
173173
#
174174
################################
175-
set(BLT_C_FILE_EXTS ".cpp" ".hpp" ".cxx" ".hxx" ".c" ".h" ".cc" ".hh" ".inl" ".cu"
175+
176+
# File extension lists used to filter sources based on languages for code checks
177+
# and filtering Fortran sources out of cuda/hip source lists
178+
# Note: this filtering is case-insensitive
179+
set(BLT_C_FILE_EXTS ".cpp" ".hpp" ".cxx" ".hxx" ".c" ".h" ".cc" ".hh" ".inl" ".cu" ".cuh"
176180
CACHE STRING "List of known file extensions used for C/CXX sources")
177-
set(BLT_Fortran_FILE_EXTS ".F" ".f" ".f90" ".F90"
181+
set(BLT_Fortran_FILE_EXTS ".f" ".f90"
178182
CACHE STRING "List of known file extensions used for Fortran sources")
179183
set(BLT_Python_FILE_EXTS ".py"
180184
CACHE STRING "List of known file extensions used for Python sources")
181-
set(BLT_CMAKE_FILE_EXTS ".cmake" # NOTE: CMakeLists.txt handled elsewhere
185+
# NOTE: CMakeLists.txt handled in `blt_split_source_list_by_language`
186+
set(BLT_CMAKE_FILE_EXTS ".cmake"
182187
CACHE STRING "List of known file extensions used for CMake sources")
183188

184189
################################

azure-pipelines.yml

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

66
variables:
77
DOCKER_FLAGS: "--user='root' -v `pwd`:/blt -w /blt/build $(Compiler_ImageName)"
8+
C_COMPILERS: "-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER)"
9+
MPI_FLAGS: '-DENABLE_MPI=ON -DMPI_C_COMPILER=$(MPI_DIR)/bin/mpicc -DMPI_CXX_COMPILER=$(MPI_DIR)/bin/mpicxx -DMPIEXEC=$(MPI_DIR)/bin/mpiexec -DMPIEXEC_NUMPROC_FLAG=-n'
810

911
strategy:
1012
matrix:
11-
linux_gcc7:
12-
VM_ImageName: 'ubuntu-16.04'
13-
Compiler_ImageName: 'axom/tpls:gcc-7'
13+
linux_gcc8:
14+
VM_ImageName: 'ubuntu-20.04'
15+
Compiler_ImageName: 'axom/tpls:gcc-8_10-21-21_21h-28m'
1416
C_COMPILER: '/usr/bin/gcc'
1517
CXX_COMPILER: '/usr/bin/g++'
16-
CMAKE_BIN_DIR: '/home/axom/axom_tpls/gcc-7.3.0/cmake-3.9.6/bin'
17-
MPI_DIR: '/home/axom/axom_tpls/gcc-7.3.0/mpich-3.2.1'
18-
MPI_FLAGS: '-DENABLE_MPI=ON -DMPI_C_COMPILER=$(MPI_DIR)/bin/mpicc -DMPI_CXX_COMPILER=$(MPI_DIR)/bin/mpicxx -DMPIEXEC=$(MPI_DIR)/bin/mpiexec -DMPIEXEC_NUMPROC_FLAG=-n'
19-
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
20-
TEST_TARGET: 'linux_gcc7'
21-
linux_gcc8:
22-
VM_ImageName: 'ubuntu-16.04'
23-
Compiler_ImageName: 'axom/tpls:gcc-8'
18+
CMAKE_BIN_DIR: '/usr/bin'
19+
MPI_DIR: '/usr'
20+
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
21+
linux_gcc11:
22+
VM_ImageName: 'ubuntu-20.04'
23+
Compiler_ImageName: 'axom/tpls:gcc-11_01-27-22_05h-56m'
2424
C_COMPILER: '/usr/bin/gcc'
2525
CXX_COMPILER: '/usr/bin/g++'
26-
CMAKE_BIN_DIR: '/home/axom/axom_tpls/gcc-8.1.0/cmake-3.10.1/bin'
27-
MPI_DIR: '/home/axom/axom_tpls/gcc-8.1.0/mpich-3.3.2'
28-
MPI_FLAGS: '-DENABLE_MPI=ON -DMPI_C_COMPILER=$(MPI_DIR)/bin/mpicc -DMPI_CXX_COMPILER=$(MPI_DIR)/bin/mpicxx -DMPIEXEC=$(MPI_DIR)/bin/mpiexec -DMPIEXEC_NUMPROC_FLAG=-n'
29-
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
30-
TEST_TARGET: 'linux_gcc8'
31-
linux_clang4:
32-
VM_ImageName: 'ubuntu-16.04'
33-
Compiler_ImageName: 'axom/tpls:clang-4'
34-
C_COMPILER: '/usr/bin/clang'
35-
CXX_COMPILER: '/usr/bin/clang++'
36-
CMAKE_BIN_DIR: '/home/axom/axom_tpls/clang-4.0.0/cmake-3.10.1/bin'
37-
MPI_DIR: '/home/axom/axom_tpls/clang-4.0.0/mpich-3.0.4'
38-
MPI_FLAGS: '-DENABLE_MPI=ON -DMPI_C_COMPILER=$(MPI_DIR)/bin/mpicc -DMPI_CXX_COMPILER=$(MPI_DIR)/bin/mpicxx -DMPIEXEC=$(MPI_DIR)/bin/mpiexec -DMPIEXEC_NUMPROC_FLAG=-n'
39-
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
40-
TEST_TARGET: 'linux_clang4'
41-
linux_clang6:
42-
VM_ImageName: 'ubuntu-16.04'
43-
Compiler_ImageName: 'axom/tpls:clang-6'
26+
CMAKE_BIN_DIR: '/usr/bin'
27+
MPI_DIR: '/usr'
28+
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
29+
linux_gcc11_benchmarks:
30+
VM_ImageName: 'ubuntu-20.04'
31+
Compiler_ImageName: 'axom/tpls:gcc-11_01-27-22_05h-56m'
32+
C_COMPILER: '/usr/bin/gcc'
33+
CXX_COMPILER: '/usr/bin/g++'
34+
CMAKE_BIN_DIR: '/usr/bin'
35+
MPI_DIR: '/usr'
36+
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON -DENABLE_BENCHMARKS=ON'
37+
linux_gcc11_gmock:
38+
VM_ImageName: 'ubuntu-20.04'
39+
Compiler_ImageName: 'axom/tpls:gcc-11_01-27-22_05h-56m'
40+
C_COMPILER: '/usr/bin/gcc'
41+
CXX_COMPILER: '/usr/bin/g++'
42+
CMAKE_BIN_DIR: '/usr/bin'
43+
MPI_DIR: '/usr'
44+
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON -DENABLE_GMOCK=ON'
45+
linux_clang10:
46+
VM_ImageName: 'ubuntu-18.04'
47+
Compiler_ImageName: 'axom/tpls:clang-10_10-21-21_21h-28m'
4448
C_COMPILER: '/usr/bin/clang'
4549
CXX_COMPILER: '/usr/bin/clang++'
46-
CMAKE_BIN_DIR: '/home/axom/axom_tpls/clang-6.0.0/cmake-3.10.1/bin'
47-
MPI_DIR: '/home/axom/axom_tpls/clang-6.0.0/mpich-3.0.4'
48-
MPI_FLAGS: '-DENABLE_MPI=ON -DMPI_C_COMPILER=$(MPI_DIR)/bin/mpicc -DMPI_CXX_COMPILER=$(MPI_DIR)/bin/mpicxx -DMPIEXEC=$(MPI_DIR)/bin/mpiexec -DMPIEXEC_NUMPROC_FLAG=-n'
49-
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
50-
TEST_TARGET: 'linux_clang6'
50+
CMAKE_BIN_DIR: '/usr/bin'
51+
MPI_DIR: '/usr'
52+
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
5153
osx_gcc:
52-
VM_ImageName: 'macos-10.14'
54+
VM_ImageName: 'macos-1015'
5355
CMAKE_FLAGS: ''
54-
TEST_TARGET: 'osx_gcc'
5556
windows:
5657
VM_ImageName: 'windows-2019'
5758
CMAKE_FLAGS: ''
58-
TEST_TARGET: 'win_vs'
5959

6060
pool:
6161
vmImage: $(VM_ImageName)
@@ -73,7 +73,7 @@ steps:
7373
displayName: 'OSX/Windows CMake'
7474
condition: or( eq( variables['Agent.OS'], 'Windows_NT'), eq( variables['Agent.OS'], 'Darwin'))
7575
- script: |
76-
cmake --build build --config Release
76+
cmake --build build --config Release
7777
displayName: 'OSX/Windows Build'
7878
condition: or( eq( variables['Agent.OS'], 'Windows_NT'), eq( variables['Agent.OS'], 'Darwin'))
7979
- script: |
@@ -101,5 +101,5 @@ steps:
101101
inputs:
102102
testResultsFormat: 'cTest'
103103
testResultsFiles: 'build/Testing/*/Test.xml'
104-
testRunTitle: '$(TEST_TARGET) Tests'
104+
testRunTitle: '$(Agent.JobName) Tests'
105105
failTaskOnFailedTests: true

cmake/BLTGitMacros.cmake

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