Releases: pika-org/pika
Releases · pika-org/pika
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)
pika 0.24.0
pika 0.23.0
pika 0.22.2
pika 0.22.1
pika 0.22.0
New features
- A new function
pika::is_runtime_initialized
has been added. (#808) - CUDA and HIP handles are now guaranteed to be released together with
cuda_pool
instead of on program exit. (#872) - Spinloop performance has been significantly improved on ARM64 systems. (#923, #927)
- The
pika::barrier
now scales significantly better with the number of cores. (#940) - Exceptions thrown in the main entry point, e.g.
pika_main
, are now reported with the message of the exception, if available. (#959)
Breaking changes
Bugfixes
- The CMake configuration now sets the policy CMP0144 to silence warnings about CMake package root directory variables. (#885)
- The permissions on the installed
pika-bind
helper script have been fixed. (#915) - A missing include causing compilation failures with
PIKA_WITH_UNITY_BUILD=OFF
has been added. (#955) - A use-after-free has been fixed in
when_all_vector
. (#966) - A use-after-free has been fixed in
sync_wait
. (#976) - A use-after-free has been fixed in
default_agent
. (#979) - An initialization order issue has been fixed in debug printing facilities. (#983)
- A potential cause for dangling references has been fixed in
thread_pool_init_parameters
. (#984) - A few data races have been fixed in the schedulers. (#985, #986)
- Forwarding of callable values in
execution::then
has been fixed. (#994) - A data race in
condition_variable::notify_all
has been fixed. (#998)