Skip to content

Commit a83a448

Browse files
authored
Merge pull request #1393 from LLNL/v2022.10.3-RC
V2022.10.3 rc
2 parents 54a0aaa + e9434b1 commit a83a448

Some content is hidden

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

49 files changed

+1268
-499
lines changed

.gitlab/corona-build-and-test-extra.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@
2323

2424
rocm_5_1_1_clang_13_0_0_desul_atomics:
2525
variables:
26-
SPEC: " +rocm ~openmp +desul amdgpu_target=gfx906 %clang@13.0.0 ^hip@5.1.1 ^blt@develop"
26+
SPEC: " ~shared +rocm ~openmp +tests +desul amdgpu_target=gfx906 %clang@13.0.0 ^hip@5.1.1 ^blt@develop"
2727
extends: .build_and_test_on_corona
2828

.gitlab/custom-jobs-and-variables.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ variables:
1818
# Arguments for job level allocation
1919
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--time=45 --nodes=1"
2020
# Project specific variants for ruby
21-
PROJECT_RUBY_VARIANTS: "+openmp "
21+
PROJECT_RUBY_VARIANTS: "~shared +openmp +tests"
2222
# Project specific deps for ruby
2323
PROJECT_RUBY_DEPS: ""
2424

@@ -28,7 +28,7 @@ variables:
2828
# Arguments for job level allocation
2929
CORONA_BUILD_AND_TEST_JOB_ALLOC: "--time-limit=45m --nodes=1"
3030
# Project specific variants for corona
31-
PROJECT_CORONA_VARIANTS: "~openmp "
31+
PROJECT_CORONA_VARIANTS: "~shared ~openmp +tests"
3232
# Project specific deps for corona
3333
PROJECT_CORONA_DEPS: "^blt@develop "
3434

@@ -37,7 +37,7 @@ variables:
3737
# Arguments for job level allocation
3838
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 -W 60"
3939
# Project specific variants for lassen
40-
PROJECT_LASSEN_VARIANTS: "+openmp "
40+
PROJECT_LASSEN_VARIANTS: "~shared +openmp +tests"
4141
# Project specific deps for lassen
4242
PROJECT_LASSEN_DEPS: ""
4343

.gitlab/lassen-build-and-test-extra.yml

+7-7
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ xl_16_1_1_12_gcc_8_3_1_cuda_11_1_0:
102102

103103
clang_14_0_5:
104104
variables:
105-
SPEC: " +openmp %clang@14.0.5"
105+
SPEC: " ~shared +openmp +tests %clang@14.0.5"
106106
extends: .build_and_test_on_lassen
107107

108108
##########
@@ -111,18 +111,18 @@ clang_14_0_5:
111111

112112
clang_12_0_1_cuda_11_5_0:
113113
variables:
114-
SPEC: " +openmp +cuda cuda_arch=70 %clang@12.0.1 ^cuda@11.5.0"
114+
SPEC: " ~shared +openmp +tests +cuda cuda_arch=70 %clang@12.0.1 ^cuda@11.5.0"
115115
extends: .build_and_test_on_lassen
116116

117117
gcc_8_3_1_cuda_11_1_0:
118118
variables:
119-
SPEC: " +openmp +cuda %gcc@8.3.1 cuda_arch=70 ^cuda@11.1.0"
119+
SPEC: " ~shared +openmp +tests +cuda %gcc@8.3.1 cuda_arch=70 ^cuda@11.1.0"
120120
extends: .build_and_test_on_lassen
121121

122122
gcc_8_3_1_cuda_11_5_0_ats_disabled:
123123
extends: .build_and_test_on_lassen
124124
variables:
125-
SPEC: " +openmp +cuda %gcc@8.3.1 cuda_arch=70 ^cuda@11.5.0"
125+
SPEC: " ~shared +openmp +tests +cuda %gcc@8.3.1 cuda_arch=70 ^cuda@11.5.0"
126126
LASSEN_BUILD_AND_TEST_JOB_ALLOC: "1 --atsdisable -W 60"
127127

128128
##########
@@ -131,16 +131,16 @@ gcc_8_3_1_cuda_11_5_0_ats_disabled:
131131

132132
clang_13_0_1_libcpp:
133133
variables:
134-
SPEC: " +openmp %clang@13.0.1+libcpp"
134+
SPEC: " ~shared +openmp +tests %clang@13.0.1+libcpp"
135135
extends: .build_and_test_on_lassen
136136

137137
clang_14_0_5_asan:
138138
variables:
139-
SPEC: " +openmp %clang@14.0.5 cxxflags=-fsanitize=address"
139+
SPEC: " ~shared +openmp +tests %clang@14.0.5 cxxflags=-fsanitize=address"
140140
ASAN_OPTIONS: "detect_leaks=1"
141141
extends: .build_and_test_on_lassen
142142

143143
gcc_8_3_1_cuda_10_1_168_desul_atomics:
144144
variables:
145-
SPEC: " +openmp +cuda +desul %gcc@8.3.1 cuda_arch=70 ^cuda@10.1.168"
145+
SPEC: " ~shared +openmp +tests +cuda +desul %gcc@8.3.1 cuda_arch=70 ^cuda@10.1.168"
146146
extends: .build_and_test_on_lassen

.gitlab/ruby-build-and-test-extra.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,24 @@ pgi_20_1_gcc_local_8_3_1:
3535

3636
clang_9_0_0_openmp_off:
3737
variables:
38-
SPEC: " ~openmp %clang@9.0.0"
38+
SPEC: " ~shared ~openmp +tests %clang@9.0.0"
3939
extends: .build_and_test_on_ruby
4040

4141
gcc_8_1_0_openmp_default:
4242
variables:
43-
SPEC: " %gcc@8.1.0"
43+
SPEC: " ~shared +tests %gcc@8.1.0"
4444
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--time=60 --nodes=1"
4545
extends: .build_and_test_on_ruby
4646

4747
icpc_19_1_0:
4848
variables:
49-
SPEC: " +openmp %intel@19.1.0"
49+
SPEC: " ~shared +openmp +tests %intel@19.1.0"
5050
RUBY_BUILD_AND_TEST_JOB_ALLOC: "--time=40 --nodes=1"
5151
extends: .build_and_test_on_ruby
5252

5353
# OTHERS
5454
clang_10_0_1_gcc_8_3_1_desul_atomics:
5555
variables:
56-
SPEC: " +openmp +desul %clang@10.0.1 cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1"
56+
SPEC: " ~shared +openmp +tests +desul %clang@10.0.1 cxxflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 cflags=--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1"
5757
extends: .build_and_test_on_ruby
5858

.uberenv_config.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"package_name" : "raja",
33
"package_version" : "develop",
4-
"package_final_phase" : "hostconfig",
4+
"package_final_phase" : "initconfig",
55
"package_source_dir" : "../..",
66
"spack_url": "https://github.com/spack/spack.git",
77
"spack_branch": "v0.18.1",

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ include(CMakeDependentOption)
1616
# Set version number
1717
set(RAJA_VERSION_MAJOR 2022)
1818
set(RAJA_VERSION_MINOR 10)
19-
set(RAJA_VERSION_PATCHLEVEL 2)
19+
set(RAJA_VERSION_PATCHLEVEL 3)
2020

2121
if (RAJA_LOADED AND (NOT RAJA_LOADED STREQUAL "${RAJA_VERSION_MAJOR}.${RAJA_VERSION_MINOR}.${RAJA_VERSION_PATCHLEVEL}"))
2222
message(FATAL_ERROR "You are mixing RAJA versions. Loaded is ${RAJA_LOADED}, expected ${RAJA_VERSION_MAJOR}.${RAJA_VERSION_MINOR}.${RAJA_VERSION_PATCHLEVEL}")

RELEASE_NOTES.md

+31
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,37 @@ Notable changes include:
2020
* Bug fixes/improvements:
2121

2222

23+
Version 2022.10.3 -- Release date 2022-12-01
24+
============================================
25+
26+
This release fixes a few issues that were found after the v2022.10.2 release.
27+
28+
Notable changes include:
29+
30+
* Update camp submodule to v2022.10.1
31+
* Update BLT submodule to commit 8c229991 (includes fixes for crayftn + hip)
32+
33+
* Properly export 'roctx' target when CMake variable RAJA_ENABLE_ROCTX is on.
34+
* Fix CMake logic for exporting desul targets when desul atomics are enabled.
35+
* Fix the way we use CMake to find the rocPRIM module to follow CMake
36+
best practices.
37+
* Add missing template parameter pack argument in RAJA::statement::For
38+
execution policy construct used in RAJA::kernel implementation for OpenMP
39+
target back-end.
40+
* Change to use compile-time GPU thread block size in RAJA::forall
41+
implementation. This improves performance of GPU kernels, especially
42+
those using the RAJA HIP back-end.
43+
* Added RAJA plugin support, including CHAI support, for RAJA::launch.
44+
* Replaced 'DEVICE' macro with alias to 'device_mem_pool_t' to prevent name
45+
conflicts with other libraries.
46+
* Updated User Guide documentation about CMake variable used to pass
47+
compiler flags for OpenMP target back-end. This changed with CMake
48+
minimum required version bump in v2022.10.0.
49+
* Adjust ordering of BLT and camp target inclusion in RAJA CMake usage to
50+
fix an issue with projects using external camp vs. RAJA submodule.
51+
52+
53+
2354
Version 2022.10.2 -- Release date 2022-11-08
2455
============================================
2556

cmake/SetupPackages.cmake

+7-4
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ if (RAJA_ENABLE_HIP)
8282
endif()
8383

8484
if (RAJA_ENABLE_EXTERNAL_ROCPRIM)
85-
include(cmake/thirdparty/FindRocPRIM.cmake)
86-
if (ROCPRIM_FOUND)
85+
find_package(rocPRIM)
86+
if (rocPRIM_FOUND)
8787
blt_import_library(
8888
NAME rocPRIM
89-
INCLUDES ${ROCPRIM_INCLUDE_DIRS}
89+
INCLUDES ${rocPRIM_INCLUDE_DIRS}
9090
TREAT_INCLUDES_AS_SYSTEM ON
9191
EXPORTABLE ON)
9292
else()
@@ -101,13 +101,16 @@ if (RAJA_ENABLE_HIP AND RAJA_ENABLE_ROCTX)
101101
include(FindRoctracer)
102102
blt_import_library(NAME roctx
103103
INCLUDES ${ROCTX_INCLUDE_DIRS}
104-
LIBRARIES ${ROCTX_LIBRARIES})
104+
LIBRARIES ${ROCTX_LIBRARIES}
105+
EXPORTABLE ON
106+
TREAT_INCLUDES_AS_SYSTEM ON)
105107
endif ()
106108

107109
set(TPL_DEPS)
108110
blt_list_append(TO TPL_DEPS ELEMENTS nvtoolsext IF RAJA_ENABLE_NV_TOOLS_EXT)
109111
blt_list_append(TO TPL_DEPS ELEMENTS cub IF RAJA_ENABLE_EXTERNAL_CUB)
110112
blt_list_append(TO TPL_DEPS ELEMENTS rocPRIM IF RAJA_ENABLE_EXTERNAL_ROCPRIM)
113+
blt_list_append(TO TPL_DEPS ELEMENTS roctx IF RAJA_ENABLE_ROCTX)
111114

112115
set(RAJA_NEEDS_BLT_TPLS False)
113116
if (RAJA_ENABLE_CUDA OR RAJA_ENABLE_HIP OR RAJA_ENABLE_OPENMP OR RAJA_ENABLE_MPI)

cmake/thirdparty/FindRocPRIM.cmake

-29
This file was deleted.

cmake/thirdparty/FindrocPRIM.cmake

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
###############################################################################
2+
# Copyright (c) 2016-22, Lawrence Livermore National Security, LLC
3+
# and other RAJA project contributors. See the RAJA/LICENSE file for details.
4+
#
5+
# SPDX-License-Identifier: (BSD-3-Clause)
6+
###############################################################################
7+
8+
#[=======================================================================[.rst:
9+
10+
FindrocPRIM
11+
-------
12+
13+
Finds the rocPRIM package.
14+
15+
Result Variables
16+
^^^^^^^^^^^^^^^^
17+
18+
This will define the following variables:
19+
20+
``rocPRIM_FOUND``
21+
True if the system has the rocPRIM library.
22+
``rocPRIM_INCLUDE_DIRS``
23+
Include directories needed to use rocPRIM.
24+
25+
Cache Variables
26+
^^^^^^^^^^^^^^^
27+
28+
The following cache variables may also be set:
29+
30+
``rocPRIM_INCLUDE_DIR``
31+
The directory containing ``rocprim.hpp``.
32+
33+
#]=======================================================================]
34+
35+
include (FindPackageHandleStandardArgs)
36+
37+
find_path(rocPRIM_INCLUDE_DIR
38+
NAMES rocprim/rocprim.hpp
39+
HINTS
40+
${ROCPRIM_DIR}/
41+
${HIP_ROOT_DIR}/../
42+
PATH_SUFFIXES
43+
include
44+
rocprim
45+
rocprim/include)
46+
47+
find_package_handle_standard_args(
48+
rocPRIM
49+
DEFAULT_MSG
50+
rocPRIM_INCLUDE_DIR)
51+
52+
if (rocPRIM_FOUND)
53+
set(rocPRIM_INCLUDE_DIRS ${rocPRIM_INCLUDE_DIR})
54+
endif()

docs/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
# The short X.Y version.
8989
version = u'2022.10'
9090
# The full version, including alpha/beta/rc tags.
91-
release = u'2022.10.2'
91+
release = u'2022.10.3'
9292

9393
# The language for content autogenerated by Sphinx. Refer to documentation
9494
# for a list of supported languages.

docs/sphinx/user_guide/getting_started.rst

+8-5
Original file line numberDiff line numberDiff line change
@@ -323,16 +323,19 @@ OpenMP
323323
^^^^^^^
324324

325325
To use OpenMP target offload GPU execution, additional options may need to be
326-
passed to the compiler. The variable ``OpenMP_CXX_FLAGS`` is used for this.
327-
Option syntax follows the CMake *list* pattern. For example, to specify OpenMP
328-
target options for NVIDIA GPUs using a clang-based compiler, one may do
329-
something like::
326+
passed to the compiler. BLT variables are used for this. Option syntax follows
327+
the CMake *list* pattern. For example, to specify OpenMP target options for
328+
NVIDIA GPUs using a clang-based compiler, one may do something like::
330329

331330
cmake \
332331
... \
333-
-DOpenMP_CXX_FLAGS="-fopenmp;-fopenmp-targets=nvptx64-nvidia-cuda" \
332+
-DBLT_OPENMP_COMPILE_FLAGS="-fopenmp;-fopenmp-targets=nvptx64-nvidia-cuda" \
333+
-DBLT_OPENMP_LINK_FLAGS="-fopenmp;-fopenmp-targets=nvptx64-nvidia-cuda" \
334334
...
335335

336+
Compiler flags are passed to other compilers similarly, using flags specific to
337+
the compiler. Typically, the compile and link flags are the same as shown here.
338+
336339
----------------------------------------
337340
RAJA Example Build Configuration Files
338341
----------------------------------------
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
###############################################################################
2+
# Copyright (c) 2016-22, Lawrence Livermore National Security, LLC
3+
# and RAJA project contributors. See the RAJA/LICENSE file for details.
4+
#
5+
# SPDX-License-Identifier: (BSD-3-Clause)
6+
###############################################################################
7+
8+
set(RAJA_COMPILER "RAJA_COMPILER_GNU" CACHE STRING "")
9+
10+
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native" CACHE STRING "")
11+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Ofast -march=native -g" CACHE STRING "")
12+
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "")
13+
14+
set(RAJA_DATA_ALIGN 64 CACHE STRING "")
15+
16+
set(RAJA_HOST_CONFIG_LOADED On CACHE BOOL "")
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
###############################################################################
2+
# Copyright (c) 2016-22, Lawrence Livermore National Security, LLC
3+
# and RAJA project contributors. See the RAJA/LICENSE file for details.
4+
#
5+
# SPDX-License-Identifier: (BSD-3-Clause)
6+
###############################################################################
7+
8+
set(RAJA_COMPILER "RAJA_COMPILER_ICC" CACHE STRING "")
9+
10+
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -ansi-alias -diag-disable cpu-dispatch" CACHE STRING "")
11+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -march=native -ansi-alias -diag-disable cpu-dispatch" CACHE STRING "")
12+
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "")
13+
14+
set(RAJA_DATA_ALIGN 64 CACHE STRING "")
15+
16+
set(RAJA_HOST_CONFIG_LOADED On CACHE BOOL "")
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
###############################################################################
2+
# Copyright (c) 2016-22, Lawrence Livermore National Security, LLC
3+
# and RAJA project contributors. See the RAJA/LICENSE file for details.
4+
#
5+
# SPDX-License-Identifier: (BSD-3-Clause)
6+
###############################################################################
7+
8+
set(RAJA_COMPILER "RAJA_COMPILER_ICC" CACHE STRING "")
9+
10+
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native" CACHE STRING "")
11+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -march=native" CACHE STRING "")
12+
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "")
13+
14+
set(RAJA_DATA_ALIGN 64 CACHE STRING "")
15+
16+
set(RAJA_HOST_CONFIG_LOADED On CACHE BOOL "")

0 commit comments

Comments
 (0)