Releases: LLNL/CHAI
v2025.03.0
Added
- Added a ManagedArray::clone function and deprecated chai::deepCopy.
Fixed
- Fixes reallocate when using pinned or unified memory.
- Adds missing synchronize when using pinned memory.
- Fixes possible hangs when evicting data.
- Now respects allocators passed to ManagedArray constructors when CHAI_DISABLE_RM=TRUE.
Removed
- Removes deprecated ManagedArray::getPointer method. Use ManagedArray::data instead.
- Removes ManagedArray::incr and ManagedArray::decr methods. Use ManagedArray::pick and ManagedArray::set instead.
- Removes optional support for implicitly casting between raw pointers and ManagedArrays (CHAI_ENABLE_IMPLICIT_CONVERSIONS). Use makeManagedArray and ManagedArray::data to perform explicit conversions instead.
- Removes equality and inequality comparison operators between ManagedArrays and raw pointers.
- Removes make_managed_from_factory function for creating managed_ptr objects from factory functions. This change will lead to safer adoption of allocators during construction and destruction of managed_ptr objects.
- Removes CHAI_ENABLE_PICK CMake option. ManagedArray::pick and ManagedArray::set will always be available.
Updated
- Updated to BLT v0.7.0
- Updated to Umpire v2025.03.0
- Updated to RAJA v2025.03.0
Full Changelog: v2024.07.0...v2025.03.0
Note: The tarball and v2025.03.0 tag were updated on Mar 20, 2025 at ~4 pm. If someone happened to obtain a version before then, they should grab a new version (which might necessitate deleting the v2025.03.0 tag locally in CHAI repositories and pulling the tag down again).
v2024.07.0
Changed
- Updated to Umpire v2024.07.0 and RAJA v2024.07.0
- Increased minimum CMake version required to 3.23
- Turns off benchmarks and examples by default
- Enable RAJA plugin by default
Full Changelog: v2024.02.2...v2024.07.0
v2024.02.2
What's Changed
- Replaced RAJA::loop_exec with RAJA::seq_exec
- Updated to RAJA v2024.02.2
- Improved debugging with GPU simulation mode
Full Changelog: v2024.02.1...v2024.02.2
v2024.02.1
What's Changed
- Update BLT to v0.6.2
- Update Umpire and RAJA to v2024.02.1
- CI updates
v2024.02.0
Added
- Support for APUs with a single memory space. To use, configure with -DCHAI_DISABLE_RM=ON -DCHAI_GPU_THIN_ALLOCATE=ON.
Changed
- Moved installed CMake targets from share/chai/cmake to lib/cmake/chai to be consistent with other libraries in the RAJA Portability Suite
- Improved dependency handling during the build of CHAI and when it is imported into another library/application
- Removed ArrayManager::enableDeviceSynchronization and ArrayManager::disableDeviceSynchronization. Instead, use the environment variables for device synchronization after all kernels (e.g. CUDA_LAUNCH_BLOCKING or HIP_LAUNCH_BLOCKING)
Fixed
- Use free instead of realloc when the size is 0 (fixes a warning from valgrind)
v2023.06.0
Release v2023.06.0 (#232)
v2022.10.0
Update RAJA and Umpire to 2022.10.x versions
v2022.03.0
Update to v2022.03.0 releases of dependencies (RAJA & Umpire)
v2.4.0
This release bumps RAJA to v0.14.0 and Umpire to v6.0.0, and BLT to v0.4.1
It also includes some minor fixes including addressing memory leaks, updates to managed_ptr, and a fix to allow both UM and PINNED spaces to be active simultaneously.
v2.3.0
This release includes bugfixes and updates to dependencies, including:
- Fixes a bug in the RAJA plugin to ensure that CHAI (and Umpire) are not accidentally initialized prior to
main
. - Updates RAJA to v0.13.0, and BLT to the commit used by RAJA