HPX 2.0.0 Released With C++20 Support And Stdexec Integration
HPX 2.0.0 arrives with C++20 as the minimum language requirement, stdexec integration, and expanded support for C++26 features and GPU compute.
HPX 2.0.0 is available, raising the minimum language level to C++20 and shifting its senders and receivers support onto stdexec. Since version 1.11.0, the release incorporates over 830 merged pull requests from more than 90 contributors.
You can now optionally build and consume the entire library as C++20 modules, and a P2079 parallel scheduler runs sender work on HPX thread pools. Early C++26 reflection support eliminates hand-written serialize() functions and remote action registration macros.
The update adds fold algorithms, find_last, iota, and conformance fixes. Functions accept task sizes like nano_task or small_task to help parallel algorithms split loops. HPX fully implements C++23 parallelism and concurrency facilities, including range-based algorithms integrated with sender and receiver interfaces, alongside proposed C++26 features, the Concurrency TS, Parallelism TS V2, data-parallel algorithms, and executors. It extends C++ APIs to compute clusters and GPUs.
Additionally, HPX joined the High Performance Software Foundation. You can find release notes on GitHub under the v2.0.0 tag, and the complete changelog is documented in the HPX documentation.
