Releases: pika-org/pika
Releases · pika-org/pika
pika 0.26.1
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)
pika 0.21.0
New features
- A new sender adaptor
require_started
allows to detect unstarted senders. (#869) - The conversion from
any_sender
tounique_any_sender
has been optimized, reusing the same storage. (#844) - The number of streams created by the
cuda_pool
is now proportional to the number of threads used by the runtime instead ofhardware_concurrency
. (#864)
Breaking changes
pika::start
andpika::finalize
now returnvoid
. Most runtime management functions no longer take anerror_code
and always throw an exception on failure. (#825)
Bugfixes
pika 0.20.0
New features
- The MPI rank is now printed with
--pika:print-bind
and when handling exceptions, if MPI support is enabled. (#805, #822) - A warning message is now printed on macOS when using
--pika:process-mask
since thread bindings are unsupported. (#806) - Thread bindings can now be printed using the environment variable
PIKA_PRINT_BIND
in addition to the command line option--pika:print-bind
. (#828) - The
pika-bind
helper script has been added to more conveniently setPIKA_PROCESS_MASK
based on the environment. (#834)
Breaking changes
- All remaining locality-related functions and files have been removed. (#823)
Bugfixes
- Handling of explicitly specified process masks with
--pika:process-mask
orPIKA_PROCESS_MASK
has been fixed. (#807)