Skip to content

Commit

Permalink
Merge pull request #674 from LLNL/v0.6.0-rc
Browse files Browse the repository at this point in the history
V0.6.0 rc
  • Loading branch information
white238 authored Jan 19, 2024
2 parents 5a792c1 + aee4faa commit b791829
Show file tree
Hide file tree
Showing 187 changed files with 2,489 additions and 981 deletions.
21 changes: 18 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and BLT
# Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and BLT
# project contributors. See the LICENSE file for details.
##############################################################################

Expand Down Expand Up @@ -30,10 +30,25 @@ stages:
reports:
junit: build/junit.xml

####
# Template
.run_project_integration_tests:
script:
#Use pre-existing allocation if any
- JOBID=$(if [[ $SYS_TYPE = toss_* ]]; then squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A; fi)
- ASSIGN_ID=$(if [[ -n "${JOBID}" ]]; then echo "--jobid=${JOBID}"; fi)
#BUILD + TEST
- echo -e "section_start:$(date +%s):run_project_integration_tests\r\e[0K
Run project integration tests ${CI_PROJECT_NAME}"
- ${ALLOC_COMMAND} .gitlab/run_project_integration_tests.sh
- echo -e "section_end:$(date +%s):build_and_test\r\e[0K"
artifacts:
reports:
junit: build/junit.xml


# This is where jobs are included
include:
- local: .gitlab/build_lassen.yml
- local: .gitlab/build_quartz.yml
# white238: Turned off while tioga is down for maintenance and is fickle
# - local: .gitlab/build_tioga.yml
- local: .gitlab/build_tioga.yml
24 changes: 23 additions & 1 deletion .gitlab/build_lassen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,19 @@
.build_on_lassen:
stage: build
variables:
ALLOC_COMMAND: "lalloc 1 -W 10 -q pdebug"
ALLOC_COMMAND: "lalloc 1 -W 15 -q pci"
extends: [.build_script, .on_lassen]
needs: []

####
# Template
.run_project_integration_test_on_lassen:
stage: build
variables:
ALLOC_COMMAND: "lalloc 1 -W 15 -q pci"
extends: [.run_project_integration_tests, .on_lassen]
needs: []

####
# Build jobs
lassen-clang_10.0.1_nvcc_c++14_export_tpls:
Expand All @@ -47,3 +56,16 @@ lassen-clang_10.0.1_nvcc_c++17_no_separable:
variables:
HOST_CONFIG: "clang@10.0.1_nvcc_c++17_no_separable.cmake"
extends: [.build_on_lassen, .with_cuda]

lassen-clang_14.0.5_with_gcc_8.3.1_nvcc_c++_only:
variables:
HOST_CONFIG: "clang@14.0.5_with_gcc@8.3.1_nvcc_c++_only.cmake"
extends: [.build_on_lassen, .with_cuda]

####
# CUDA project tests
lassen-clang_10.0.1_nvcc_cuda_clang_test:
variables:
ENABLED_BLT_TESTS: "cuda-arch cuda-mpi-cpp"
HOST_CONFIG: "cuda-arch/base/clang@10.0.1_nvcc_c++14_lassen.cmake"
extends: [.run_project_integration_test_on_lassen, .with_cuda]
21 changes: 19 additions & 2 deletions .gitlab/build_quartz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ quartz_allocate:
extends: [.on_quartz]
stage: allocate
script:
- salloc -p pdebug -N 1 -t 10 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off
- salloc --res=ci -N 1 -t 10 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off
needs: []

####
Expand All @@ -39,10 +39,19 @@ quartz_release:
.build_on_quartz:
stage: build
variables:
ALLOC_COMMAND: "srun -p pdebug -t 10 -N 1 ${ASSIGN_ID} --interactive"
ALLOC_COMMAND: "srun -t 15 -N 1 ${ASSIGN_ID} --interactive"
extends: [.build_script, .on_quartz]
needs: [quartz_allocate]

####
# Template
.run_project_integration_test_on_quartz:
stage: build
variables:
ALLOC_COMMAND: "srun -t 15 -N 1 ${ASSIGN_ID} --interactive"
extends: [.run_project_integration_tests, .on_quartz]
needs: [quartz_allocate]

####
# Build jobs
quartz-clang_14_0_6:
Expand All @@ -64,3 +73,11 @@ quartz-intel_2022_1_0_cxx17:
variables:
HOST_CONFIG: "intel@2022.1.0-c++17.cmake"
extends: [.build_on_quartz]

####
# HIP project tests
quartz_openmp_mpi_fortran_tests:
variables:
HOST_CONFIG: openmp-cpp-fortran/base/clang@14.0.6.cmake
ENABLED_BLT_TESTS: "mpi-cpp-fortran,openmp-cpp-fortran,openmp-mpi-cpp"
extends: [.run_project_integration_test_on_quartz]
20 changes: 18 additions & 2 deletions .gitlab/build_tioga.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,29 @@
.src_build_on_tioga:
stage: build
variables:
ALLOC_COMMAND: "flux mini run -t10m -n1"
ALLOC_COMMAND: "flux run -t15m -n1 --queue pci"
extends: [.build_script, .on_tioga]

####
# Template
.run_project_integration_test_on_tioga:
stage: build
variables:
ALLOC_COMMAND: "flux run -t15m -n1 --queue pci"
extends: [.run_project_integration_tests, .on_tioga]

####
# Build jobs
tioga-clang_14_0_0_hip:
variables:
HOST_CONFIG: "clang@14.0.0_hip.cmake"
extends: .src_build_on_tioga
allow_failure: true


####
# HIP project tests
tioga-clang_14.0.1_hip_config_test:
variables:
ENABLED_BLT_TESTS: "hip-config-test"
HOST_CONFIG: "hip-config-test/base/clang@14.0.0_hip.cmake"
extends: [.run_project_integration_test_on_tioga]
12 changes: 12 additions & 0 deletions .gitlab/run_project_integration_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

BLT_DIR=`pwd`
RUNNER_SCRIPT=`pwd`/tests/projects/run_tests.py
cd `pwd`/tests/projects/

if [[ -z $HOST_CONFIG ]]; then
HOST_CONFIG=`pwd`/tests/projects/$HOST_CONFIG
python3 $RUNNER_SCRIPT --run-test $ENABLED_BLT_TESTS --verbose --clean --blt-source-dir $BLT_DIR
else
python3 $RUNNER_SCRIPT --run-test $ENABLED_BLT_TESTS --host-config $HOST_CONFIG --verbose --clean --blt-source-dir $BLT_DIR
fi
14 changes: 14 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,21 @@
# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
apt_packages:
- ghostscript
- graphviz
- texlive-full

# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC.
Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC.
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# <img src="/share/blt/logo/blt_logo.png?raw=true" width="128" valign="middle" alt="BLT"/>
# <img src="/share/blt/logo/blt_logo_transparent.png?raw=true" width="128" valign="middle" alt="BLT"/>

[![Build
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)
Expand Down
27 changes: 26 additions & 1 deletion RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,37 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/

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

## [Version 0.6.0] - Release date 2024-01-18

### Added
- Added support for C++23. Note: XL and PGI do not support C++23.
- Adds a `clang_tidy_style` CMake target to allow `clang-tidy` to fix errors in-place.
This requires a `CLANGAPPLYREPLACEMENTS_EXECUTABLE` CMake variable to point to
the `clang-apply-replacements` executable in addition to the `CLANGTIDY_EXECUTABLE`.
Also adds a corresponding `ENABLE_CLANGAPPLYREPLACEMENTS` CMake option.
Note that the `clang_tidy_style` target is not added to the `style` target and must be run separately.
- Added the `blt_install_tpl_setups` macro, which installs files to setup and create
targets for the third-party libraries OpenMP, MPI, CUDA, and HIP. This macro is meant to
replace `blt_export_tpl_targets` as the preferred way to setup third-party libraries with BLT.
- Added `blt::`` namespaced aliases for BLT targets, `cuda`, `cuda_runtime`, `mpi`, and `openmp`.
These targets still exist but but will be deprecated in a future release. It is recommended that you
move to the new alias names, `blt::cuda`, `blt::cuda_runtime`, `blt::mpi`, and `blt::openmp`

### Changed
- SetupHIP now searches for user-defined or environment variables before CMake paths to find the ROCM_PATH.

### Fixed
- Fixed infinite loop in `blt_find_target_dependencies`
- `blt_check_code_compiles` now works with alias targets

## [Version 0.5.3] - Release date 2023-06-05

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

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



[Unreleased]: https://github.com/LLNL/blt/compare/v0.5.3...develop
[Unreleased]: https://github.com/LLNL/blt/compare/v0.6.0...develop
[Version 0.5.3]: https://github.com/LLNL/blt/compare/v0.5.3...v0.6.0
[Version 0.5.3]: https://github.com/LLNL/blt/compare/v0.5.2...v0.5.3
[Version 0.5.2]: https://github.com/LLNL/blt/compare/v0.5.1...v0.5.2
[Version 0.5.1]: https://github.com/LLNL/blt/compare/v0.5.0...v0.5.1
Expand Down
6 changes: 3 additions & 3 deletions SetupBLT.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and
# Copyright (c) 2017-2024, 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.5.3" CACHE STRING "")
set(BLT_VERSION "0.6.0" CACHE STRING "")
mark_as_advanced(BLT_VERSION)
message(STATUS "BLT Version: ${BLT_VERSION}")

Expand Down Expand Up @@ -127,7 +127,7 @@ if (NOT BLT_LOADED)
################################
# Standard TPL support
################################
include(${BLT_ROOT_DIR}/cmake/thirdparty/SetupThirdParty.cmake)
include(${BLT_ROOT_DIR}/cmake/SetupThirdParty.cmake)

################################
# Git related Macros
Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2017-2023, Lawrence Livermore National Security, LLC and
# Copyright (c) 2017-2024, 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
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-2023, Lawrence Livermore National Security, LLC and
# Copyright (c) 2017-2024, 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 b791829

Please sign in to comment.