OpenSBLI: A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures
This addresses the challenge for computational scientists of maintaining performance on evolving hardware, though it is incremental as it builds on existing code generation techniques.
The authors tackled the problem of adapting finite difference solvers to new exascale hardware architectures by developing OpenSBLI, a framework that uses automated code generation from high-level specifications, enabling efficient parallel execution across diverse hardware without manual rewriting.
Exascale computing will feature novel and potentially disruptive hardware architectures. Exploiting these to their full potential is non-trivial. Numerical modelling frameworks involving finite difference methods are currently limited by the 'static' nature of the hand-coded discretisation schemes and repeatedly may have to be re-written to run efficiently on new hardware. In contrast, OpenSBLI uses code generation to derive the model's code from a high-level specification. Users focus on the equations to solve, whilst not concerning themselves with the detailed implementation. Source-to-source translation is used to tailor the code and enable its execution on a variety of hardware.