HPX, short for High Performance ParalleX, is a runtime system for
high-performance computing
High-performance computing (HPC) uses supercomputers and computer clusters to solve advanced computation problems.
Overview
HPC integrates systems administration (including network and security knowledge) and parallel programming into a mult ...
. It is currently under active development by the STEAR group at
Louisiana State University
Louisiana State University (officially Louisiana State University and Agricultural and Mechanical College, commonly referred to as LSU) is a public land-grant research university in Baton Rouge, Louisiana. The university was founded in 1860 nea ...
. Focused on
scientific computing
Computational science, also known as scientific computing or scientific computation (SC), is a field in mathematics that uses advanced computing capabilities to understand and solve complex problems. It is an area of science that spans many disc ...
, it provides an alternative execution model to conventional approaches such as
MPI
MPI or Mpi may refer to:
Science and technology Biology and medicine
* Magnetic particle imaging, an emerging non-invasive tomographic technique
* Myocardial perfusion imaging, a nuclear medicine procedure that illustrates the function of the hear ...
. HPX aims to overcome the challenges MPI faces with increasing large
supercomputer
A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second ( FLOPS) instead of million instructions ...
s by using
asynchronous
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
communication between nodes and lightweight control objects instead of global barriers, allowing application developers to exploit
fine-grained
Granularity (also called graininess), the condition of existing in granules or grains, refers to the extent to which a material or system is composed of distinguishable pieces. It can either refer to the extent to which a larger entity is subd ...
parallelism.
HPX is developed in idiomatic
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and released as open source under the
Boost Software License
Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It conta ...
, which allows usage in commercial applications.
Applications
Though designed as a general-purpose environment for high-performance computing, HPX has primarily been used in
* Astrophysics simulation, including the
N-body problem
In physics, the -body problem is the problem of predicting the individual motions of a group of celestial objects interacting with each other gravitationally.Leimanis and Minorsky: Our interest is with Leimanis, who first discusses some histor ...
,
neutron star
A neutron star is the collapsed core of a massive supergiant star, which had a total mass of between 10 and 25 solar masses, possibly more if the star was especially metal-rich. Except for black holes and some hypothetical objects (e.g. white ...
evolution, and the merging of stars
**Octo-Tiger, An astrophysics application simulating the evolution of star systems.
* LibGeoDecomp, A Library for Geometric Decomposition codes
* Simulation crack and fractures utilizing
Peridynamics
Peridynamics is a formulation of continuum mechanics that is oriented toward deformations with discontinuities, especially fractures.
Purpose
The peridynamic theory is based on integral equations, in contrast with the classical theory of contin ...
*Phylanx,
A Library for Distributed Array Processing
References
External links
HPX/STEAR Group HomepageHPX GitHub repositorySTEAR Group BlogSTEAR Group Publications
{{Parallel computing
Parallel computing
C++ libraries