Releases: pika-org/pika
Releases · pika-org/pika
pika 0.31.0
New features
- The
require_started
sender adaptor,any_sender
andunique_any_sender
,async_rw_mutex
, and CUDA functionality have been documented. (#1297, #1309, #1355, #1356) - The type-erased receiver used internally by
any_sender
no longer requires heap allocation. (#1354)
Breaking changes
- Support for ittnotify has been removed. (#1290)
- The CUDA and HIP pools now create a fixed number of streams instead of creating streams based on the number of worker threads. This is a silent breaking API change. If you are creating pools with a custom number of streams make sure that the values are reasonable with the new behaviour. See the API documentation for more details. (#1294)
- The
set_value
CPO now uses member functions instead oftag_invoke
to better align with P2300. (#1295) zip_iterator
has been removed. (#1347)
Bugfixes
- pika no longer sets the pthread name of the main thread. (#1329)
pika 0.30.1
New features
Breaking changes
Bugfixes
- A parameter lifetime issue in
transform_mpi
that affects almost all MPI modes was fixed. (#1321)
pika 0.30.0
New features
- pika can now automatically create a custom thread pool used for MPI work. (#1267)
- All uses of
std::aligned_storage_t
have been removed, allowing for builds without deprecation warnings with C++23. (#1280) - Documentation has been expanded, with many sender adaptors unique to pika now documented. (#1279, #1286, #1287, #1292, #1304, #1310)
Breaking changes
- The default MPI mode used for creating and waiting for MPI requests has been changed. (#1143)
- Support for clang 11 and clang 12 has been dropped. Use of these versions is not disallowed but no attempt will be made to fix issues for those compilers. (#1284)
Bugfixes
pika 0.29.0
New features
- The CUDA/HIP pool uses fewer, and a user-controllable number of, cuBLAS/SOLVER and rocBLAS/SOLVER handles. This can significantly reduce GPU memory usage, especially on high core count systems. (#1234)
- The sender adaptor
transfer
has been renamed tocontinues_on
, with a deprecation warning, to match the latest P2300 proposal.transfer_just
andtransfer_when_all
have been deprecated. (#1235)
Breaking changes
Bugfixes
- An initialization issue when setting an explicit process mask on a process that has a limited number of cores available due to cgroups restrictions has been fixed. (#1251)
pika 0.28.0
New features
Breaking changes
- When using stdexec, pika now requires and is tested with stdexec commit
8bc7c7f06fe39831dea6852407ebe7f6be8fa9fd
. (#1205) - The Boost dependency is now found using CMake's config mode instead of CMake's deprecated Boost module. This requires Boost to be installed with a
BoostConfig.cmake
file. (#1229)
Bugfixes
- NUMA nodes and sockets are now correctly handled on Grace-Hopper systems. This allows use of hwloc 2.11 and newer on such systems. (#1224)
pika 0.27.0
pika 0.26.1
New features
Breaking changes
Bugfixes
- The
PIKA_MPI_COMPLETION_MODE
environment variable not being taken into account has been fixed. (#1215)
pika 0.26.0
New features
- Handling of receivers has been slightly optimized internally to avoid allocations. (#1126, #1139, #1192)
- The MPI integration now has experimental support for the MPI continuations proposal. This requires an experimental build of OpenMPI. (#1128)
- pika can now be compiled as a static library by disabling the CMake option
BUILD_SHARED_LIBS
. (#1179)
Breaking changes
- The
shared_mutex
utility has been removed. (#1155) - The
prefix
module has been cleaned up with many internal functionalities being moved to adetail
namespace. (#1177) - The
depleted
thread state has been removed as it is no longer used. (#1184)
Bugfixes
- The hostname output in logs has been fixed. (#1127)
- The internal
append_t
type pack helper has been fixed to append rather than prepend. This may affect the order of completion signatures for senders. However, there are still no guarantees on the order of completion signatures. (#1137) - Fix potential use-after-free in MPI integration. (#1151)
- Undefined behaviour on FreeBSD in the
get_executable_prefix
helper has been fixed. (#1171) - Compilation with
PIKA_WITH_STACKTRACES=OFF
has been fixed. (#1178, #1196)
pika 0.25.0
New features
- The MPI polling functionality has been significantly refactored and optimized. (#1102)
- pika's senders and receivers now use the newer sender and receiver concepts when defined by stdexec. (#1105)
Breaking changes
- The pika logging facilities have been refactored to use spdlog. The new behaviour is described in the pull request and documentation (#1093)
- The runtime module has been cleaned up with many functionalities being removed or moved to the
detail
namespace. (#826, #1091)
Bugfixes
- Builds with the CMake option
PIKA_WITH_THREAD_DEBUG_INFO
enabled have been fixed. (#1101)