2020
DOI: 10.21105/joss.02352
|View full text |Cite
|
Sign up to set email alerts
|

HPX - The C++ Standard Library for Parallelism and Concurrency

Abstract: The new challenges presented by exascale system architectures have resulted in difficulty achieving the desired scalability using traditional distributed-memory runtimes. Asynchronous many-task systems (AMT) are based on a new paradigm showing promise in addressing these challenges, providing application developers with a productive and performant approach to programming on next generation systems. HPX is a C++ Library for concurrency and parallelism that is developed by The STE||AR Group, an international gro… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
43
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
6
2
1

Relationship

2
7

Authors

Journals

citations
Cited by 99 publications
(43 citation statements)
references
References 25 publications
0
43
0
Order By: Relevance
“…They both came into existence to facilitate asynchronous execution in specific applications, and while Charm++ has expanded its reach and is used in several codes, Uintah's runtime has remained embedded within the primary applications that motivated its creation. Other more general purpose asynchronous runtimes that have found variable degree of success in HPC systems include HPX [10], StarPU [2], Legion [3], and several others. Except for Uintah, which is embedded, all the other systems subscribe to the idea of being transparent to the application programmer.…”
Section: Related Workmentioning
confidence: 99%
“…They both came into existence to facilitate asynchronous execution in specific applications, and while Charm++ has expanded its reach and is used in several codes, Uintah's runtime has remained embedded within the primary applications that motivated its creation. Other more general purpose asynchronous runtimes that have found variable degree of success in HPC systems include HPX [10], StarPU [2], Legion [3], and several others. Except for Uintah, which is embedded, all the other systems subscribe to the idea of being transparent to the application programmer.…”
Section: Related Workmentioning
confidence: 99%
“…NLMech relies on the following open source softwares: HPX (Kaiser et al, 2020), Blaze (Iglberger et al, 2012), Blaze_Iterative, Gmsh (Geuzaine & Remacle, 2009), VTK (Schroeder et al, 2004), and yaml-cpp. For details about the specific version, we refer to NLMech's documentation.…”
Section: Software Implementation and Applicationsmentioning
confidence: 99%
“…On modern supercomputers, many core architectures where the threads per computational node increase, it is more and more important to focus on the fine-grain parallelism with increasing cores per computational nodes. NLMech is based on the C++ standard library for parallelism and concurrency (HPX) (Kaiser et al, 2020). For more details on utilization of asynchronous many-task systems, we refer to Diehl et al (2020).…”
Section: Statement Of Needmentioning
confidence: 99%
“…These libraries follow the design philosophy of the C++ Standard Template Library [39] -indeed, their specification and implementation is often considered as a precursor towards inclusion in the C++ STL. The largest such projects are Boost [40], Eigen [27], and focusing on the parallelism aspect is HPX [41]. While there are countless such libraries, here we focus on ones that also target performance portability.…”
Section: C++ Template Librariesmentioning
confidence: 99%