ExaClaw: Clawpack-enabled ExaHyPE for heterogeneous hardware

Wave equation solvers are omnipresent in science and engineering, as their underlying hyperbolic partial differential equations (PDEs) arise naturally from conservation laws. Conservation laws in turn are among our most powerful tools to describe physics, i.e. to model the real world. Such solvers help us to analyse and understand a vast range of problems; from the formation of galaxies and gravitational waves, through to wind turbines and aircraft aerodynamics, to seismic waves inside the Earth’s crust.

Challenges and risks to address:

  • A sophistication gap between scaling production codes on the one hand, and codes used in more fundamental research around modern numerics and algorithmics on the other hand. As this gap widens, science runs risk of employing methodologically inferior methods for the most demanding computations.
  • Existing simulation codes may not perform effectively on exascale systems. As such, codes will require “face lifts” along the lines of successful software rewrites. Face lifting along the lines of one characteristic might lead to losing out on the architecture configuration that will become dominant in the exascale era. Even worse, exascale machines might consist of assemblies of clusters with different or even changing configurations.
  • Finally, pushing real-world simulations towards the exascale might remain inherently impossible over the next few years. The growing memory gap i.e. speed difference between compute capability vs. data transfer, and I/O constraints imply that many codes might only deliver high peak ratios for artificial benchmarks.

This working group will tackle these risks through extending the FETHPC H2020 code ExaHyPE into a software called ExaClaw. ExaClaw will couple ClawPack, the leading grid-based toolbox for modelling wave phenomena to the high-performance ADER-DG AMR engine ExaHyPE so as to enable compute-intense calculations upon GPUs, and the team behind ExaClaw will prototype a new supercomputer usage scheme well-suited to accommodate bursts of extreme compute demand. To amplify ExaClaw’s impact, applicability and usability from a user’s point of view, it is important that the software offers the right Riemann solvers for both its ADER-DG and FV schemes. ExaClaw will yield inhomogeneous, strongly varying workloads.

ExaHyPE is an engine for writing solvers for grid-based, first-order hyperbolic PDE equations. It supports block-structured Finite Volume schemes and ADER-DG, and it realises a clear separation of concerns to support any application domain. Users feed in application domain knowledge such as flux functions, eigenvalues, initial values or refinement criteria into the engine. The engine then runs and orchestrates the actual computation. Mesh traversal, refinement, parallelisation, load balancing, limiting, and so forth all are abstracted away and hidden from the users. ExaHyPE has been built for Intel/x86 architectures in the Intel manycore era. Its excellent vectorisation properties suggest that it is well suited for GPUs, too. The working group proposes to port ExaClaw to GPUs. This will yield a step change in performance on heterogeneous machines.

Finally, ExaClaw will investigate a novel HPC usage scheme where the load balancing minimises the number of used machine nodes. Simulations thus can have (close to) full machine access when they need it, but release resources whenever their demand decreases again.

ExaClaw’s work programme decomposes into three methodological work packages (WPs) plus its outreach, dissemination and collaboration WP. The first WP aligns with ExCALIBUR’s core pillar of a separation of concerns, engaging people from different disciplines, while WPs 2 and 3 target data and information flow management and co-design.