AllScale toolchain pilot applications: PDE based solvers using a parallel development environment - O'Donncha, Fearghal; Iakymchuk, Roman; Akhriev, Albert; Gschwandtner, Philipp; Thoman, Peter; Heller, Thomas; Aguilar, Xavier; Dichev, Kiril; Gillan, Charles; Markidis, Stefano; Laure, Erwin; Ragnoli, Emanuele; et al. (Computer Physics Communications, 2019)
AllScale is a programming environment targeting simplified development of highly scalable parallel applications by dividing development responsibilities into silos. The front-end AllScale API provides a simple C++ development environment through a suite of parallel constructs expressions denoting tasks operating concurrently. This interfaces with the other components of the toolchain (core-level API, compiler and runtime) which manages tasks related to the machine and system level, hidden to the user. The paper describes the development of two large-scale parallel applications within the AllScale API, namely, an advection– diffusion model with data assimilation and a Lagrangian space-weather simulation model based on a particle-in-cell method. We present mathematical formulations and implementations and evaluate parallel constructs developed using the AllScale API. The performance of the applications from the perspective of both parallel scalability, and more importantly productivity are assessed. We demonstrate how the AllScale API can greatly improve developer productivity while maintaining parallel performance in two applications with distinct numerical characteristics. Code complexity metrics demonstrate reduction in application specific implementations of up to 30% while performance tests on three different compute systems demonstrate comparable parallel scalability to an MPI version of the code.
CRIS-Team Scopus Importer:2019-12-27
Keywords: Advection–diffusion; Data assimilation; HPC; Numerical solvers; Partial differential equation; Particle-in-cell

An auto-tuning approach for optimizing base operators for non-destructive testing applications on heterogeneous multi-core architectures - Heller, Thomas; Fey, Dietmar; et al. (SORT 2013, 2013)
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.IMMD3.anauto

An On-Line Performance Introspection Framework for Task-Based Runtime Systems - Aguilar, Xavier; Jordan, Herbert; Heller, Thomas; Hirsch, Alexander; Fahringer, Thomas; Laure, Erwin (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2019)
The expected high levels of parallelism together with the heterogeneity and complexity of new computing systems pose many challenges to current software. New programming approaches and runtime systems that can simplify the development of parallel applications are needed. Task-based runtime systems have emerged as a good solution to cope with high levels of parallelism, while providing software portability, and easing program development. However, these runtime systems require real-time information on the state of the system to properly orchestrate program execution and optimise resource utilisation. In this paper, we present a lightweight monitoring infrastructure developed within the AllScale Runtime System, a task-based runtime system for extreme scale. This monitoring component provides real-time introspection capabilities that help the runtime scheduler in its decision-making process and adaptation, while introducing minimum overhead. In addition, the monitoring component provides several post-mortem reports as well as real-time data visualisation that can be of great help in the task of performance debugging.
CRIS-Team Scopus Importer:2019-07-02
Keywords: AllScale; HPX; Performance introspection; Performance monitoring; Real-time visualisation; Runtime system

A Portable Petascale Framework for Efficient Particle Methods with Custom Interactions - Schäfer, Andreas; Heller, Thomas; Fey, Dietmar (Proceedings of the EuroMPI/Asia 2014, 2014)
UnivIS-Import:2015-04-16:Pub.2014.tech.IMMD.IMMD3.aporta

Application of the ParalleX execution model to stencil-based problems - Heller, Thomas; Iglberger, Klaus; et al. (Computer Science - Research and Development, 2012)
UnivIS-Import:2015-04-20:Pub.2012.tech.IMMD.IMMD3.applic
Keywords: Iterative solvers; ParalleX; Execution model; High Performance ParalleX (HPX); OpenMP; Parallel algorithms; Parallel runtime systems; Dataflow

A Scalable Backend for True MMORPGs – Bringing Supercomputer Tech Back to Gaming - Schäfer, Andreas; Heller, Thomas; et al. (GPU Technology Conference – Poster Track, 2013)
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.IMMD3.ascala

Evaluating Performance and Energy-efficiency of a Parallel Signal Correlation Algorithm on Current Multi and Manycore Architectures - Hendricks, Arne; Heller, Thomas; Fey, Dietmar; et al. (Proceedings of International Conference on Computational Science 2016 (ICCS 2016), 2016)
UnivIS-Import:2017-12-18:Pub.2016.tech.IMMD.IMMD3.evalua_0
Keywords: Programming Models; Many Core; Runtimes; User Feedback; Micro Servers; Shared Memory

Harnessing billions of tasks for a scalable portable hydrodynamic simulation of the merger of two stars - Heller, Thomas; Lelbach, Bryce Adelstein; Huck, Kevin A.; Biddiscombe, John; Grubel, Patricia; Koniges, Alice E.; Kretz, Matthias; Marcello, Dominic; Pfander, David; Serio, Adrian; Frank, Juhan; Clayton, Geoffrey C.; et al. (International Journal of High Performance Computing Applications, 2019)
We present a highly scalable demonstration of a portable asynchronous many-task programming model and runtime system applied to a grid-based adaptive mesh refinement hydrodynamic simulation of a double white dwarf merger with 14 levels of refinement that spans 17 orders of magnitude in astrophysical densities. The code uses the portable C++ parallel programming model that is embodied in the HPX library and being incorporated into the ISO C++ standard. The model represents a significant shift from existing bulk synchronous parallel programming models under consideration for exascale systems. Through the use of the Futurization technique, seemingly sequential code is transformed into wait-free asynchronous tasks. We demonstrate the potential of our model by showing results from strong scaling runs on National Energy Research Scientific Computing Center’s Cori system (658,784 Intel Knight’s Landing cores) that achieve a parallel efficiency of 96.8% using billions of asynchronous tasks.
CRIS-Team Scopus Importer:2019-07-02
Keywords: asynchronous tasks; binary star merger; C++; HPX; Parallel runtime

HPX: A Task Based Programming Model in a Global Address Space - Heller, Thomas; Fey, Dietmar; et al. (Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models, 2014)
UnivIS-Import:2015-07-08:Pub.2014.tech.IMMD.IMMD3.hpxata
Keywords: Exascale; Global Address Space; High Performance Computing; Parallel Runtime Systems; Programming Models

Integration of CUDA Processing within the C plus plus library for parallelism and concurrency (HPX) - Diehl, Patrick; Seshadri, Madhavan; Heller, Thomas; Kaiser, Hartmut (PROCEEDINGS OF 2018 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON EXTREME SCALE PROGRAMMING MODELS AND MIDDLEWARE (ESPM2 2018), 2018)
CRIS-Team WoS Importer:2019-04-09

The allscale framework architecture - Jordan, Herbert; Gschwandtner, Philipp; Thoman, Peter; Zangerl, Peter; Hirsch, Alexander; Fahringer, Thomas; Heller, Thomas; Fey, Dietmar (Parallel Computing, 2020)
The tremendous challenge of developing applications efficiently utilizing the hardware provided by contemporary parallel systems of all scales is among the most limiting factors for the continuous growth of high performance computing. In this article, we present a novel architecture taking on this challenge by providing an infrastructure for the effective development of such applications. Our design combines the expressive power of modern C++, advanced compiler technology, and sophisticated runtime system solutions, with the goal of providing a clean separation of domain specific algorithms, resource management activities, and low-level hardware interactions — all required to be accounted for by high performance applications. The article covers the architecture design, its key aspects, and a first evaluation of the achievable performance of an application implemented based on the proposed infrastructure.
CRIS-Team Scopus Importer:2020-06-23
Keywords: Development efficiency; Efficient computing; Extreme scale; High performance computing; Parallel computing; Parallel runtimes; Productivity; Programming models; Runtimes; Space weather simulation

The AllScale Runtime Application Model - Jordan, Herbert; Heller, Thomas; Gschwandtner, Philipp; Zangerl, Peter; Thoman, Peter; Fey, Dietmar; Fahringer, Thomas (IEEE International Conference on Cluster Computing, CLUSTER 2018, Belfast, UK, September 10-13, 2018, 2018)

The AllScale Runtime Interface: Theoretical Foundation and Concept - Hendricks, Arne; Heller, Thomas; Fey, Dietmar; et al. (9th Workshop on Many-Task Computing on Clouds, Grids, and Supercomputers as part of SC16, 2016)
UnivIS-Import:2017-12-18:Pub.2016.tech.IMMD.IMMD3.theall
Keywords: Distributed Computing; Runtime Systems; Parallel Computing; Programming Models

Using HPX and LibGeoDecomp for Scaling HPC Applications on Heterogeneous Supercomputers - Heller, Thomas; Schäfer, Andreas; Fey, Dietmar; et al. (ScalA'13 proceedings, 2013)
With the general availability of PetaFLOP clusters and the advent of heterogeneous machines equipped with special accelerator cards such as the Xeon Phi[2], computer scientist face the difficult task of improving application scalability beyond what is possible with conventional techniques and programming models today. In addition, the need for highly adaptive runtime algorithms and for applications handling highly inhomogeneous data further impedes our ability to efficiently write code which performs and scales well. In this paper we present the advantages of using HPX[19, 3, 29], a general purpose parallel runtime system for applications of any scale as a backend for LibGeoDecomp[25] for implementing a three-dimensional N-Body simulation with local interactions. We compare scaling and performance results for this application while using the HPX and MPI backends for LibGeoDecomp. 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. The presented results are acquired from various homogeneous and heterogeneous runs including up to 1024 nodes (16384 conventional cores) combined with up to 16 Xeon Phi accelerators (3856 hardware threads) on TACC's Stampede supercomputer[1]. In the configuration using the HPX backend, more than 0.35 PFLOPS have been achieved, which corresponds to a parallel application efficiency of around 79%. Our measurements demonstrate the advantage of using the intrinsically asynchronous and message driven programming model exposed by HPX which enables better latency hiding, fine to medium grain parallelism, and constraint based synchronization. HPX's uniform programming model simplifies writing highly parallel code for heterogeneous resources. Copyright is held by the owner/author(s).
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.IMMD3.usingh
Keywords: High Performance Computing; Parallel Runtime Systems; Application Frameworks