Author: Christian Jacobs, University of Southampton
ExaFLOW-funded researchers at the University of Southampton have developed and released a new software framework called OpenSBLI, which can automatically generate CFD model code from high-level problem specifications. This generated code is then targetted towards a variety of hardware backends (e.g. MPI, OpenMP, CUDA, OpenCL and OpenACC) through source-to-source translation using the OPS library.
A key feature of OpenSBLI is the separation of concerns that is introduced between model developers, numerical analysts, and parallel computing experts. The numerical analysts can focus on the numerical methods and their variants, while the writing of architecture-dependant code for HPC systems is the task of the parallel computing experts who can support and introduce optimisations for the exascale hardware architectures and the associated backends, once available in the future. As a result of this abstraction, the end-user model developer need not change or re-write their high-level problem specification in order to run their simulations on new HPC hardware.
More details about OpenSBLI can be found in the paper:
C. T. Jacobs, S. P. Jammy, N. D. Sandham (In Press). OpenSBLI: A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures. Journal of Computational Science. DOI: 10.1016/j.jocs.2016.11.001. Pre-print: https://arxiv.org/abs/1609.01277 and on the project's website: https://opensbli.github.io/