Performance prediction of finite-difference solvers for different computer architectures

08/13/2016
by   Mathias Louboutin, et al.
0

The life-cycle of a partial differential equation (PDE) solver is often characterized by three development phases: the development of a stable numerical discretization, development of a correct (verified) implementation, and the optimization of the implementation for different computer architectures. Often it is only after significant time and effort has been invested that the performance bottlenecks of a PDE solver are fully understood, and the precise details varies between different computer architectures. One way to mitigate this issue is to establish a reliable performance model that allows a numerical analyst to make reliable predictions of how well a numerical method would perform on a given computer architecture, before embarking upon potentially long and expensive implementation and optimization phases. The availability of a reliable performance model also saves developer effort as it both informs the developer on what kind of optimisations are beneficial, and when the maximum expected performance has been reached and optimisation work should stop. We show how discretization of a wave equation can be theoretically studied to understand the performance limitations of the method on modern computer architectures. We focus on the roofline model, now broadly used in the high-performance computing community, which considers the achievable performance in terms of the peak memory bandwidth and peak floating point performance of a computer with respect to algorithmic choices. A first principles analysis of operational intensity for key time-stepping finite-difference algorithms is presented. With this information available at the time of algorithm design, the expected performance on target computer systems can be used as a driver for algorithm design.

READ FULL TEXT
research
08/06/2018

Devito: an embedded domain-specific language for finite differences and geophysical exploration

We introduce Devito, a new domain-specific language for implementing hig...
research
10/25/2022

JAX-DIPS: Neural bootstrapping of finite discretization methods and application to elliptic problems with discontinuities

We present a scalable strategy for development of mesh-free hybrid neuro...
research
04/14/2020

Scalability of High-Performance PDE Solvers

Performance tests and analyses are critical to effective HPC software de...
research
12/29/2020

Scalable Parallel Linear Solver for Compact Banded Systems on Heterogeneous Architectures

A scalable algorithm for solving compact banded linear systems on distri...
research
11/23/2021

A Massively Parallel Implementation of Multilevel Monte Carlo for Finite Element Models

The Multilevel Monte Carlo (MLMC) method has proven to be an effective v...
research
08/03/2022

Scalable Computational Algorithms for Geo-spatial Covid-19 Spread in High Performance Computing

A nonlinear partial differential equation (PDE) based compartmental mode...
research
07/12/2020

Minimod: A Finite Difference solver for Seismic Modeling

This article introduces a benchmark application for seismic modeling usi...

Please sign up or login with your details

Forgot password? Click here to reset