OpenSBLI: Automated code-generation for heterogeneous computing architectures applied to compressible fluid dynamics on structured grids
David J. Lusher, Satya P. Jammy, Neil D. Sandham

TL;DR
OpenSBLI is an open-source, Python-based code-generation system that automates the creation of high-performance CFD solvers for heterogeneous architectures, enabling large-scale simulations of complex compressible flows.
Contribution
The paper introduces a fully rewritten OpenSBLI system that supports shock capturing, complex geometries, and diverse boundary conditions, optimized for modern high-performance computing architectures.
Findings
Demonstrated good weak and strong scaling on multi-GPU clusters.
Validated the solver with various test cases.
Performed large-scale DNS of shockwave boundary layer interactions.
Abstract
OpenSBLI is an open-source code-generation system for compressible fluid dynamics (CFD) on heterogeneous computing architectures. Written in Python, OpenSBLI is an explicit high-order finite-difference solver on structured curvilinear meshes. Shock-capturing is performed by a choice of high-order Weighted Essentially Non-Oscillatory (WENO) or Targeted Essentially Non-Oscillatory (TENO) schemes. OpenSBLI generates a complete CFD solver in the Oxford Parallel Structured (OPS) domain specific language. The OPS library is embedded in C code, enabling massively-parallel execution of the code on a variety of high-performance-computing architectures, including GPUs. The present paper presents a code base that has been completely rewritten from the earlier proof of concept (Jacobs et al, JoCS 18 (2017), 12-23), allowing shock capturing, coordinate transformations for complex geometries, and a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
