HPX documentation now uses Sphinx

With the release of HPX 1.2.0 we moved from a Boostbook-based documentation system to Sphinx. The latest documentation is now hosted on GitHub pages and can be found here.

There were multiple reasons for moving to a Sphinx-based documentation setup:

  • Modern look: the Boostbook-based documentation used awkward, non-responsive styling
  • Search: Sphinx natively supports search which makes it much faster to find what you’re looking for in the documentation
  • Table of contents in sidebar: this also helps navigating the documentation more easily
  • More familiar markup with reStructuredText

While the above are mostly visual reasons for moving to Sphinx, we used the opportunity to restructure the documentation at the same time. The first page of the documentation now tries to guide new and old users to sections that they might be interested in. For new users there is a quick start guide since we know that starting out with HPX can often be a big hurdle (to help with that there are also HPX packages available on Fedora). Our examples have been labeled with what you will learn by reading through the examples. For more advanced users the comprehensive manual has been restructured in a more logical way to start from getting and building HPX, to writing single-node HPX applications, multi-node HPX applications, and finally to optimizing and debugging applications. We’ve also added a new section for developers getting started with HPX. A less noticeable feature is that we link key concepts to our terminology page. Next time you see a term you haven’t seen before you’ll hopefully be able to just click the word to get an explanation.

We hope you enjoy the new documentation and would love to hear your feedback on it!

HPX meets Fedora

With the release of HPX 1.2.0, we added support of HPX to the offical Fedora updates-testing repository. Following packages are available on Fedora 28/29

We provide HPX compiled with the GNU compiler collection, with the OpenMPI compiler, and the MPICH compiler.  The hpx-devel packages contains the header files and he hpx-*-examples package contains all the examples compiled with the respective compiler.  The purpose of these packages is educational and we hope to lower the entrance point to experiment with HPX. For performance measurements we recommend to compile HPX on the used hardware.

HPX 1.2.0 Released!

The STE||AR Group is proud to announce the release of HPX 1.2.0. This release is the first in our more frequent release schedule. We are aiming to produce one release every six months in an effort to get new features and stable releases out to users more quickly. As a result this release is smaller than many previous releases, but nevertheless contains many important improvements. This release includes among others performance improvements, a new implementation of hpx_main.hpp, scheduler hints, and many stability improvements. This release also removes many previously deprecated features. Make sure you read the full release notes to see which deprecated features were removed.

Thank you to everyone who has contributed from all over the world!

Download the release below, from our download page, or from our GitHub page.

HPX 1.1.0 Released!

The STE||AR Group is proud to announce the release of HPX 1.1.0, 10 years after the first commit! This release contains 2300 commits since the previous release and has closed over 150 issues. HPX 1.1.0 brings users full control over how HPX uses processing units, improvements to parallel algorithms and many other usability improvements. This release would not have been possible without the help of all the people who have contributed bug reports, questions, testing, code and improvements to the documentation. Thank you!

Download the release using the links below, from our download page, or from our GitHub page.

Using HPX on Windows

HPX is a C++ Standard Library for Parallelism and Concurrency. Building and using it on Windows just got much less involved. We have now integrated HPX into the VcPkg VC++ Packaging Tool. This tool is design to help you getting C and C++ libraries built and installed on Windows without hassle. It manages all package dependencies for you, such that — once HPX has been built — no additional settings have to be supplied to your build environment.