Numerical and implementation based strategies for improving performance of a flux reconstruction code
File(s)
Author(s)
Akkurt, Semih
Type
Thesis
Abstract
This thesis focuses on performance improvement strategies of a Flux Reconstruction solver. Two different approaches based on numerical and implementation strategies are investigated. First, a numerical based strategy is developed to enable a bigger time-step for the explicit inner iterations in a dual time stepping scheme. A simplified preconditioner is developed particularly for the stretched elements located in the near wall region. The preconditioner is constructed using the wall normal couplings only. Therefore, it requires relatively low storage and the application of the preconditioner increases a single iteration cost only around 10 to 30% while enabling a 4 to 15 times increase for the maximum time-step. Next, an implementation based strategy that particularly focuses on cache blocking approach is investigated. First, a data structure that will enable cache blocking is implemented in PyFR. Then, a theoretical study is conducted to predict the amount of bandwidth savings for three different kernel grouping configurations for the Euler solver in PyFR. All three kernel grouping configurations are implemented in PyFR and the results are compared against PyFR v1.11.0. The most performant configuration leads to a 2.81x speedup in practice compared to PyFR v1.11.0. Subsequently, the cache blocking approach is extended to Navier-Stokes equations and anti-aliasing. Extension to Navier-Stokes solver requires forming a specific kernel grouping configuration considering the additional kernels in the Navier-Stokes solver. Anti-aliasing support on the other hand necessitates factorisation of the dense interpolation matrices into sparse components so that they become bandwidth bound and cache blocking approach can be used efficiently. Cache blocking approach for the Navier-Stokes solver with full anti-aliasing yields up to 3.88x speedup compared to PyFR v1.11.0. Furthermore, strong scalability of cache blocking approach is also investigated and it is demonstrated that PyFR with cache blocking achieves over 70% efficiency when scaled from 1 to 128 nodes on ARCHER2. Additionally, a cost analysis is carried out based on Amazon AWS pricing and it shows that PyFR with cache blocking on CPUs can be more cost efficient compared to PyFR on GPUs.
Version
Open Access
Editor(s)
Vincent, Peter
Date Issued
2023-02-01
Date Awarded
2023-02
Citation
2023
License URL
Advisor
Vincent, Peter
Witherden, Freddie
Sponsor
Imperial College London
Identifier
https://doi.org/10.25560/110768
Publisher Department
Aeronautics
Publisher Institution
Imperial College London
Qualification Level
Doctoral
Qualification Name
Doctor of Philosophy (PhD)