NERSCPowering Scientific Discovery Since 1974

HPX

HPX refers to High Performance ParalleX. There are currently two implementations of HPX on NERSC systems. 

STELLAR HPX on NERSC is described here.

HPX is a general purpose C++ runtime system from the Stellar Group for parallel and distributed applications of any scale. HPX not only supports latest C++ standard for local asynchronous functions, but also has extended it with remote asynchronous functions and Dataflow constructs that inherently support asynchrony. These are further extended to an active addressing scheme that not only allows temporary suspension of a remote thread objects of an active application but also allows tasks to be migrated to different resources as needed. 

CREST HPX on NERSC is described here.

CREST HPX or HPX-5 is the High Performance ParalleX runtime library from the Center for Research in Extreme Scale Technology (CREST) at Indiana University for petascale/exascale computing.  It is implemented in portable C99 and is organized around a cooperative lightweight 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.