Skip to content

Commit

Permalink
Merge pull request #562 from LLNL/v0.5.0-rc
Browse files Browse the repository at this point in the history
V0.5.0 rc
  • Loading branch information
white238 authored Mar 8, 2022
2 parents ddd5a0c + 49fb804 commit 296bf64
Show file tree
Hide file tree
Showing 146 changed files with 1,053 additions and 1,484 deletions.
4 changes: 3 additions & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
##############################################################################
# Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and BLT
# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and BLT
# project contributors. See the LICENSE file for details.
##############################################################################

variables:
PROJECT_ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID}
BUILD_ROOT: ${CI_PROJECT_DIR}
LLNL_SERVICE_USER: atk
CUSTOM_CI_BUILDS_DIR: /usr/workspace/atk/gitlab-runner

stages:
- allocate
Expand Down
5 changes: 5 additions & 0 deletions .gitlab/build_lassen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ lassen-clang_upstream_nvcc_c++17_no_separable:
HOST_CONFIG: "clang@upstream_nvcc_c++17_no_separable.cmake"
extends: [.build_on_lassen, .with_cuda]

lassen-clang_upstream_nvcc_c++14_export_tpls:
variables:
HOST_CONFIG: "clang@upstream_nvcc_c++14-export-tpls.cmake"
extends: [.build_on_lassen, .with_cuda]

lassen-clang_upstream_nvcc_xlf:
variables:
HOST_CONFIG: "clang@upstream_nvcc_xlf.cmake"
Expand Down
17 changes: 16 additions & 1 deletion .gitlab/build_quartz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ quartz_release:
.build_on_quartz:
stage: build
variables:
ALLOC_COMMAND: "srun -p pdebug -t 30 -N 1 ${ASSIGN_ID}"
ALLOC_COMMAND: "srun -p pdebug -t 30 -N 1 ${ASSIGN_ID} --interactive"
extends: [.build_script, .on_quartz]

####
Expand All @@ -59,6 +59,21 @@ quartz-gcc_8_3_1:
HOST_CONFIG: "[email protected]"
extends: [.build_on_quartz]

quartz-gcc_8_3_1_export_tpls:
variables:
HOST_CONFIG: "[email protected]"
extends: [.build_on_quartz]

quartz-inteloneapi_2021_3:
variables:
HOST_CONFIG: "[email protected]"
extends: [.build_on_quartz]

quartz-inteloneapi_2021_3_cxx17:
variables:
HOST_CONFIG: "[email protected]++17.cmake"
extends: [.build_on_quartz]

quartz-pgi_20_1:
variables:
HOST_CONFIG: "[email protected]"
Expand Down
11 changes: 11 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC.
Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC.
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
27 changes: 25 additions & 2 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,28 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/

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

## [Version 0.5.0] - Release date 2022-03-07

### Added
- Added support for IntelLLVM compiler family to blt_append_custom_compiler_flag
- Added support for hip targets configured with cmake 3.21 native hip support
- Added `blt_export_tpl_targets` macro to add BLT-provided third-party library
targets to an export set.

### Changed
- `BLT_C_FILE_EXTS` updated to include `.cuh`
- Fold `BLT_CLANG_HIP_ARCH` into the `CMAKE_HIP_ARCHITECTURES` variable
- When using `ENABLE_ALL_WARNINGS`, append the flag to the beginning of `CMAKE_{C,CXX}_FLAGS` instead
of the end
- HIP support now uses the `hip-config.cmake` file provided by ROCM. This
modification requires a change to the BLT-provided HIP target names, and they
are now available under the `blt` prefix: `blt::hip` and `blt::hip_runtime`.

### Fixed
- Source code filename extension filtering now uses regular expressions to allow
for more user customization and to improve handling of file names with multiple
periods, e.g. `1d.cube.order2.c` is considered a `.c` file.

## [Version 0.4.1] - Release date 2021-07-20

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



[Unreleased]: https://github.com/LLNL/blt/compare/v0.4.1...develop
[Unreleased]: https://github.com/LLNL/blt/compare/v0.5.0...develop
[Version 0.5.0]: https://github.com/LLNL/blt/compare/v0.4.1...v0.5.0
[Version 0.4.1]: https://github.com/LLNL/blt/compare/v0.4.0...v0.4.1
[Version 0.4.0]: https://github.com/LLNL/blt/compare/v0.3.6...v0.4.0
[Version 0.3.6]: https://github.com/LLNL/blt/compare/v0.3.5...v0.3.6
Expand Down
15 changes: 10 additions & 5 deletions SetupBLT.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and
# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and
# other BLT Project Developers. See the top-level LICENSE file for details
#
# SPDX-License-Identifier: (BSD-3-Clause)

if (NOT BLT_LOADED)
set(BLT_VERSION "0.4.1" CACHE STRING "")
set(BLT_VERSION "0.5.0" CACHE STRING "")
mark_as_advanced(BLT_VERSION)
message(STATUS "BLT Version: ${BLT_VERSION}")

Expand Down Expand Up @@ -172,13 +172,18 @@ if (NOT BLT_LOADED)
# Global variables needed by BLT
#
################################
set(BLT_C_FILE_EXTS ".cpp" ".hpp" ".cxx" ".hxx" ".c" ".h" ".cc" ".hh" ".inl" ".cu"

# File extension lists used to filter sources based on languages for code checks
# and filtering Fortran sources out of cuda/hip source lists
# Note: this filtering is case-insensitive
set(BLT_C_FILE_EXTS ".cpp" ".hpp" ".cxx" ".hxx" ".c" ".h" ".cc" ".hh" ".inl" ".cu" ".cuh"
CACHE STRING "List of known file extensions used for C/CXX sources")
set(BLT_Fortran_FILE_EXTS ".F" ".f" ".f90" ".F90"
set(BLT_Fortran_FILE_EXTS ".f" ".f90"
CACHE STRING "List of known file extensions used for Fortran sources")
set(BLT_Python_FILE_EXTS ".py"
CACHE STRING "List of known file extensions used for Python sources")
set(BLT_CMAKE_FILE_EXTS ".cmake" # NOTE: CMakeLists.txt handled elsewhere
# NOTE: CMakeLists.txt handled in `blt_split_source_list_by_language`
set(BLT_CMAKE_FILE_EXTS ".cmake"
CACHE STRING "List of known file extensions used for CMake sources")

################################
Expand Down
82 changes: 41 additions & 41 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,61 +1,61 @@
# Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and
# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and
# other BLT Project Developers. See the top-level LICENSE file for details
#
#
# SPDX-License-Identifier: (BSD-3-Clause)

variables:
DOCKER_FLAGS: "--user='root' -v `pwd`:/blt -w /blt/build $(Compiler_ImageName)"
C_COMPILERS: "-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER)"
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'

strategy:
matrix:
linux_gcc7:
VM_ImageName: 'ubuntu-16.04'
Compiler_ImageName: 'axom/tpls:gcc-7'
linux_gcc8:
VM_ImageName: 'ubuntu-20.04'
Compiler_ImageName: 'axom/tpls:gcc-8_10-21-21_21h-28m'
C_COMPILER: '/usr/bin/gcc'
CXX_COMPILER: '/usr/bin/g++'
CMAKE_BIN_DIR: '/home/axom/axom_tpls/gcc-7.3.0/cmake-3.9.6/bin'
MPI_DIR: '/home/axom/axom_tpls/gcc-7.3.0/mpich-3.2.1'
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'
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
TEST_TARGET: 'linux_gcc7'
linux_gcc8:
VM_ImageName: 'ubuntu-16.04'
Compiler_ImageName: 'axom/tpls:gcc-8'
CMAKE_BIN_DIR: '/usr/bin'
MPI_DIR: '/usr'
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
linux_gcc11:
VM_ImageName: 'ubuntu-20.04'
Compiler_ImageName: 'axom/tpls:gcc-11_01-27-22_05h-56m'
C_COMPILER: '/usr/bin/gcc'
CXX_COMPILER: '/usr/bin/g++'
CMAKE_BIN_DIR: '/home/axom/axom_tpls/gcc-8.1.0/cmake-3.10.1/bin'
MPI_DIR: '/home/axom/axom_tpls/gcc-8.1.0/mpich-3.3.2'
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'
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
TEST_TARGET: 'linux_gcc8'
linux_clang4:
VM_ImageName: 'ubuntu-16.04'
Compiler_ImageName: 'axom/tpls:clang-4'
C_COMPILER: '/usr/bin/clang'
CXX_COMPILER: '/usr/bin/clang++'
CMAKE_BIN_DIR: '/home/axom/axom_tpls/clang-4.0.0/cmake-3.10.1/bin'
MPI_DIR: '/home/axom/axom_tpls/clang-4.0.0/mpich-3.0.4'
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'
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
TEST_TARGET: 'linux_clang4'
linux_clang6:
VM_ImageName: 'ubuntu-16.04'
Compiler_ImageName: 'axom/tpls:clang-6'
CMAKE_BIN_DIR: '/usr/bin'
MPI_DIR: '/usr'
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
linux_gcc11_benchmarks:
VM_ImageName: 'ubuntu-20.04'
Compiler_ImageName: 'axom/tpls:gcc-11_01-27-22_05h-56m'
C_COMPILER: '/usr/bin/gcc'
CXX_COMPILER: '/usr/bin/g++'
CMAKE_BIN_DIR: '/usr/bin'
MPI_DIR: '/usr'
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON -DENABLE_BENCHMARKS=ON'
linux_gcc11_gmock:
VM_ImageName: 'ubuntu-20.04'
Compiler_ImageName: 'axom/tpls:gcc-11_01-27-22_05h-56m'
C_COMPILER: '/usr/bin/gcc'
CXX_COMPILER: '/usr/bin/g++'
CMAKE_BIN_DIR: '/usr/bin'
MPI_DIR: '/usr'
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON -DENABLE_GMOCK=ON'
linux_clang10:
VM_ImageName: 'ubuntu-18.04'
Compiler_ImageName: 'axom/tpls:clang-10_10-21-21_21h-28m'
C_COMPILER: '/usr/bin/clang'
CXX_COMPILER: '/usr/bin/clang++'
CMAKE_BIN_DIR: '/home/axom/axom_tpls/clang-6.0.0/cmake-3.10.1/bin'
MPI_DIR: '/home/axom/axom_tpls/clang-6.0.0/mpich-3.0.4'
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'
CMAKE_FLAGS: '-DCMAKE_C_COMPILER=$(C_COMPILER) -DCMAKE_CXX_COMPILER=$(CXX_COMPILER) -DENABLE_GTEST_DEATH_TESTS=OFF $(MPI_FLAGS) -DENABLE_OPENMP=ON'
TEST_TARGET: 'linux_clang6'
CMAKE_BIN_DIR: '/usr/bin'
MPI_DIR: '/usr'
CMAKE_FLAGS: '$(C_COMPILERS) $(MPI_FLAGS) -DENABLE_GTEST_DEATH_TESTS=OFF -DENABLE_OPENMP=ON'
osx_gcc:
VM_ImageName: 'macos-10.14'
VM_ImageName: 'macos-1015'
CMAKE_FLAGS: ''
TEST_TARGET: 'osx_gcc'
windows:
VM_ImageName: 'windows-2019'
CMAKE_FLAGS: ''
TEST_TARGET: 'win_vs'

pool:
vmImage: $(VM_ImageName)
Expand All @@ -73,7 +73,7 @@ steps:
displayName: 'OSX/Windows CMake'
condition: or( eq( variables['Agent.OS'], 'Windows_NT'), eq( variables['Agent.OS'], 'Darwin'))
- script: |
cmake --build build --config Release
cmake --build build --config Release
displayName: 'OSX/Windows Build'
condition: or( eq( variables['Agent.OS'], 'Windows_NT'), eq( variables['Agent.OS'], 'Darwin'))
- script: |
Expand Down Expand Up @@ -101,5 +101,5 @@ steps:
inputs:
testResultsFormat: 'cTest'
testResultsFiles: 'build/Testing/*/Test.xml'
testRunTitle: '$(TEST_TARGET) Tests'
testRunTitle: '$(Agent.JobName) Tests'
failTaskOnFailedTests: true
2 changes: 1 addition & 1 deletion cmake/BLTGitMacros.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and
# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and
# other BLT Project Developers. See the top-level LICENSE file for details
#
# SPDX-License-Identifier: (BSD-3-Clause)
Expand Down
Loading

0 comments on commit 296bf64

Please sign in to comment.