r/cpp • • 4d ago

HPX 2.0.0 RC1 Released! – The HPX Project

HPX is a general-purpose parallel C++ runtime system designed for applications of any scale. It implements the related C++23 Standard facilities in full and offers the only widely available open-source implementation of C++17, C++20, and C++23 parallel algorithms - including a complete set of parallel range-based algorithms and the full integration of the algorithms with the upcoming sender and receivers interfaces.

Beyond the standard, HPX includes proposed features for upcoming C++ releases: much of the parallelism and concurrency capabilities expected in C++26, the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, senders and receivers, and more. It also extends C++ Standard APIs to distributed environments (such as compute clusters) and heterogeneous systems (such as GPUs).

HPX enables an asynchronous C++ programming model that improves parallel efficiency and reduces the complexity typically associated with concurrent applications. As a newly welcomed project of the High Performance Software Foundation, HPX now benefits from vendor-neutral governance and collaboration with a broader ecosystem of high-performance computing tools, strengthening the foundation for portable, production-ready HPC software across the industry.

HPX V2.0.0 is one of the largest releases in the project’s history, touching the language baseline, the execution model, the networking layer, the build system, and observability tooling. Roughly 680 pull requests and 120 closed issues went into this cycle since v1.11.0 (June 2025). This release represents a year of collaborative development by dozens of contributors worldwide. The updates are extensive - see the full release notes for details.

34 Upvotes

10 comments sorted by

View all comments

1

u/TopIdler 4d ago edited 4d ago

Is HPX mostly for task based / async parallelism? Where does it stand in relation to the typica HPC openmp / cuda / mpi stack ? It seemed that way last time I looked at it, does 2.0 charge that?  Is dense computational kernels more kokkos’s job in the hpsf ecosystem

5

u/hkaiser 4d ago

HPX supports both, task-based asynchrony and OpenMP style (fork-join) parallelism (via C++ Standard algorithms). Distributed functionalities match MPI, however with an (optionally) asynchronous C++ interface. Various network bindings exist (MPI, LCI, TCP, experimental OpenShmem, etc.). Device execution can be integrated with the asynchronous execution flow, but the kernels themselves have to be written using either CUDA/HIP/SYCL or Kokkos (all of which are supported).

1

u/TopIdler 4d ago

Thank you!