scispace - formally typeset
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

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

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

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

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

L. Dagum, +1 more
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

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.
Related Papers (5)