Log In Sign Up

Optimising finite-difference methods for PDEs through parameterised time-tiling in Devito

by   Nicholas Sim, et al.

Finite-difference methods are widely used in solving partial differential equations. In a large problem set, approximations can take days or weeks to evaluate, yet the bulk of computation may occur within a single loop nest. The modelling process for researchers is not straightforward either, requiring models with differential equations to be translated into stencil kernels, then optimised separately. One tool that seeks to speed up and eliminate mistakes from this tedious procedure is Devito, used to efficiently employ finite-difference methods. In this work, we implement time-tiling, a loop nest optimisation, in Devito yielding a decrease in runtime of up to 45 from the acoustic wave equation family, widely used in Devito's target domain of seismic imaging. We present an estimator for arithmetic intensity under time-tiling and a model to predict runtime improvements in stencil computations. We also consider generalisation of time-tiling to imperfect loop nests, a less widely studied problem.


Finite difference and finite element methods for partial differential equations on fractals

In this paper, we present numerical procedures to compute solutions of p...

FiniteNet: A Fully Convolutional LSTM Network Architecture for Time-Dependent Partial Differential Equations

In this work, we present a machine learning approach for reducing the er...

Symbolic Solutions of Simultaneous First-order PDEs in One Unknown

We propose and implement an algorithm for solving an overdetermined syst...

Algorithmic approach to strong consistency analysis of finite difference approximations to PDE systems

For a wide class of polynomially nonlinear systems of partial differenti...

GPU Methodologies for Numerical Partial Differential Equations

In this thesis we develop techniques to efficiently solve numerical Part...

Investigating the OPS intermediate representation to target GPUs in the Devito DSL

The Devito DSL is a code generation tool for the solution of partial dif...