Notes describing significant changes in each CHAI release are documented in this file.
The format of this file is based on Keep a Changelog.
- Removes deprecated ManagedArray::getPointer method. Use ManagedArray::data 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
- 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
- Updated to RAJA v2024.02.2
- Improved debugging with GPU simulation mode
- Updated to BLT v0.6.2, Umpire v2024.02.1, and RAJA v2024.02.1
- Support for APUs with a single memory space. To use, configure with -DCHAI_DISABLE_RM=ON -DCHAI_THIN_GPU_ALLOCATE=ON.
- 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)
- Use free instead of realloc when the size is 0 (fixes a warning from valgrind)