Proceedings ArticleDOI
HPX: A Task Based Programming Model in a Global Address Space
Reads0
Chats0
TLDR
HX is presented -- 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 management, and provides a widely accepted API enabling programmability, composability and performance portability of user applications.Abstract:
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 resilient programming techniques that are portable across multiple future generations of machines. We believe that guaranteeing adequate scalability, programmability, performance portability, resilience, and energy efficiency requires a fundamentally new approach, combined with a transition path for existing scientific applications, to fully explore the rewards of todays and tomorrows systems. 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 management. This provides a widely accepted API enabling programmability, composability and performance portability of user applications. By employing a global address space, we seamlessly augment the standard to apply to a distributed case. We present HPX's architecture, design decisions, and results selected from a diverse set of application runs showing superior performance, scalability, and efficiency over conventional practice.read more
Citations
More filters
Journal ArticleDOI
A taxonomy of task-based parallel programming technologies for high-performance computing
Peter Thoman,Kiril Dichev,Thomas Heller,Roman Iakymchuk,Xavier Aguilar,Khalid Hasanov,Philipp Gschwandtner,Pierre Lemarinier,Stefano Markidis,Herbert Jordan,Thomas Fahringer,Kostas Katrinis,Erwin Laure,Dimitrios S. Nikolopoulos +13 more
TL;DR: This paper provides an initial task-focused taxonomy for HPC technologies, which covers both programming interfaces and runtime mechanisms and demonstrates the usefulness of the taxonomy by classifying state-of-the-art task-based environments in use today.
Proceedings ArticleDOI
Regent: a high-productivity programming language for HPC with logical regions
TL;DR: An optimizing compiler is presented that translates Regent programs into efficient implementations for Legion, an asynchronous task-based model and it is demonstrated that Regent achieves performance comparable to hand-tuned Legion.
Journal ArticleDOI
Updated core libraries of the ALPS project
Alexander Gaenko,Andrey E. Antipov,Gabriele Carcassi,Tianran Chen,Xi Chen,Qiaoyuan Dong,Lukas Gamper,Jan Gukelberger,Ryo Igarashi,Sergei Iskakov,Mario S. Könz,James P.F. LeBlanc,James P.F. LeBlanc,Ryan Levy,Ryan Levy,Ping Nang Ma,Joseph Paki,Hiroshi Shinaoka,Synge Todo,Matthias Troyer,Emanuel Gull +20 more
TL;DR: This paper presents an updated and refactored version of the core ALPS libraries geared at the computational physics software development community, rewritten with focus on documentation, ease of installation, and software maintainability.
Journal ArticleDOI
HPX - The C++ Standard Library for Parallelism and Concurrency
Hartmut Kaiser,Patrick Diehl,Adrian S. Lemoine,Bryce Adelstein Lelbach,Parsa Amini,Agustín Bergé,John Biddiscombe,Steven R. Brandt,Nikunj Gupta,Thomas Heller,Kevin Huck,Zahra Khatami,Alireza Kheirkhahan,Auriane Reverdell,Shahrzad Shirzad,Mikael Simberg,Bibek Wagle,Weile Wei,Tianyi Zhang +18 more
TL;DR: In this paper, a peridynamics EMU nodal discretization implementation with the C++ Standard Library for Concurrency and Parallelism (HPX), an open source asynchronous many task run time system, is presented.
Proceedings ArticleDOI
The Open Community Runtime: A runtime system for extreme scale computing
Timothy G. Mattson,Romain E. Cledat,Vincent Cavé,Vivek Sarkar,Zoran Budimlić,Sanjay Chatterjee,Josh Fryman,Ganev Ivan B,Robin Knauerhase,Min Lee,Benoit Meister,Brian R. Nickerson,Nick Pepperling,Bala Seshasayee,Sagnak Tasirlar,Justin Teller,Nick Vrvilo +16 more
TL;DR: The fundamental concepts behind OCR are laid out, OCR performance is compared to that from MPI for two simple benchmarks and OCR features supporting flexible algorithm expression are compared.
References
More filters
Journal ArticleDOI
OpenMP: an industry standard API for shared-memory programming
TL;DR: At its most elemental level, OpenMP is a set of compiler directives and callable runtime library routines that extend Fortran (and separately, C and C++ to express shared memory parallelism) and leaves the base language unspecified.
Proceedings ArticleDOI
X10: an object-oriented approach to non-uniform cluster computing
Philippe Charles,Christian Grothoff,Vijay Saraswat,Christopher Michael Donawa,Allan H. Kielstra,Kemal Ebcioglu,Christoph von Praun,Vivek Sarkar +7 more
TL;DR: A modern object-oriented programming language, X10, is designed for high performance, high productivity programming of NUCC systems and an overview of the X10 programming model and language, experience with the reference implementation, and results from some initial productivity comparisons between the X 10 and Java™ languages are presented.
Book
Parallel Programming in OpenMP
TL;DR: Aimed at the working researcher or scientific C/C++ or Fortran programmer, this text introduces the competent research programmer to a new vocabulary of idioms and techniques for parallelizing software using OpenMP.
Journal ArticleDOI
MULTILISP: a language for concurrent symbolic computation
TL;DR: A recommended Multilisp programming style is presented which, if followed, should lead to highly parallel, easily understandable programs.
Journal ArticleDOI
Parallel Programmability and the Chapel Language
TL;DR: A candidate list of desirable qualities for a parallel programming language is offered, and how these qualities are addressed in the design of the Chapel language is described, providing an overview of Chapel's features and how they help address parallel productivity.