Skip to content

Commit 655aa8c

Browse files
authored
Merge pull request #582 from LLNL/v0.5.1-rc
V0.5.1 rc
2 parents 296bf64 + 583be98 commit 655aa8c

36 files changed

+294
-391
lines changed

.gitlab-ci.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ stages:
1919
.build_script:
2020
script:
2121
#Use pre-existing allocation if any
22-
- JOBID=$(if [[ "$SYS_TYPE" == "toss_3_x86_64_ib" ]]; then squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A; fi)
22+
- JOBID=$(if [[ $SYS_TYPE = toss_* ]]; then squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A; fi)
2323
- ASSIGN_ID=$(if [[ -n "${JOBID}" ]]; then echo "--jobid=${JOBID}"; fi)
2424
#BUILD + TEST
2525
- echo -e "section_start:$(date +%s):build_and_test\r\e[0K
@@ -35,3 +35,4 @@ stages:
3535
include:
3636
- local: .gitlab/build_quartz.yml
3737
- local: .gitlab/build_lassen.yml
38+
- local: .gitlab/build_corona.yml

.gitlab/build_and_test.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ mkdir $BUILD_DIR
1414
cd $BUILD_DIR
1515

1616
cmake -C ../host-configs/llnl/$SYS_TYPE/$HOST_CONFIG ../tests/internal
17-
make -j8
17+
make VERBOSE=1 -j8
1818
ctest -DCTEST_OUTPUT_ON_FAILURE=1 --no-compress-output -T Test -VV
1919
xsltproc -o junit.xml ../tests/ctest-to-junit.xsl Testing/*/Test.xml
2020

.gitlab/build_corona.yml

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
####
2+
# This is the share configuration of jobs for corona
3+
.on_corona:
4+
tags:
5+
- shell
6+
- corona
7+
rules:
8+
- if: '$CI_COMMIT_BRANCH =~ /_qnone/ || $ON_CORONA == "OFF"' #run except if ...
9+
when: never
10+
- if: '$CI_JOB_NAME =~ /corona_release/'
11+
when: always
12+
- when: on_success
13+
14+
####
15+
# In pre-build phase, allocate a node for builds
16+
corona_allocate:
17+
variables:
18+
GIT_STRATEGY: none
19+
extends: [.on_corona]
20+
stage: allocate
21+
script:
22+
- salloc -p pbatch -N 1 -t 10 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off
23+
needs: []
24+
25+
####
26+
# In post-build phase, deallocate resources
27+
# Note : make sure this is run even on build phase failure
28+
corona_release:
29+
variables:
30+
GIT_STRATEGY: none
31+
extends: [.on_corona]
32+
stage: release
33+
script:
34+
- export JOBID=$(squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A)
35+
- if [[ -n "${JOBID}" ]]; then scancel ${JOBID}; fi
36+
37+
####
38+
# Template
39+
.build_on_corona:
40+
stage: build
41+
variables:
42+
ALLOC_COMMAND: "srun -p pbatch -t 10 -N 1 ${ASSIGN_ID} --interactive"
43+
extends: [.build_script, .on_corona]
44+
needs: [corona_allocate]
45+
46+
####
47+
# Build jobs
48+
corona-rocm_4_5_2_hip:
49+
variables:
50+
HOST_CONFIG: "[email protected]_hip.cmake"
51+
extends: [.build_on_corona]

.gitlab/build_quartz.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
rules:
88
- if: '$CI_COMMIT_BRANCH =~ /_qnone/ || $ON_QUARTZ == "OFF"' #run except if ...
99
when: never
10-
- if: '$CI_JOB_NAME =~ /release_resources/'
10+
- if: '$CI_JOB_NAME =~ /quartz_release/'
1111
when: always
1212
- when: on_success
1313

@@ -39,8 +39,9 @@ quartz_release:
3939
.build_on_quartz:
4040
stage: build
4141
variables:
42-
ALLOC_COMMAND: "srun -p pdebug -t 30 -N 1 ${ASSIGN_ID} --interactive"
42+
ALLOC_COMMAND: "srun -p pdebug -t 10 -N 1 ${ASSIGN_ID} --interactive"
4343
extends: [.build_script, .on_quartz]
44+
needs: [quartz_allocate]
4445

4546
####
4647
# Build jobs

RELEASE-NOTES.md

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

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

12+
## [Version 0.5.1] - Release date 2022-04-22
13+
14+
### Added
15+
- Added support for C++20. Note: XL does not support C++20.
16+
While PGI has C++20 support, it is currently disabled (A BLT fatal error will occur).
17+
- BLT_CXX_STD now sets CMAKE_HIP_STANDARD, in CMake 3.21+, similar to CMAKE_CUDA_STANDARD.
18+
19+
### Fixed
20+
- Removed hard-coded -std=c++11 from various places related to CUDA flags. This now honors
21+
CMAKE_CUDA_STANDARD if set otherwise falls back on BLT_CXX_STD or CMAKE_CXX_STANDARD.
22+
- Removed extra HIP offload flags that were being added as generator expressions as opposed to simple
23+
flags.
24+
25+
### Removed
26+
- Removed support for deprecated HCC.
27+
1228
## [Version 0.5.0] - Release date 2022-03-07
1329

1430
### Added
@@ -235,7 +251,8 @@ The project release numbers follow [Semantic Versioning](http://semver.org/spec/
235251

236252

237253

238-
[Unreleased]: https://github.com/LLNL/blt/compare/v0.5.0...develop
254+
[Unreleased]: https://github.com/LLNL/blt/compare/v0.5.1...develop
255+
[Version 0.5.1]: https://github.com/LLNL/blt/compare/v0.5.0...v0.5.1
239256
[Version 0.5.0]: https://github.com/LLNL/blt/compare/v0.4.1...v0.5.0
240257
[Version 0.4.1]: https://github.com/LLNL/blt/compare/v0.4.0...v0.4.1
241258
[Version 0.4.0]: https://github.com/LLNL/blt/compare/v0.3.6...v0.4.0

SetupBLT.cmake

+14-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# SPDX-License-Identifier: (BSD-3-Clause)
55

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

@@ -33,6 +33,13 @@ if (NOT BLT_LOADED)
3333
# Show CMake info right out of the gate
3434
################################
3535
message(STATUS "CMake Version: ${CMAKE_VERSION}")
36+
get_property(_is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
37+
if (_is_multi_config)
38+
message(STATUS "CMake Configuration Types: ${CMAKE_CONFIGURATION_TYPES}")
39+
else()
40+
message(STATUS "CMake Build Type: ${CMAKE_BUILD_TYPE}")
41+
endif()
42+
unset(_is_multi_config)
3643

3744
if(${CMAKE_VERSION} VERSION_LESS 3.8.0)
3845
message("*************************************")
@@ -95,7 +102,6 @@ if (NOT BLT_LOADED)
95102
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
96103
endif()
97104

98-
99105
################################
100106
# Enable cmake compilation database feature
101107
################################
@@ -106,6 +112,11 @@ if (NOT BLT_LOADED)
106112
################################
107113
include(${BLT_ROOT_DIR}/cmake/BLTMacros.cmake)
108114

115+
################################
116+
# Setup compiler standards early
117+
################################
118+
include(${BLT_ROOT_DIR}/cmake/SetupCompilerStandards.cmake)
119+
109120
################################
110121
# Standard TPL support
111122
################################
@@ -212,3 +223,4 @@ if (NOT BLT_LOADED)
212223
endif()
213224

214225
endif() # only load BLT once!
226+

cmake/BLTMacros.cmake

+1-2
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,6 @@ endmacro(blt_add_benchmark)
958958
## DEFAULT defaultFlag (optional)
959959
## GNU gnuFlag (optional)
960960
## CLANG clangFlag (optional)
961-
## HCC hccFlag (optional)
962961
## INTEL intelFlag (optional)
963962
## INTELLLVM intelLLVMFlag (optional)
964963
## XL xlFlag (optional)
@@ -972,7 +971,7 @@ endmacro(blt_add_benchmark)
972971
macro(blt_append_custom_compiler_flag)
973972

974973
set(options)
975-
set(singleValueArgs FLAGS_VAR DEFAULT GNU CLANG HCC PGI INTEL INTELLLVM XL MSVC MSVC_INTEL CRAY)
974+
set(singleValueArgs FLAGS_VAR DEFAULT GNU CLANG PGI INTEL INTELLLVM XL MSVC MSVC_INTEL CRAY)
976975
set(multiValueArgs)
977976

978977
# Parse the arguments

cmake/BLTOptions.cmake

-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ mark_as_advanced(ENABLE_CLANG_CUDA)
5959
set(BLT_CLANG_CUDA_ARCH "sm_30" CACHE STRING "Compute architecture to use when generating CUDA code with Clang")
6060
mark_as_advanced(BLT_CLANG_CUDA_ARCH)
6161
option(ENABLE_HIP "Enable HIP support" OFF)
62-
option(ENABLE_HCC "Enable HCC support" OFF)
6362
set(CMAKE_HIP_ARCHITECTURES "gfx900" CACHE STRING "gfx architecture to use when generating HIP/ROCm code")
6463

6564
#------------------------------------------------------------------------------

cmake/SetupCompilerOptions.cmake

+4-89
Original file line numberDiff line numberDiff line change
@@ -134,54 +134,26 @@ endif()
134134
# all targets that use <LANG>-Compiler
135135
##########################################
136136

137-
##########################################
138-
# Support extra flags for the C compiler.
139-
##########################################
140137
if(BLT_C_FLAGS)
141138
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${BLT_C_FLAGS}")
142139
message(STATUS "Updated CMAKE_C_FLAGS to \"${CMAKE_C_FLAGS}\"")
143140
endif()
144141

145-
#############################################
146-
# Support extra flags for the C++ compiler.
147-
#############################################
148142
if(BLT_CXX_FLAGS)
149143
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${BLT_CXX_FLAGS}")
150144
message(STATUS "Updated CMAKE_CXX_FLAGS to \"${CMAKE_CXX_FLAGS}\"")
151145
endif()
152146

153-
################################################
154-
# Support extra flags for the Fortran compiler.
155-
################################################
156147
if(ENABLE_FORTRAN AND BLT_FORTRAN_FLAGS)
157148
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${BLT_FORTRAN_FLAGS}")
158-
message(STATUS "Updated CMAKE_Fortran_FLAGS to \"${CMAKE_Fortran_FLAGS}\"")
149+
message(STATUS "Updated CMAKE_Fortran_FLAGS to \"${CMAKE_Fortran_FLAGS}\"")
159150
endif()
160151

161-
162-
############################################################
163-
# Map Legacy FindCUDA variables to native cmake variables
164-
# Note - we are intentionally breaking the semicolon delimited
165-
# list that FindCUDA demanded of CUDA_NVCC_FLAGS so users
166-
# are forced to clean up their host configs.
167-
############################################################
168-
if (ENABLE_CUDA)
169-
if (BLT_CUDA_FLAGS)
170-
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${BLT_CUDA_FLAGS}")
171-
endif()
172-
# quirk of ordering means that one needs to define -std=c++11 in CMAKE_CUDA_FLAGS if
173-
# --expt-extended-lambda is being used so cmake can get past the compiler check,
174-
# but the CMAKE_CUDA_STANDARD stuff adds another definition in which breaks things.
175-
# So we rip it out here, but it ends up being inserted in the final build rule by cmake.
176-
if (CMAKE_CUDA_FLAGS)
177-
STRING(REPLACE "-std=c++11" " " CMAKE_CUDA_FLAGS ${CMAKE_CUDA_FLAGS} )
178-
endif()
152+
if(ENABLE_CUDA AND BLT_CUDA_FLAGS)
153+
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${BLT_CUDA_FLAGS}")
154+
message(STATUS "Updated CMAKE_CUDA_FLAGS to \"${CMAKE_CUDA_FLAGS}\"")
179155
endif()
180156

181-
182-
################################################
183-
# Support extra linker flags
184-
################################################
185157
if(BLT_EXE_LINKER_FLAGS)
186158
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${BLT_EXE_LINKER_FLAGS}")
187159
message(STATUS "Updated CMAKE_EXE_LINKER_FLAGS to \"${CMAKE_EXE_LINKER_FLAGS}\"")
@@ -253,61 +225,6 @@ if(BUILD_SHARED_LIBS)
253225
endif()
254226
endif()
255227

256-
################################
257-
# C++ Standard
258-
################################
259-
if (NOT DEFINED CMAKE_CXX_EXTENSIONS)
260-
message(STATUS "Setting CMAKE_CXX_EXTENSIONS to Off")
261-
set( CMAKE_CXX_EXTENSIONS OFF )
262-
endif ()
263-
SET( CMAKE_CXX_STANDARD_REQUIRED ON )
264-
265-
set(BLT_CXX_STD "" CACHE STRING "Version of C++ standard")
266-
set_property(CACHE BLT_CXX_STD PROPERTY STRINGS c++98 c++11 c++14 c++17)
267-
268-
if (BLT_CXX_STD)
269-
if( BLT_CXX_STD STREQUAL c++98 )
270-
set(CMAKE_CXX_STANDARD 98)
271-
elseif( BLT_CXX_STD STREQUAL c++11 )
272-
set(CMAKE_CXX_STANDARD 11)
273-
blt_append_custom_compiler_flag(
274-
FLAGS_VAR CMAKE_CXX_FLAGS
275-
DEFAULT " "
276-
XL "-std=c++11"
277-
PGI "--c++11")
278-
elseif( BLT_CXX_STD STREQUAL c++14)
279-
set(CMAKE_CXX_STANDARD 14)
280-
blt_append_custom_compiler_flag(
281-
FLAGS_VAR CMAKE_CXX_FLAGS
282-
DEFAULT " "
283-
XL "-std=c++14"
284-
PGI "--c++14")
285-
elseif( BLT_CXX_STD STREQUAL c++17)
286-
# Error out on what does not support C++17
287-
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "XL")
288-
message(FATAL_ERROR "XL does not support C++17.")
289-
endif()
290-
if (ENABLE_CUDA AND (NOT DEFINED CMAKE_CUDA_COMPILE_FEATURES OR (NOT "cuda_std_17" IN_LIST CMAKE_CUDA_COMPILE_FEATURES)))
291-
message(FATAL_ERROR "CMake's CUDA_STANDARD does not support C++17.")
292-
endif()
293-
294-
set(CMAKE_CXX_STANDARD 17)
295-
blt_append_custom_compiler_flag(
296-
FLAGS_VAR CMAKE_CXX_FLAGS
297-
DEFAULT " "
298-
PGI "--c++17")
299-
else()
300-
message(FATAL_ERROR "${BLT_CXX_STD} is an invalid entry for BLT_CXX_STD. "
301-
"Valid Options are ( c++98, c++11, c++14, c++17 )")
302-
endif()
303-
304-
if (ENABLE_CUDA)
305-
set(CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD})
306-
endif()
307-
308-
message(STATUS "Standard C++${CMAKE_CXX_STANDARD} selected")
309-
endif()
310-
311228

312229
##################################################################
313230
# Additional compiler warnings and treatment of warnings as errors
@@ -319,7 +236,6 @@ blt_append_custom_compiler_flag(
319236
CLANG "-Wall -Wextra"
320237
# Additional possibilities for clang include:
321238
# "-Wdocumentation -Wdeprecated -Weverything"
322-
HCC "-Wall"
323239
PGI "-Minform=warn"
324240
MSVC "/W4"
325241
# Additional possibilities for visual studio include:
@@ -336,7 +252,6 @@ blt_append_custom_compiler_flag(
336252
CLANG "-Wall -Wextra"
337253
# Additional possibilities for clang include:
338254
# "-Wdocumentation -Wdeprecated -Weverything"
339-
HCC "-Wall"
340255
PGI "-Minform=warn"
341256
MSVC "/W4"
342257
# Additional possibilities for visual studio include:

0 commit comments

Comments
 (0)