HPX V1.9.1 (August 4, 2023)
Contents
HPX V1.9.1 (August 4, 2023)#
General changes#
This point release fixes a couple of problems reported for the V1.9.0 release. Most importantly, we fixed various occasional hanging during startup and shutdown in distributed scenarios. We also added support for zero-copy serialization on the receiving side to the TCP, MPI, and LCI parcelports. Last but not least, we have added support for Visual Studio 2019 and gcc using MINGW on Windows, and also support for gcc V13 and clang V15.
HPX headers are now made consistently named the same as their standard library counterparts, e.g. #include <thread> now corresponds to #include <hpx/thread.hpp>. This significantly simplifies porting existing standards conforming codes to HPX.
A lot of work has been done to improve and optimize our network communication layers. Primary focus of this work was on the LCI parcelport, but we have also cleaned up and improved the MPI parcelport.
Additionally, we have continued working on our documentation. The main focus here was on completing the API documentation of the most important API functions. We have started adding migration guides for people interested in moving their codes away from other, commonplace parallelization frameworks like OpenMP.
Breaking changes#
None
Closed issues#
Issue #6155 - hpxcxx and hpxrun.py do not work if HPX_WITH_TESTS=OFF
Issue #6164 - HPX_WITH_DATAPAR_BACKEND=EVE causes compile errors with C++17
Issue #6175 - Make sure all our parallel algorithms accept the predicates by value
Issue #6194 - tests.regressions.threads.threads_all_1422 failed at Perlmutter
Issue #6198 - set_intersection/set_difference fails when run with execution::par
Issue #6214 - Broken Links to the Documentation page in readme.rst
Issue #6217 - hpx::make_heap does not terminate when exPolicy is par (or par_unseq) and size of vector is 4
Issue #6246 - HPX fails to compile under cxx 20 (fresh system)
Issue #6247 - HPX 1.9.0 does not compile with GCC on Windows
Issue #6282 - The “attach-debugger” option is broken on the current master branch.
Closed pull requests#
PR #6219 - Cleaning up #includes in hpx/ folder
PR #6223 - Move documentation from README.rst to index.rst files under libs directory
PR #6229 - Adding zero-copy support on the receiving end of the TCP and MPI parcel ports
PR #6231 - Remove deprecated email from release procedure
PR #6235 - Modernize more modules (levels 12-16)
PR #6236 - Attempt to resolve occasional shutdown hangs in distributed operation
PR #6239 - Fix Optimizing HPX applications page of Manual
PR #6241 - LCI parcelport: Refactor, add more variants, zero copy receives.
PR #6242 - updated deprecated headers
PR #6243 - Adding github action builders using VS2019
PR #6248 - Fix CUDA/HIP Jenkins pipelines
PR #6250 - Resolve gcc problems on Windows
PR #6251 - Attempting to fix problems in barrier causing hangs
PR #6253 - Modernize set_thread_name on Windows
PR #6256 - Fix nvcc/gcc-10 (Octo-Tiger) compilation issue
PR #6257 - Cmake Tests: Delete operator check for size_t arg
PR #6258 - Rewriting wait_some to circumvent data races causing hangs
PR #6260 - Add migration guide to manual
PR #6262 - Fixing wrong command line options in local command line handling
PR #6266 - Attempt to resolve occasional hang in run_loop
PR #6267 - Attempting to fix migration tests
PR #6278 - Making sure the future’s shared state doesn’t go out of scope prematurely
PR #6279 - Re-expose error names
PR #6281 - Creating directory for file copy
PR #6283 - Consistently #include unistd.h for _POSIX_VERSION