High-Performance Implementation of Matrix-Free Runge-Kutta Discontinuous Galerkin Method for Euler Equations
2018 IEEE 20th International Conference on High Performance Computing and Communications; IEEE 16th International Conference on Smart City; IEEE 4th International Conference on Data Science and Systems (HPCC/SmartCity/DSS)(2018)
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.
MoreTranslated text
Key words
Euler Equations, Sum-factorization, SIMD Vectorization
AI Read Science
Must-Reading Tree
Example
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined