From bbf6b5d2b3aff725b95ff3f78f065c63d8cc1bb0 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Wed, 5 Aug 2026 10:21:09 -0700 Subject: [PATCH 1/9] Prepare for v2026.07.0 release --- CMakeLists.txt | 2 +- RELEASE_NOTES.md | 2 +- docs/sphinx/conf.py | 4 ++-- docs/sphinx/conf.py.in | 4 ++-- src/tpl/raja | 2 +- src/tpl/umpire | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) 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..bc949c1f 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -12,7 +12,7 @@ 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. 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/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..3731bf9d 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit 0372fbd6e1f17d7e6dd72693f8b857f3ec7559e9 +Subproject commit 3731bf9d712df59c22a22f5ab923b71c4279e9b0 From 5f6ff2731b09e555f7772f945eb93487a0c53f32 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Wed, 5 Aug 2026 10:34:17 -0700 Subject: [PATCH 2/9] Update release notes --- RELEASE_NOTES.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bc949c1f..0ae0b16a 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -16,10 +16,15 @@ The format of this file is based on [Keep a Changelog](http://keepachangelog.com ### 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.0. - 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 From 4c3fc1913dcc555f746c6fedc0b70c826e476bb3 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Wed, 5 Aug 2026 10:52:09 -0700 Subject: [PATCH 3/9] Try new umpire::umpire target --- src/chai/CMakeLists.txt | 8 +++++++- tests/integration/CMakeLists.txt | 2 +- tests/unit/CMakeLists.txt | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/chai/CMakeLists.txt b/src/chai/CMakeLists.txt index a7a5cdf6..cbf2104a 100644 --- a/src/chai/CMakeLists.txt +++ b/src/chai/CMakeLists.txt @@ -56,8 +56,14 @@ if(CHAI_ENABLE_EXPERIMENTAL) SharedPtrManager.cpp) endif() +if (TARGET umpire::umpire) + set(UMPIRE_TARGET umpire::umpire) +else() + set(UMPIRE_TARGET umpire) +endif() + set (chai_depends - umpire) + ${UMPIRE_TARGET}) if (CHAI_ENABLE_CUDA) set (chai_depends diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 80922a3c..824c9d7c 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 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..f4ad160a 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 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}) From b7b8a73c2c58f0992f137d200da0f196e035be6d Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Wed, 5 Aug 2026 11:03:00 -0700 Subject: [PATCH 4/9] Revert "Try new umpire::umpire target" This reverts commit 4c3fc1913dcc555f746c6fedc0b70c826e476bb3. --- src/chai/CMakeLists.txt | 8 +------- tests/integration/CMakeLists.txt | 2 +- tests/unit/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/chai/CMakeLists.txt b/src/chai/CMakeLists.txt index cbf2104a..a7a5cdf6 100644 --- a/src/chai/CMakeLists.txt +++ b/src/chai/CMakeLists.txt @@ -56,14 +56,8 @@ if(CHAI_ENABLE_EXPERIMENTAL) SharedPtrManager.cpp) endif() -if (TARGET umpire::umpire) - set(UMPIRE_TARGET umpire::umpire) -else() - set(UMPIRE_TARGET umpire) -endif() - set (chai_depends - ${UMPIRE_TARGET}) + umpire) if (CHAI_ENABLE_CUDA) set (chai_depends diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 824c9d7c..80922a3c 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 gtest) + chai umpire 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 f4ad160a..635678a4 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 gtest) + chai umpire 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}) From 8ee1998c6792a107610bf5e474544b8815adb6eb Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Wed, 5 Aug 2026 11:03:47 -0700 Subject: [PATCH 5/9] Try out umpire fix --- src/tpl/umpire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tpl/umpire b/src/tpl/umpire index 3731bf9d..ac01966f 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit 3731bf9d712df59c22a22f5ab923b71c4279e9b0 +Subproject commit ac01966f74a7d734585909dc4f4fe4c81e29dcbd From 052480aac80ea3894be423193ba5de5efa01b258 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Fri, 7 Aug 2026 15:40:58 -0700 Subject: [PATCH 6/9] CMake target fix for umpire --- src/tpl/umpire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tpl/umpire b/src/tpl/umpire index ac01966f..7e7af6d1 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit ac01966f74a7d734585909dc4f4fe4c81e29dcbd +Subproject commit 7e7af6d10990de3dc475ca9644893627fa4eb156 From 4c1cff3098e9f5f767019f74f761cb2e0dc794b0 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Fri, 7 Aug 2026 15:44:39 -0700 Subject: [PATCH 7/9] Umpire fix --- src/tpl/umpire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tpl/umpire b/src/tpl/umpire index 7e7af6d1..4051ef78 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit 7e7af6d10990de3dc475ca9644893627fa4eb156 +Subproject commit 4051ef788fd64c01f59c76c5f6eeb32953decbd1 From 0980334cb2ee0ed931b22459c6fe1618c59b4959 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Mon, 10 Aug 2026 17:12:32 -0700 Subject: [PATCH 8/9] Update to umpire v2026.07.1 --- RELEASE_NOTES.md | 2 +- src/tpl/umpire | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 0ae0b16a..9c3d7803 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -20,7 +20,7 @@ The format of this file is based on [Keep a Changelog](http://keepachangelog.com - 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.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. diff --git a/src/tpl/umpire b/src/tpl/umpire index 4051ef78..5639f6c1 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit 4051ef788fd64c01f59c76c5f6eeb32953decbd1 +Subproject commit 5639f6c1fd4ca1fed7f0f1f48dcbbfbd00899484 From 3a8bdf9464f898d7305ac1b116622fbad2e91434 Mon Sep 17 00:00:00 2001 From: Alan Dayton Date: Mon, 10 Aug 2026 17:21:24 -0700 Subject: [PATCH 9/9] Use umpire::umpire if available --- cmake/chai-config.cmake.in | 2 +- cmake/thirdparty/SetupChaiThirdparty.cmake | 10 +++++++++- src/chai/CMakeLists.txt | 2 +- tests/integration/CMakeLists.txt | 2 +- tests/unit/CMakeLists.txt | 2 +- 5 files changed, 13 insertions(+), 5 deletions(-) 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/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/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})