193 Hits in 4.8 sec

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

Hartmut Kaiser, Patrick Diehl, Adrian Lemoine, Bryce Lelbach, Parsa Amini, Agustín Berge, John Biddiscombe, Steven Brandt, Nikunj Gupta, Thomas Heller, Kevin Huck, Zahra Khatami (+7 others)
2020 Journal of Open Source Software  
HPX is a C++ Library for concurrency and parallelism that is developed by The STE||AR Group, an international group of collaborators working in the field of distributed and parallel programming (Heller  ...  HPX exposes extended services and functionalities supporting the implementation of parallel, concurrent, and distributed capabilities for applications in any domain; it has been used in scientific computing  ...  Supercomputing Centre (JSC), and the Gauss Center for Supercomputing.  ... 
doi:10.21105/joss.02352 fatcat:kwgtvyg7yncjnfc2k3b3qevgru

An asynchronous and task-based implementation of Peridynamics utilizing HPX – the C++ standard library for parallelism and concurrency [article]

Patrick Diehl, Prashant K. Jha, Hartmut Kaiser, Robert Lipton, Martin Levesque
2020 arXiv   pre-print
HPX, a open source C++ standard library for parallelism and concurrency, is one AMT which is confirm with the C++ standard.  ...  Asynchronous Many Task (AMT) run time systems represent an emerging paradigm for addressing fine-grain parallelism since they handle the increasing amount of threads per node and concurrency.  ...  The for loop is replaced with hpx::parallel::for_loop which is conforming with the C++ 17 standard [55] .  ... 
arXiv:1806.06917v6 fatcat:vus3f7i5xrg6lpb6weux3d3gs4

An asynchronous and task-based implementation of peridynamics utilizing HPX—the C++ standard library for parallelism and concurrency

Patrick Diehl, Prashant K. Jha, Hartmut Kaiser, Robert Lipton, Martin Lévesque
2020 SN Applied Sciences  
HPX, a open source C++ standard library for parallelism and concurrency, is one AMT which is conforming to the C++ standard.  ...  Asynchronous Many Task (AMT) run time systems represent a paradigm for addressing the fine-grain parallelism. They handle the increasing amount of threads per node and concurrency.  ...  HPX-an open source C++ standard library for parallelism and concurrency The HPX library [25] is a C++ standard compliant Asynchronous Many Task (AMT) run time system tailored for high performance computing  ... 
doi:10.1007/s42452-020-03784-x fatcat:wvhusmq75bhajanl5uv3tg2rz4


Hartmut Kaiser, Thomas Heller, Bryce Adelstein-Lelbach, Adrian Serio, Dietmar Fey
2014 Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models - PGAS '14  
We present HPX -a parallel runtime system which extends the C++11/14 standard to facilitate distributed operations, enable fine-grained constraint based parallelism, and support runtime adaptive resource  ...  The significant increase in complexity of Exascale platforms due to energy-constrained, billion-way parallelism, with major changes to processor and memory architecture, requires new energy-efficient and  ...  ACKNOWLEDGMENTS HPX and its authors are affiliated with the STE ||AR Group,  ... 
doi:10.1145/2676870.2676883 dblp:conf/pgas/KaiserHASF14 fatcat:qnv2cktjufdzvo2jlsmdpw77he

Performance Analysis of a Quantum Monte Carlo Application on Multiple Hardware Architectures Using the HPX Runtime [article]

Weile Wei, Arghya Chatterjee, Kevin Huck, Oscar Hernandez, Hartmut Kaiser
2020 arXiv   pre-print
We also describe how we used HPX-APEX to raise the level of abstraction to understand performance issues and to identify tasking optimization opportunities in the code, and how these relate to CPU/GPU  ...  This paper describes how we successfully used the HPX programming model to port the DCA++ application on multiple architectures that include POWER9, x86, ARM v8, and NVIDIA GPUs.  ...  The authors thank John Biddiscombe (ETHZ / CSCS) for initiating the port of DCA++ to HPX, for providing the initial implementation, and insightful discussions.  ... 
arXiv:2010.07098v3 fatcat:cola27ah4ndudfzgv734y7euee

Integration of CUDA Processing within the C++ Library for Parallelism and Concurrency (HPX)

Patrick Diehl, Madhavan Seshadri, Thomas Heller, Hartmut Kaiser
2018 2018 IEEE/ACM 4th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)  
For the integration of CUDA code we extended HPX, a general purpose C++ run time system for parallel and distributed applications of any scale, and enabled asynchronous data transfers from and to the GPU  ...  and significantly eases orchestrating coordinated and concurrent work on the main cores and the used GPU devices.  ...  ACKNOWLEDGEMENTS This material is based upon work supported by the NSF Award 1737785 and a Google Summer of Code stipend.  ... 
doi:10.1109/espm2.2018.00006 dblp:conf/sc/DiehlSHK18 fatcat:of2nfsuvpze2rp6qa3xzp4vixa

Redesigning OP2 Compiler to Use HPX Runtime Asynchronous Techniques [article]

Zahra Khatami, Hartmut Kaiser, J. Ramanujam
2017 arXiv   pre-print
In this research, we improve the parallel application performance generated by the OP2 compiler by leveraging HPX, a C++ runtime system, to provide runtime optimizations.  ...  The compiler is able to detect the data dependencies in an application and is able to analyze the specific sections of code for parallelization potential.  ...  Acknowledgements We would like to thank Adrian Serio from Center for Computation and Technology at Louisiana State University for the invaluable and helpful comments and suggestions to improve the quality  ... 
arXiv:1703.09264v1 fatcat:iwhar3uv5rfwxbz2mf7g7bkxlu

Implementing Software Resiliency in HPX for Extreme Scale Computing [article]

Nikunj Gupta, Jackson R. Mayo, Adrian S. Lemoine, Hartmut Kaiser
2020 arXiv   pre-print
We demonstrate that only minor overheads are incurred when utilizing these resiliency features for work loads where the task size is greater than 200 μs.  ...  In this paper, we implement software resilience in HPX, an Asynchronous Many-Task Runtime system.  ...  HPX HPX [16] - [20] is a C++ standard library for distributed and parallel programming built on top of an asynchronous manytask (AMT) runtime system.  ... 
arXiv:2004.07203v1 fatcat:cyor2hx3qbg5fltj2afi24mwj4

Using HPX and LibGeoDecomp for scaling HPC applications on heterogeneous supercomputers

Thomas Heller, Hartmut Kaiser, Andreas Schäfer, Dietmar Fey
2013 Proceedings of the Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems - ScalA '13  
LibGeoDecomp is a Library for Geometric Decomposition codes implementing the idea of a user supplied simulation model, where the library handles the spatial and temporal loops, and the data storage.  ...  We compare scaling and performance results for this application while using the HPX and MPI backends for LibGeoDecomp.  ...  Strict adherence to Standard C++11 [28] and the utilization of the Boost C++ Libraries [4] makes HPX both portable and highly optimized.  ... 
doi:10.1145/2530268.2530269 dblp:conf/sc/HellerKSF13 fatcat:oibtueaddzdyjjhiw573e2o4i4

Octo-Tiger's New Hydro Module and Performance Using HPX+CUDA on ORNL's Summit [article]

Patrick Diehl and Gregor Daiß and Dominic Marcello and Kevin Huck and Sagiv Shiber and Hartmut Kaiser and Juhan Frank and Dirk Pflüger
2021 arXiv   pre-print
Octo-Tiger is parallelized for distributed systems using the asynchronous many-task runtime system, the C++ standard library for parallelism and concurrency (HPX) and utilizes CUDA for its gravity solver  ...  Octo-Tiger is a code for modeling three-dimensional self-gravitating astrophysical fluids. It was particularly designed for the study of dynamical mass transfer between interacting binary stars.  ...  Acknowledgment This research used resources of the Oak Ridge Leadership Computing Facility, which is a DOE Office of Science User Facil-  ... 
arXiv:2107.10987v2 fatcat:cjy6rsg645hsncykikkbxqhun4

Octo-Tiger: A New, 3D Hydrodynamic Code for Stellar Mergers that uses HPX Parallelisation [article]

Dominic C. Marcello, Sagiv Shiber, Orsola De Marco, Juhan Frank, Geoffrey C. Clayton, Patrick M. Motl, Patrick Diehl, Hartmut Kaiser
2021 arXiv   pre-print
This code uses HPX parallelization, allowing the overlap of work and communication and leading to excellent scaling properties, allowing for the computation of large problems in reasonable wall-clock times  ...  We also compute the interaction between two white dwarfs from the early mass transfer through to the merger and compare with past simulations of similar systems.  ...  The C++ Standard Library for Concurrency and Parallelism (HPX) OCTO-TIGER is parallelized for distributed systems using the C++ Standard Library for Concurrency and Parallelism (HPX, Kaiser et al. 2020  ... 
arXiv:2101.08226v2 fatcat:cncng2eoardl3o3cbhbtotldde

The Performance Implication of Task Size for Applications on the HPX Runtime System

Patricia Grubel, Hartmut Kaiser, Jeanine Cook, Adrian Serio
2015 2015 IEEE International Conference on Cluster Computing  
As High Performance Computing moves toward Exascale, where parallel applications will be expected to run on millions of cores concurrently, every component of the computational model must perform optimally  ...  Using the performance counter capabilities in HPX, we characterize task scheduling overheads and show metrics to determine optimal task size.  ...  We thank Bryce Adelstein-Lelbach for his work on the HPX thread scheduler and the addition of counters that made this study possible.  ... 
doi:10.1109/cluster.2015.119 dblp:conf/cluster/GrubelKCS15 fatcat:vjxornmsvvdengb36gfcvh4tri

An Introduction to hpxMP -- A Modern OpenMP Implementation Leveraging Asynchronous Many-Tasking System [article]

Tianyi Zhang, Shahrzad Shirzad, Patrick Diehl, R. Tohid, Weile Wei, Hartmut Kaiser
2019 arXiv   pre-print
These higher level functions have been adopted in standards conforming runtime systems such as HPX, giving users the ability to simply utilize fork-join parallelism in their own codes.  ...  This approach leverages the C++ interfaces exposed by HPX and allows users to execute their applications on an AMT system without changing their code.  ...  Acknowledgment We thank Jeremy Kemp for providing the initial implementation of hpxMP 13 which was extended by the authors. 13 The work on hpxMP is funded by the National  ... 
arXiv:1903.03023v2 fatcat:ww26clnqhfdxje2genxe6qm4vq

OpenCL-HPX integration [article]

Michael Schupikov, Universität Stuttgart
HPX is a library for concurrent, parallel applications. It strives not only to address challenges regarding distributed systems, but also to conform to current and upcoming C++ standards.  ...  In this work, we combine HPX and OpenCL in form of an executor. The OpenCL executor enables HPX users to benefit from more resources on heterogeneous nodes.  ...  HPX is a library for concurrency and parallelism [KDL+20] . It is written in C++ and is developed by the STE||AR Group. The goal of HPX consists of two major aspects.  ... 
doi:10.18419/opus-11849 fatcat:tkz6ln37dnhkhcq7qt5fp24vju

Supporting OpenMP 5.0 Tasks in hpxMP – A study of an OpenMP implementation within Task Based Runtime Systems [article]

Tianyi Zhang, Shahrzad Shirzad, Bibek Wagle, Adrian S. Lemoine, Patrick Diehl, Hartmut Kaiser
2020 arXiv   pre-print
This paper is a follow-up paper on the fundamental implementation of hpxMP, an implementation of the OpenMP standard which utilizes the C++ standard library for Parallelism and Concurrency (HPX) to schedule  ...  OpenMP has been the de facto standard for single node parallelism for more than a decade.  ...  Acknowledgment The work on hpxMP is funded by the National Science Foundation (award 1737785) and and the Department of Defense (DTIC Contract FA8075-14-D-0002/0007).  ... 
arXiv:2002.07970v1 fatcat:4fpgafrqofagtf6weyvf54eh6i
« Previous Showing results 1 — 15 out of 193 results