Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
7844b53
Update BLT
smithsg84 Apr 2, 2026
923dbc1
Initial CUDA 13 work. Compiles and runs on RH9 with both CUDA 12 an…
smithsg84 Apr 3, 2026
d1b8a89
Merge remote-tracking branch 'origin/develop' into feature/smith84/cu…
smithsg84 Apr 3, 2026
e4e7db8
Style
smithsg84 Apr 3, 2026
2522afe
CUB location has changed in CUDA 13
smithsg84 Apr 8, 2026
9a7821b
Add CUDA 13 test to matrix suite
smithsg84 Apr 8, 2026
dc6d9f4
update camp
smithsg84 Apr 8, 2026
2cebf15
Adding more retional to questions for discussion
smithsg84 Apr 8, 2026
f02c310
Testing matrix CUDA build with modified spack package
smithsg84 Apr 10, 2026
7490bf4
Fixed directory structure
smithsg84 Apr 10, 2026
7c5465c
Deep sigh, fixing path again
smithsg84 Apr 10, 2026
a1bf791
Use development versions of BLT and Camp
smithsg84 Apr 10, 2026
0396164
Fix package testing paths
smithsg84 Apr 13, 2026
ab46365
Temporary mod to use branch of CAMP
smithsg84 Apr 14, 2026
8ab7ebe
Fixed typo
smithsg84 Apr 14, 2026
fc0bee7
Fix package URL
smithsg84 Apr 14, 2026
647c701
Revert camp version
smithsg84 Apr 14, 2026
87d308a
Increase RAJA job allocation time on matrix
smithsg84 Apr 15, 2026
6cce1f6
Merge branch 'develop' into feature/smith84/cuda-13-support
rhornung67 Apr 15, 2026
6740342
Update BLT and CAMP dependencies
smithsg84 May 7, 2026
e8674eb
Cleanup of temporary Spack package file
smithsg84 May 8, 2026
618c1e2
Merge branch 'develop' into feature/smith84/cuda-13-support
smithsg84 May 8, 2026
52b97b6
Working use-with-cmake test in both contexts and examples working in …
smithsg84 May 13, 2026
65ae965
Merge branch 'develop' into feature/smith84/cuda-13-support
smithsg84 May 21, 2026
e036025
Refix install so hosts-config.cmake is present when test are not built
smithsg84 May 22, 2026
a30c0fa
Reintegrate Cody changes
smithsg84 May 22, 2026
3d99495
Cleanup RAJA spack package
smithsg84 May 22, 2026
43a6fa6
Remove temporary PR spack package files for updating cuda
smithsg84 Jun 24, 2026
2277bb9
Raja spack package was updated to use latest BLT release
smithsg84 Jun 24, 2026
dcd35a3
Merge branch 'develop' into feature/smith84/cuda-13-support
smithsg84 Jun 24, 2026
951e058
Update radius-spack-configs
smithsg84 Jun 24, 2026
bb9b6b8
Trigger CI pipeline
smithsg84 Jun 24, 2026
3f39c6b
Need current spack-packages for CUDA 13 support
smithsg84 Jun 24, 2026
bb6ff01
Remove spack-packages commit hash from uberenv and move to radius-spa…
smithsg84 Jun 25, 2026
e56d07b
Revert temporaroy testing radiuss-spack-configs fork to main repository
smithsg84 Jun 26, 2026
590be37
Merge branch 'develop' into feature/smith84/cuda-13-support
rhornung67 Jun 30, 2026
7e76aaf
Squash compiler warnings for CUDA/HIP builds; routines do not need ho…
rhornung67 Jul 1, 2026
f6f8fa8
Squash more compiler warnings
rhornung67 Jul 1, 2026
5edf7e6
Reove errant double quote
rhornung67 Jul 1, 2026
81cb1b3
Merge branch 'develop' into feature/smith84/cuda-13-support
rhornung67 Jul 1, 2026
abcc770
Merge branch 'develop' into feature/smith84/cuda-13-support
rhornung67 Jul 2, 2026
6d96633
Merge branch 'develop' into feature/smith84/cuda-13-support
rhornung67 Jul 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitlab/jobs/matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,8 @@ clang_18_1_8_cuda_12_6_0:
variables:
SPEC: " ~shared +cuda cuda_arch=90 +tests %llvm@=18.1.8 ^cuda@12.6.0+allow-unsupported-compilers"
extends: .job_on_matrix

clang_18_1_8_cuda_13_1_1:
variables:
SPEC: " ~shared +cuda cuda_arch=90 +tests %llvm@=18.1.8 ^cuda@13.1.1+allow-unsupported-compilers"
extends: .job_on_matrix
6 changes: 6 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,12 @@ endif()

if(RAJA_ENABLE_TESTS)
add_subdirectory(test)
else()
# For Spack stand-alone tests need host config information for building simple
# examples even if full tests are not done.
configure_file(
test/install/using-with-cmake/host-config.cmake.in
${PROJECT_BINARY_DIR}/examples/using-with-cmake/host-config.cmake)
endif()

if(RAJA_ENABLE_REPRODUCERS)
Expand Down
2 changes: 1 addition & 1 deletion blt
Submodule blt updated 36 files
+1 −0 .gitignore
+4 −12 .gitlab-ci.yml
+13 −25 .gitlab/build_dane.yml
+0 −71 .gitlab/build_lassen.yml
+54 −0 .gitlab/build_matrix.yml
+5 −19 .gitlab/build_tioga.yml
+1 −1 README.md
+18 −3 RELEASE-NOTES.md
+1 −1 SetupBLT.cmake
+1 −1 cmake/BLTInstallableMacros.cmake
+19 −6 cmake/BLTMacros.cmake
+6 −9 cmake/SetupCompilerOptions.cmake
+7 −0 cmake/thirdparty/BLTSetupCUDA.cmake
+1 −1 docs/api/code_check.rst
+1 −1 docs/api/documentation.rst
+5 −6 docs/api/git.rst
+27 −27 docs/api/target.rst
+5 −8 docs/tutorial/common_hpc_dependencies.rst
+9 −9 docs/tutorial/host_configs.rst
+0 −67 host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@10.0.1_nvcc_c++14_export_tpls.cmake
+0 −80 host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@10.0.1_nvcc_c++14_xlf.cmake
+0 −64 host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@10.0.1_nvcc_c++17.cmake
+0 −61 host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@10.0.1_nvcc_c++17_no_separable.cmake
+0 −40 host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@14.0.5_with_gcc@8.3.1_nvcc_c++_only.cmake
+2 −0 host-configs/llnl/toss_4_x86_64_ib/gcc@10.3.1_nvcc.cmake
+1 −1 host-configs/llnl/toss_4_x86_64_ib/intel@2022.1.0-c++17.cmake
+52 −0 host-configs/llnl/toss_4_x86_64_ib/intel@2025.2.0-c++20.cmake
+3 −2 tests/smoke/CMakeLists.txt
+10 −3 tests/smoke/blt_cuda_runtime_smoke.cpp
+14 −0 tests/smoke/blt_mpi_smoke.cpp
+2 −0 thirdparty_builtin/CMakeLists.txt
+7 −2 thirdparty_builtin/googletest-1.16.0/googletest/cmake/internal_utils.cmake
+6 −2 thirdparty_builtin/googletest-1.16.0/googletest/include/gtest/gtest-printers.h
+28 −0 thirdparty_builtin/patches/gtest-2025-12-08-fix-flag-change-intel-llvm.patch
+13 −0 thirdparty_builtin/patches/gtest-2025-12-09-remove-Winline.patch
+22 −0 thirdparty_builtin/patches/gtest-2026-01-20-quiet-implicit-cast-warning.patch
3 changes: 2 additions & 1 deletion cmake/thirdparty/FindCUB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ find_path(CUB_INCLUDE_DIRS
HINTS
${CUB_DIR}/
${CUB_DIR}/include
${CUDA_TOOLKIT_ROOT_DIR}/include)
${CUDA_TOOLKIT_ROOT_DIR}/include
${CUDA_TOOLKIT_ROOT_DIR}/include/cccl)

find_package_handle_standard_args(
CUB
Expand Down
5 changes: 3 additions & 2 deletions include/RAJA/pattern/thread.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

namespace RAJA
{

/*!
* \file
* Thread operation functions in the namespace RAJA::thread
Expand Down Expand Up @@ -74,7 +75,7 @@ namespace RAJA
* @return Maximum number of threads
*/
template<typename Policy>
RAJA_INLINE RAJA_HOST_DEVICE int get_max_threads()
RAJA_INLINE int get_max_threads()
{
return RAJA::get_max_threads(Policy {});
}
Expand All @@ -87,7 +88,7 @@ RAJA_INLINE RAJA_HOST_DEVICE int get_max_threads()
* @return Current thread number
*/
template<typename Policy>
RAJA_INLINE RAJA_HOST_DEVICE int get_thread_num()
RAJA_INLINE int get_thread_num()
{
return RAJA::get_thread_num(Policy {});
}
Expand Down
16 changes: 16 additions & 0 deletions include/RAJA/policy/cuda/MemUtils_CUDA.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,26 @@ struct DevicePinnedAllocator
void* ptr;
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaMallocManaged, &ptr, nbytes,
cudaMemAttachGlobal);
#if CUDART_VERSION >= 13000
cudaMemLocation devLoc {};
devLoc.type = cudaMemLocationTypeDevice;
devLoc.id = device;

CAMP_CUDA_API_INVOKE_AND_CHECK(cudaMemAdvise, ptr, nbytes,
cudaMemAdviseSetPreferredLocation, devLoc);

cudaMemLocation cpuLoc {};
cpuLoc.type = cudaMemLocationTypeHost;
cpuLoc.id = 0;
Comment thread
MrBurmark marked this conversation as resolved.

CAMP_CUDA_API_INVOKE_AND_CHECK(cudaMemAdvise, ptr, nbytes,
cudaMemAdviseSetAccessedBy, cpuLoc);
#else
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaMemAdvise, ptr, nbytes,
cudaMemAdviseSetPreferredLocation, device);
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaMemAdvise, ptr, nbytes,
cudaMemAdviseSetAccessedBy, cudaCpuDeviceId);
#endif

return ptr;
}
Expand Down
8 changes: 4 additions & 4 deletions include/RAJA/policy/openmp/thread.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,18 @@ namespace RAJA
{

template<>
RAJA_HOST_DEVICE RAJA_INLINE int get_max_threads(omp_thread)
RAJA_INLINE int get_max_threads(omp_thread)
{
return omp_get_max_threads();
}

template<>
RAJA_HOST_DEVICE RAJA_INLINE int get_thread_num(omp_thread)
RAJA_INLINE int get_thread_num(omp_thread)
{
return omp_get_thread_num();
}

} // namespace RAJA

#endif // RAJA_ENABLE_OPENMP
#endif // guard
#endif // RAJA_OPENMP_ACTIVE
#endif // header file include guard
4 changes: 2 additions & 2 deletions include/RAJA/policy/sequential/thread.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@
namespace RAJA
{
template<>
RAJA_HOST_DEVICE RAJA_INLINE int get_max_threads(seq_thread)
RAJA_INLINE int get_max_threads(seq_thread)
{
return 1;
}

template<>
RAJA_HOST_DEVICE RAJA_INLINE int get_thread_num(seq_thread)
RAJA_INLINE int get_thread_num(seq_thread)
{
return 0;
}
Expand Down
6 changes: 3 additions & 3 deletions include/RAJA/policy/thread_auto.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ using active_auto_thread = RAJA::seq_thread;
} // namespace detail

template<typename AtomicPolicy>
RAJA_HOST_DEVICE RAJA_INLINE int get_max_threads(AtomicPolicy);
RAJA_INLINE int get_max_threads(AtomicPolicy);

template<typename AtomicPolicy>
RAJA_HOST_DEVICE RAJA_INLINE int get_thread_num(AtomicPolicy);
RAJA_INLINE int get_thread_num(AtomicPolicy);

} // namespace RAJA

#endif
#endif // header file include guard
5 changes: 4 additions & 1 deletion include/RAJA/util/math.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,10 @@ RAJA_HOST_DEVICE RAJA_INLINE constexpr T next_pow2(T n) noexcept
template<typename T, std::enable_if_t<std::is_integral<T>::value>* = nullptr>
RAJA_HOST_DEVICE RAJA_INLINE constexpr T prev_pow2(T n) noexcept
{
if (n < 0) return 0;
if constexpr (std::is_signed_v<T>)
{
if (n < 0) return 0;
}
for (size_t s = 1; s < CHAR_BIT * sizeof(T); s *= 2)
{
n |= n >> s;
Expand Down
2 changes: 1 addition & 1 deletion scripts/lc-builds/toss4_cce_omptarget.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if [[ $# -lt 2 ]]; then
echo "For example: "
echo " toss4_cce_omptarget.sh 20.0.0-magic gfx942 [3.27.4]"
echo "If no CMake version is provided, version ${DEFAULT_CMAKE_VER} will be used."
exit 1"
exit 1
fi

COMP_VER=$1
Expand Down
23 changes: 16 additions & 7 deletions test/unit/resource/tests/test-resource-AsyncTime.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,31 @@ gpu_time_wait_for(float time, float clockrate) {
int get_clockrate()
{
int cuda_device = 0;
cudaDeviceProp deviceProp;
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaGetDevice, &cuda_device);
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaGetDeviceProperties, &deviceProp, cuda_device);
if ((deviceProp.concurrentKernels == 0))

int concurrentKernels = 0;
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaDeviceGetAttribute,
Comment thread
MrBurmark marked this conversation as resolved.
&concurrentKernels,
cudaDevAttrConcurrentKernels,
cuda_device);

if (concurrentKernels == 0)
{
printf("> GPU does not support concurrent kernel execution\n");
printf(" CUDA kernel runs will be serialized\n");
return -1;
}
//printf("> Detected Compute SM %d.%d hardware with %d multi-processors\n",
// deviceProp.major, deviceProp.minor, deviceProp.multiProcessorCount);

int clockRate = 0;
CAMP_CUDA_API_INVOKE_AND_CHECK(cudaDeviceGetAttribute,
&clockRate,
cudaDevAttrClockRate,
cuda_device);

#if defined(__arm__) || defined(__aarch64__)
return deviceProp.clockRate/1000;
return clockRate / 1000;
#else
return deviceProp.clockRate;
return clockRate;
#endif
}

Expand Down
2 changes: 1 addition & 1 deletion test/unit/util/test-fraction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ void testFractionMultiplyTypesValues()
IntegerType(double(numerator) / double(denominator) * double(101)));

// Test where naive algorithm causes overflow, when within precision of double
if /*constexpr*/ (sizeof(IntegerType) < sizeof(double)) {
if constexpr (sizeof(IntegerType) < sizeof(double)) {

static constexpr IntegerType max = std::numeric_limits<IntegerType>::max();
static constexpr IntegerType val = (numerator > denominator) ?
Expand Down
Loading