HPX-5 is a reduction to practice of the revolutionary ParalleX execution model, which establishes roles and responsibilities between layers in an exascale system. It is implemented in portable C99 and is organized around a multi-threaded, cooperative thread scheduler, a global address space, an active-message parcel transport, and a group of globally addressable local synchronization object classes. Internally, the infrastructure is built on scalable concurrent data structures to minimize shared-memory synchronization overhead. The global address space and parcel transport are based on the innovative Photon network transport library, which supports low-level access to network hardware and provides RDMA with remote completion events for low overhead signaling. An alternative ISend/IRecv network layer is included for portability, along with a reference MPI implementation. HPX-5 is compatible with Linux running on Intel x86 and Xeon Phi processors and various ARM core platforms (including both ARMv7 and ARMv8/Aarch64). A pre-release version of HPX-5 v2.0 is available for Mac OS X 10.10+.
"HPX-5 is a useful environment for exploring dynamic adaptive execution for high scalability computation as well as critical support for truly dynamic end-user science and engineering problems", stated Thomas Sterling, professor at Indiana University and creator of the ParalleX execution model.
HPX-5 is developed with an agile process that includes continuous integration, regular point releases, and frequent regression tests for correctness and performance. Users can submit issue reports to the development team through the HPX-5 website. Future major releases of HPX-5 will be delivered semi-annually although bug fixes and will be made available between major releases.
The HPX-5 source code is released under the BSD open-source license and is distributed with a complete set of tests along with selected sample applications. HPX-5 is funded and supported by the DoD, DoE, and NSF, and is actively used in projects such as PSAAP, XPRESS, XSEDE.