Skip to content

Releases: pika-org/pika

pika 0.34.0

11 Jun 11:21
0.34.0
4062c0f

Choose a tag to compare

New features

  • The transform_mpi sender adaptor has been simplified internally to reduce debug bloat. (#1433)

Breaking changes

  • The set_error and set_stopped CPOs now use member functions instead of tag_invoke to better align with std::execution. (#1369, #1434)

Bugfixes

  • Compilation with APEX and MPI enabled at the same time has been fixed. (#1424)
  • Compilation with Boost 1.88 has been fixed. (#1428)
  • Removed unnecessary -Wl,-z,-defs flags that were exposed to consumers of pika. (#1431)

pika 0.33.0

02 Apr 08:07
0.33.0
f0deead

Choose a tag to compare

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_mutex has been significantly refactored to avoid locking and unnecessary yielding. Some use cases may see better performance. Move and copy semantics of senders from async_rw_mutex have also been fixed. (#1379)

Breaking changes

Bugfixes

  • Fix compilation of a few source files with unity builds disabled. (#1403)
  • Fix detection of MPI Continuations support in OpenMPI. (#1417)
  • Fix a broken connect overload in transform_mpi. (#1421)

pika 0.32.0

05 Feb 15:57
0.32.0
0361afd

Choose a tag to compare

New features

  • More configuration options are now exposed as environment variables, such as PIKA_THREADS, PIKA_BIND, and PIKA_IGNORE_PROCESS_MASK. (#1380, #1387)

Breaking changes

  • The start, connect, and get_env CPOs now use member functions instead of tag_invoke to 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

  • Together with the sender CPO changes, further changes have been made to reduce debug symbol bloat in sender implementations. (#1390, #1395)

pika 0.31.0

18 Dec 17:56
0.31.0
be0f6e0

Choose a tag to compare

New features

  • The require_started sender adaptor, any_sender and unique_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 of tag_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

19 Nov 08:22
0.30.1
229ad3d

Choose a tag to compare

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

08 Nov 12:46
0.30.0
05a47dc

Choose a tag to compare

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

  • Builds with clang 19 have been fixed. (#1283)
  • Detection for when libatomic is required has been improved. (#1315)

pika 0.29.0

04 Oct 12:18
0.29.0
9628c3a

Choose a tag to compare

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 to continues_on, with a deprecation warning, to match the latest P2300 proposal. transfer_just and transfer_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

04 Sep 15:14
0.28.0
7c2ceb2

Choose a tag to compare

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

15 Aug 07:54
0.27.0
d5c21c7

Choose a tag to compare

New features

  • sync_wait now internally uses a binary_semaphore instead of a condition_variable for synchronization and may be slightly faster due to removing one lock. (#1206)

Breaking changes

  • All channel implementations have been removed. (#1209)

Bugfixes

  • Compilation of copyable senders together with when_all_vector has been fixed. (#1200)
  • The pika/execution.hpp header has been fixed to include headers that should have been included by it. (#1206)

pika 0.26.1

31 Jul 08:09
0.26.1
c709736

Choose a tag to compare

New features

Breaking changes

Bugfixes

  • The PIKA_MPI_COMPLETION_MODE environment variable not being taken into account has been fixed. (#1215)