High-Performance Implementation of Matrix-Free Runge-Kutta Discontinuous Galerkin Method for Euler Equations

Yongquan Feng,Wenjing Yang,Liaoyuan Sun,Zhipeng Lin,Yongjun Zhang
DOI: https://doi.org/10.1109/HPCC/SmartCity/DSS.2018.00040
2018-01-01
Abstract:DG method is one of the mainstream high-order numerical discretization methods of CFD, and the RKDG which combines the Runge-Kutta explicit time stepping with DG space discretization plays an important role in the DG explicit numerical simulation. Even though the matrix-free has already been applied to improving the performance of the DG method, it has gained less attention relatively. In order to improve the RKDG's performance for Euler equations, we have implemented a matrix-free RKDG on the HopeFOAM, an open source CFD code. In this paper, we design and implement data structures to apply sum-factorization to the RKDG space discretization. During the simulation process, the arithmetic operations and memory cost decrease, which will improve the serial performance. For the data-level parallelism, we design the calculation strategy and vectorize the data to make it ideally suitable for the SIMD instructions, so that we make the most of the multiple processing elements of CPU. The experiment results show that matrix-free implementation can effectively speed up RKDG simulation on Euler equations and the performance improvement in three-dimensional space is much better than that in two-dimensions, whose maximum speed-up ratios are 26.287 and 8.278 respectively. Moreover, we test the parallel scalability of matrix-free RKDG implementation and the result indicates that matrix-free implementation does not lower the parallel speed-up ratio of HopeFOAM.
What problem does this paper attempt to address?