diff --git a/CMakeLists.txt b/CMakeLists.txt index 13c8ea15..c190a065 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ cmake_policy(SET CMP0096 OLD) # Drops leading zeros in version numbers include(CMakeDependentOption) include(CMakePackageConfigHelpers) -project(Chai LANGUAGES C CXX VERSION 2025.12.0) +project(Chai LANGUAGES C CXX VERSION 2026.07.0) include(cmake/SetupChaiOptions.cmake) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a60008aa..9c3d7803 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -12,14 +12,19 @@ in this file. The format of this file is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## [Unreleased] - Release date yyyy-mm-dd +## [Version 2026.07.0] - Release date 2025-08-05 ### Changed - CHAI now requires C++20 as the minimum C++ standard. -- CHAI now requires CUDA 12 as the minimum CUDA version when CUDA is enabled. - CHAI now requires ROCm 6 as the minimum ROCm version when ROCm is enabled. +- CHAI now requires CUDA 12 as the minimum CUDA version when CUDA is enabled. - Updated BLT to v0.7.2. +- Updated RAJA to v2026.07.0. +- Updated Umpire to v2026.07.1. - Made a ManagedArray constructor explicit to prevent unwanted implicit conversions. +- Added size\_type, value\_type, reference, const\_reference, pointer, and const\_pointer typenames to ManagedArray. +- In CUDA builds, prevent resource manager from being created during construction of an empty ManagedArray. +- Added experimental re-implementation of CHAI. See docs/sphinx/expt/design.rst for details. It is still subject to change and has some limitations, but is anticipated to be more performant and flexible. ## [Version 2025.12.0] - Release date 2025-12-22 diff --git a/cmake/chai-config.cmake.in b/cmake/chai-config.cmake.in index e522d2e3..addf136a 100644 --- a/cmake/chai-config.cmake.in +++ b/cmake/chai-config.cmake.in @@ -14,7 +14,7 @@ include(CMakeFindDependencyMacro) include("${CMAKE_CURRENT_LIST_DIR}/BLTSetupTargets.cmake") -if (NOT TARGET umpire) +if (NOT TARGET umpire::umpire AND NOT TARGET umpire) find_dependency(umpire CONFIG NO_DEFAULT_PATH PATHS ${umpire_DIR} @umpire_DIR@ diff --git a/cmake/thirdparty/SetupChaiThirdparty.cmake b/cmake/thirdparty/SetupChaiThirdparty.cmake index 021cee04..62b65f8f 100644 --- a/cmake/thirdparty/SetupChaiThirdparty.cmake +++ b/cmake/thirdparty/SetupChaiThirdparty.cmake @@ -5,7 +5,7 @@ # SPDX-License-Identifier: BSD-3-Clause ############################################################################## -if (NOT TARGET umpire) +if (NOT TARGET umpire::umpire AND NOT TARGET umpire) if (DEFINED umpire_DIR OR DEFINED UMPIRE_DIR) message(STATUS "[CHAI] Using external Umpire") find_package(umpire CONFIG REQUIRED NO_DEFAULT_PATH PATHS ${umpire_DIR} ${UMPIRE_DIR}) @@ -28,6 +28,14 @@ if (NOT TARGET umpire) endif () endif () +if (TARGET umpire::umpire) + set(CHAI_UMPIRE_TARGET umpire::umpire) +elseif (TARGET umpire) + set(CHAI_UMPIRE_TARGET umpire) +else () + message(FATAL_ERROR "[CHAI] Umpire target not found. Expected target umpire::umpire or umpire.") +endif () + if (CHAI_ENABLE_RAJA_PLUGIN) if (NOT TARGET RAJA) if (DEFINED raja_DIR OR DEFINED RAJA_DIR) diff --git a/docs/sphinx/conf.py b/docs/sphinx/conf.py index d05b96c2..2316d095 100644 --- a/docs/sphinx/conf.py +++ b/docs/sphinx/conf.py @@ -61,9 +61,9 @@ # built documents. # # The short X.Y version. -version = u'2025.12' +version = u'2026.07' # The full version, including alpha/beta/rc tags. -release = u'2025.12.0' +release = u'2026.07.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/sphinx/conf.py.in b/docs/sphinx/conf.py.in index 47cfad19..7089b3f6 100644 --- a/docs/sphinx/conf.py.in +++ b/docs/sphinx/conf.py.in @@ -60,9 +60,9 @@ author = u'' # built documents. # # The short X.Y version. -version = u'2025.12' +version = u'2026.07' # The full version, including alpha/beta/rc tags. -release = u'2025.12.0' +release = u'2026.07.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/src/chai/CMakeLists.txt b/src/chai/CMakeLists.txt index a7a5cdf6..bb63a357 100644 --- a/src/chai/CMakeLists.txt +++ b/src/chai/CMakeLists.txt @@ -57,7 +57,7 @@ if(CHAI_ENABLE_EXPERIMENTAL) endif() set (chai_depends - umpire) + ${CHAI_UMPIRE_TARGET}) if (CHAI_ENABLE_CUDA) set (chai_depends diff --git a/src/tpl/raja b/src/tpl/raja index e827035c..80d218eb 160000 --- a/src/tpl/raja +++ b/src/tpl/raja @@ -1 +1 @@ -Subproject commit e827035c630e71a9358e2f21c2f3cf6fd5fb6605 +Subproject commit 80d218eba514a6d51bfd99ab6ebd6fbf83a74ca9 diff --git a/src/tpl/umpire b/src/tpl/umpire index 0372fbd6..5639f6c1 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit 0372fbd6e1f17d7e6dd72693f8b857f3ec7559e9 +Subproject commit 5639f6c1fd4ca1fed7f0f1f48dcbbfbd00899484 diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 80922a3c..4d70741e 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt @@ -5,7 +5,7 @@ # SPDX-License-Identifier: BSD-3-Clause ############################################################################## set (chai_integration_test_depends - chai umpire gtest) + chai ${CHAI_UMPIRE_TARGET} gtest) blt_list_append(TO chai_integration_test_depends ELEMENTS cuda IF ${CHAI_ENABLE_CUDA}) blt_list_append(TO chai_integration_test_depends ELEMENTS blt::hip IF ${CHAI_ENABLE_HIP}) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index 635678a4..00da03f7 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -5,7 +5,7 @@ # SPDX-License-Identifier: BSD-3-Clause ############################################################################## set (chai_unit_test_depends - chai umpire gtest) + chai ${CHAI_UMPIRE_TARGET} gtest) blt_list_append(TO chai_unit_test_depends ELEMENTS cuda IF ${CHAI_ENABLE_CUDA}) blt_list_append(TO chai_unit_test_depends ELEMENTS blt::hip IF ${CHAI_ENABLE_HIP})