Releases: pika-org/pika
Releases · pika-org/pika
pika 0.34.0
pika 0.33.0
New features
- The signal handlers were refactored and documented. There is now only one environment variable to enable pika's signal handlers (
PIKA_INSTALL_SIGNAL_HANDLERS) and they are always available to enable at runtime. (#1411, #1412) async_rw_mutexhas been significantly refactored to avoid locking and unnecessary yielding. Some use cases may see better performance. Move and copy semantics of senders fromasync_rw_mutexhave also been fixed. (#1379)
Breaking changes
Bugfixes
pika 0.32.0
New features
- More configuration options are now exposed as environment variables, such as
PIKA_THREADS,PIKA_BIND, andPIKA_IGNORE_PROCESS_MASK. (#1380, #1387)
Breaking changes
- The
start,connect, andget_envCPOs now use member functions instead oftag_invoketo better align with P2300. (#1392, #1393, #1394) - Official support for GCC 9, 10, and CUDA 11 has been removed. Use of these versions is not disallowed but no attempt will be made to fix issues for them. (#1397)
Bugfixes
pika 0.31.0
New features
- The
require_startedsender adaptor,any_senderandunique_any_sender,async_rw_mutex, and CUDA functionality have been documented. (#1297, #1309, #1355, #1356) - The type-erased receiver used internally by
any_senderno 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_valueCPO now uses member functions instead oftag_invoketo better align with P2300. (#1295) zip_iteratorhas 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_mpithat 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_thave 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
transferhas been renamed tocontinues_on, with a deprecation warning, to match the latest P2300 proposal.transfer_justandtransfer_when_allhave 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.cmakefile. (#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_MODEenvironment variable not being taken into account has been fixed. (#1215)