HPX V1.8.1 (Aug 5, 2022)
Contents
HPX V1.8.1 (Aug 5, 2022)#
This is a bugfix release with a few minor additions and resolved problems.
General changes#
This patch release adds a number of small new features and fixes a handful of problems discovered since the last release, in particular:
A lot of work has been done to improve vectorization support for our parallel algorithms. HPX now supports using EVE - the Expressive Vector Engine as a vectorization backend.
Added a simple average power consumption performance counter.
Added performance counters related to the use of zero-copy chunks in the networking layer.
More work was done towards full compatibility with the sender/receivers proposal P2300.
Fixing sync_wait to decay the result types
Fixed collective operations to properly avoid overalapping consecutive operations on the same communicator.
Simplified the implementation of our execution policies and added mapping functions between those.
Fixed performance issues with our implementation of small_vector.
Serialization now works with buffers of unsigned characters.
Fixing dangling reference in serialization of non-default constructible types
Fixed static linking on Windows.
Fixed support for M1/MacOS based architectures.
Fixed support for gentoo/musl.
Fixed hpx::counting_semaphore_var.
Properly check start and end bounds for hpx::for_loop
A lot of changes and fixes to the documentation (see https://hpx-docs.stellar-group.org).
Breaking changes#
No breaking changes have been introduced.
Closed issues#
Issue #5964 - component with multiple inheritance
Issue #5946 - dll_dlopen.hpp: error: RTLD_DI_ORIGIN was not declared in this scope with musl libc
Issue #5925 - Simplify implementation of execution policies
Issue #5924 - {what}: mmap() failed to allocate thread stack: HPX(unhandled_exception)
Issue #5912 - collectives all gather hangs if rank 0 is not involved
Issue #5902 - MPI parcelport issue on Fugaku
Issue #5900 - Unable to build hello_world_distributed.cpp.
Issue #5892 - Problems with HPX serialization as a standalone feature. Testcase provided.
Issue #5886 - Segfault when serializing non default constructible class with stl containers data members
Issue #5832 - Distributed execution crash
Issue #5768 - HPX hangs on Perlmutter
Issue #5735 - hpx::for_loop executes without checking start and end bounds
Issue #5700 - HPX(serialization_error)
Closed pull requests#
PR #5970 - Fixing component multiple inheritance
PR #5969 - Fixing sync_wait to avoid dangling references
PR #5963 - Fixing sync_wait to decay the result types
PR #5960 - docs: added name to documentation contributors list
PR #5959 - Fixing sync_wait to decay the result types
PR #5954 - refactor: rename itr to correct type (reduce)
PR #5954 - refactor: rename itr to correct type (reduce)
PR #5953 - Fixed property handling in hierarchical_spawning
PR #5951 - Fixing static linking (for Windows)
PR #5947 - Fix building on musl.
PR #5944 - added adaptive_static_chunk_size
PR #5943 - Fix sync_wait
PR #5942 - Fix doc warnings
PR #5941 - Fix sync_wait
PR #5940 - Protect collective operations against std::vector<bool> idiosyncrasies
PR #5939 - docs: fix & improve parallel algorithms documentation 2
PR #5938 - Properly implement generation support for collective operations
PR #5937 - Remove leftover files from PMR based small_vector
PR #5936 - Adding mapping functions between execution policies
PR #5935 - Fixing serialization to work with buffers of unsigned chars
PR #5934 - Attempting to fix datapar issues on CircleCI
PR #5933 - Fix documentation for ranges algorithms
PR #5932 - Remove mimalloc version constraint
PR #5931 - docs: fix & improve parallel algorithms documentation
PR #5930 - Add boost to hip builder
PR #5929 - Apply fixes to M1/MacOS related stack allocation to all relevant spots
PR #5928 - updated context_generic_context to accommodate arm64_arch_8/Apple architecture
PR #5927 - Public derivation for counting_semaphore_var
PR #5926 - Fix doxygen warnings when building documentation
PR #5923 - Fixing git checkout to reflect latest version tag
PR #5922 - A couple of unrelated changes in support of implementing P1673
PR #5920 - [P2300] enhancements: receiver_of, sender_of improvements
PR #5917 - Fixing various ‘held lock while suspending’ problems
PR #5916 - Fix minor doxygen parsing typo
PR #5915 - docs: fix broken api algo links
PR #5914 - Remove CSS rules - update sphinx version
PR #5911 - Removed references to hpx::vector in comments
PR #5909 - Remove stuff which is defined in the header
PR #5906 - Use BUILD_SHARED_LIBS correctly
PR #5905 - Fix incorrect usage of generator expressions
PR #5904 - Delete FindBZip2.cmake
PR #5901 - Fix #5900
PR #5899 - Replace PMR based version of small_vector
PR #5897 - Add missing “”
PR #5896 - Docs: Add serialization tutorial.
PR #5895 - Update to V1.9.0 on master
PR #5894 - Fix executor_with_thread_hooks example
PR #5890 - Adding simple average power consumption performance counter
PR #5889 - Par unseq/unseq adding
PR #5888 - Support for data-parallelism for reduce, transform reduce, transform_binary_reduce algorithms
PR #5887 - Fixing dangling reference in serialization of non-default constructible types
PR #5879 - New performance counters related to zero-copy chunks.