HPX
{{distinguish|text=Hemopexin, a glycoprotein encoded by the HPX gene}}
{{Infobox software
| name = HPX
| logo =
| released = {{Start date|2008}}
| developer = {{citation |url=http://stellar.cct.lsu.edu/ |title=The STEllAR Group |access-date=2019-04-03 |archive-date=2019-04-03 |archive-url=https://web.archive.org/web/20190403193843/http://stellar.cct.lsu.edu/ |url-status=dead }}
LSU Center for Computation and Technology
| latest release version = 1.10.0
| latest release date = {{start date and age|2024|05|29}}
| operating system = Microsoft Windows
Linux
Mac OS X
| genre = Partitioned global address space
Parallel programming
Runtime System
| programming language = C++
| license = Boost Software License{{citation |url=http://www.boost.org/LICENSE_1_0.txt |title=License |work=Boost Software License – Version 1.0 |publisher=boost.org |access-date=2012-07-30}}
| website = {{URL|https://hpx.stellar-group.org/}}
| repo = {{URL|https://github.com/STEllAR-GROUP/hpx}}
}}
HPX, short for High Performance ParalleX, is a runtime system for high-performance computing. It is currently under active development by the STE{{!}}{{!}}AR group{{cite web|title=About the STE{{!}}{{!}}AR Group|url=https://stellar.cct.lsu.edu/about/about-us/|access-date=17 April 2019}} at Louisiana State University. Focused on scientific computing, it provides an alternative execution model to conventional approaches such as MPI. HPX aims to overcome the challenges MPI faces with increasing large supercomputers by using asynchronous communication between nodes and lightweight control objects instead of global barriers, allowing application developers to exploit fine-grained parallelism.{{Cite book|last1=Kaiser|first1=Hartmut|last2=Brodowicz|first2=Maciek|last3=Sterling|first3=Thomas|date=2009 |doi=10.1109/icppw.2009.14 |isbn=978-1-4244-4923-1|chapter=ParalleX an Advanced Parallel Execution Model for Scaling-Impaired Applications|title=2009 International Conference on Parallel Processing Workshops|pages=394–401|s2cid=898158}}{{cite book|last1=Wagle|first1=Bibek|last2=Kellar|first2=Samuel|last3=Serio|first3=Adrian|last4=Kaiser|first4=Hartmut|title=2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)|chapter=Methodology for Adaptive Active Message Coalescing in Task Based Runtime Systems|year=2018|pages=1133–1140|doi=10.1109/IPDPSW.2018.00173|isbn=978-1-5386-5555-9|s2cid=51921994}}{{cite book|last1=Wagle|first1=Bibek|last2=Monil|first2=Mohammad Alaul Haque|last3=Huck|first3=Kevin|last4=Malony|first4=Allen D.|last5=Serio|first5=Adrian|last6=Kaiser|first6=Hartmut|title=Proceedings of the 48th International Conference on Parallel Processing|chapter=Runtime Adaptive Task Inlining on Asynchronous Multitasking Runtime Systems|year=2019|pages=1–10|doi=10.1145/3337821.3337915|isbn=9781450362955|s2cid=198963569}}
HPX is developed in idiomatic C++ and released as open source under the Boost Software License, 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,{{cite journal|last=C. Dekate, M. Anderson, M. Brodowicz, H. Kaiser, B. Adelstein-Lelbach and T. Sterling|title=Improving the Scalability of Parallel N-body Applications with an Event-driven Constraint-based Execution Model|journal=International Journal of High Performance Computing Applications|volume=26|issue=3|pages=319–332|year=2012|arxiv=1109.5190|doi=10.1177/1094342012440585|s2cid=9556798}} neutron star evolution,{{cite web|last=M. Anderson, T. Sterling, H. Kaiser and D. Neilsen|title=Neutron Star Evolutions using Tabulated Equations of State with a New Execution Model|work=American Physical Society April 2012 Meeting|year=2011|url=http://stellar.cct.lsu.edu/pubs/aps2012.pdf}} and the merging of stars{{cite journal |last1=D. Pfander, G. Daiß, D. Marcello, H. Kaiser, D. Pflüger |first1=David |title=Accelerating Octo-Tiger: Stellar Mergers on Intel Knights Landing with HPX |journal=DHPCC++ Conference 2018 Hosted by IWOCL |date=2018 |doi=10.1145/3204919.3204938|s2cid=21126354 }}
- Octo-Tiger,{{Citation|title=STEllAR-GROUP/octotiger Repository on GitHub|date=2019-04-17|url=https://github.com/STEllAR-GROUP/octotiger|publisher=The STE{{!}}{{!}}AR Group|doi=10.5281/zenodo.5093174|access-date=2019-04-17|last1=Marcello|first1=Dominic|last2=Daiß|first2=Gregor|author3=Parsa Amini|last4=Kaiser|first4=Hartmut|last5=Diehl|first5=Patrick|last6=Wash|first6=Bryce Adelstein Lelbach Aka|last7=Heller|first7=Thomas|author8=Shibersag|last9=Huck|first9=Kevin|last10=Biddiscombe|first10=John|last11=Schäfer|first11=Andreas}}{{Cite journal|last1=Heller|first1=Thomas|last2=Lelbach|first2=Bryce Adelstein|last3=Huck|first3=Kevin A|last4=Biddiscombe|first4=John|last5=Grubel|first5=Patricia|last6=Koniges|first6=Alice E|last7=Kretz|first7=Matthias|last8=Marcello|first8=Dominic|last9=Pfander|first9=David|date=2019-02-14|title=Harnessing billions of tasks for a scalable portable hydrodynamic simulation of the merger of two stars|journal=The International Journal of High Performance Computing Applications|volume=33|issue=4|language=en|pages=699–715|doi=10.1177/1094342018819744|osti=1524389|issn=1094-3420|doi-access=free}} An astrophysics application simulating the evolution of star systems.
- LibGeoDecomp,{{Cite web|url=http://www.libgeodecomp.org/|title=LibGeoDecomp – Petascale Computer Simulations|website=www.libgeodecomp.org|access-date=2019-04-17|archive-date=2022-06-25|archive-url=https://web.archive.org/web/20220625193837/https://libgeodecomp.org/|url-status=dead}}{{Citation|title=A library for C++/Fortran computer simulations (e.g. stencil codes, mesh-free, unstructured grids, n-body & particle methods). Scales from smartphones to petascale supercomputers (e.g. Titan, T..|date=2019-04-06|url=https://github.com/STEllAR-GROUP/libgeodecomp|publisher=The STE{{!}}{{!}}AR Group|access-date=2019-04-17}}{{cite book |last1=A. Schäfer, D. Fey |title=Recent Advances in Parallel Virtual Machine and Message Passing Interface |chapter=LibGeoDecomp: A Grid-Enabled Library for Geometric Decomposition Codes |volume=5205 |pages=285–294 |date=2008 |doi=10.1007/978-3-540-87475-1_39 |series=Lecture Notes in Computer Science |isbn=978-3-540-87474-4 }} A Library for Geometric Decomposition codes
- Simulation crack and fractures utilizing Peridynamics{{Cite journal|last1=Diehl|first1=Patrick|last2=Jha|first2=Prashant K.|last3=Kaiser|first3=Hartmut|last4=Lipton|first4=Robert|last5=Levesque|first5=Martin|title=An asynchronous and task-based implementation of peridynamics utilizing HPX—the C++ standard library for parallelism and concurrency|journal=SN Applied Sciences|year=2020|volume=2|issue=12|doi=10.1007/s42452-020-03784-x|doi-access=free|arxiv=1806.06917|s2cid=227240479}}
- Phylanx,{{Cite web|url=http://phylanx.stellar-group.org/|title=Phylanx – A Distributed Array Toolkit|language=en-US|access-date=2019-04-17}}{{Citation|title=An Asynchronous Distributed C++ Array Processing Toolkit: STEllAR-GROUP/phylanx|date=2019-04-16|url=https://github.com/STEllAR-GROUP/phylanx|publisher=The STE{{!}}{{!}}AR Group|access-date=2019-04-17}}{{Cite book |doi=10.1109/ESPM2.2018.00009|isbn=978-1-72810-178-1|arxiv=1810.07591|chapter=Asynchronous Execution of Python Code on Task-Based Runtime Systems|title=2018 IEEE/ACM 4th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)|pages=37–45|year=2018|last1=Tohid|first1=R.|last2=Wagle|first2=Bibek|last3=Shirzad|first3=Shahrzad|last4=Diehl|first4=Patrick|last5=Serio|first5=Adrian|last6=Kheirkhahan|first6=Alireza|last7=Amini|first7=Parsa|last8=Williams|first8=Katy|last9=Isaacs|first9=Kate|last10=Huck|first10=Kevin|last11=Brandt|first11=Steven|last12=Kaiser|first12=Hartmut|s2cid=52988499}} A Library for Distributed Array Processing
References
{{Reflist}}
External links
- [http://stellar.cct.lsu.edu/ HPX/STE{{!}}{{!}}AR Group Homepage] {{Webarchive|url=https://web.archive.org/web/20190403193843/http://stellar.cct.lsu.edu/ |date=2019-04-03 }}
- [https://stellar-group.github.io/hpx/docs/sphinx/latest/html/index.html Latest HPX Documentation]
- [https://github.com/STEllAR-GROUP/hpx HPX GitHub repository]
- [http://stellar-group.org/blog/ STE{{!}}{{!}}AR Group Blog]
- [http://stellar-group.org/publications/ STE{{!}}{{!}}AR Group Publications]
{{Parallel computing}}