Towards a performance-portable high-order implicit flow solver

J. Eichstädt, D. Moxey, J. Peiró

2019 AIAA Aerospace Sciences Meeting (2019)

@inproceedings{eichstadt-2019b,
  title = {Towards a performance-portable high-order implicit flow solver},
  author = {Eichst\"adt, J. and Moxey, D. and Peir\'o, J.},
  booktitle = {2019 AIAA Aerospace Sciences Meeting},
  year = {2019},
  doi = {10.2514/6.2019-1404},
  url = {https://davidmoxey.uk/assets/pubs/2019-aiaa-scitech-2.pdf},
  abstract = {We discuss the steps required to adapt legacy flow, or structural, solvers to modern CPU and GPU architectures using a portable programming model. These steps are illustrated using a high-order mesh optimiser and an implicit Helmholtz solver as examples. We show that satisfactory performance can be achieved in both architectures using such a framework, and highlight the importance of developing efficient data structures.}
}

What it takes to move an existing flow or structural solver onto modern CPU and GPU architectures using a portable programming model, illustrated with a high-order mesh optimiser and an implicit Helmholtz solver. Satisfactory performance is reached on both architectures, and the design of the data structures turns out to matter as much as the choice of model.

Abstract

We discuss the steps required to adapt legacy flow, or structural, solvers to modern CPU and GPU architectures using a portable programming model. These steps are illustrated using a high-order mesh optimiser and an implicit Helmholtz solver as examples. We show that satisfactory performance can be achieved in both architectures using such a framework, and highlight the importance of developing efficient data structures.