journal article·2023-05-18Open access

Acceleration of a Production-Level Unstructured Grid Finite Volume CFD Code on GPU

Jian Zhang, Zhe Dai, Ruitian Li, Liang Deng, Jie Liu, Naichun Zhou

Applied Sciences· Volume 13· Issue 10

Abstract

Due to the complex topological relationship, poor data locality, and data racing problems in unstructured CFD computing, how to parallelize the finite volume method algorithms in shared memory to efficiently explore the hardware capabilities of many-core GPUs has become a significant challenge. Based on a production-level unstructured CFD software, three shared memory parallel programming strategies, atomic operation, colouring, and reduction were designed and implemented by deeply analysing its computing behaviour and memory access mode. Several data locality optimization methods—grid reordering, loop fusion, and multi-level memory access—were proposed. Aimed at the sequential attribute of LU-SGS solution, two methods based on cell colouring and hyperplane were implemented. All the parallel methods and optimization techniques implemented were comprehensively analysed and evaluated by the three-dimensional grid of the M6 wing and CHN-T1 aeroplane. The results show that using the Cuthill–McKee grid renumbering and loop fusion optimization techniques can improve memory access performance by 10%. The proposed reduction strategy, combined with multi-level memory access optimization, has a significant acceleration effect, speeding up the hot spot subroutine with data races three times. Compared with the serial CPU version, the overall speed-up of the GPU codes can reach 127. Compared with the parallel CPU version, the overall speed-up of the GPU codes can achieve more than thirty times the result in the same Message Passing Interface (MPI) ranks.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Advanced Data Storage Technologies · Advanced Numerical Methods in Computational Mathematics · Parallel Computing and Optimization Techniques

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Science and Technology on Parallel and Distributed Processing Laboratory, National University of Defense Technology, Changsha 410073, China

Computational Aerodynamic Institute, China Aerodynamic Research & Development Center, Mianyang 621000, China

Funding

the National Numerical Wind Tunnel (NNW) Project of China, the Sichuan Science and Technology Program · the National Key Research and Development Program of China

References (33)

Show source-provided references
1. CFD simulation of exhaust gases jet from aircraft engine10.1016/j.energy.2020.118610 ↗
2. Why do ventilation strategies matter in controlling infectious airborne particles? A comprehensive numerical analysis in isolation ward10.1016/j.buildenv.2023.110048 ↗
3. The opportunity and grand challenges in computational fluid dynamics by exascale computing
4. Realizing the Vision of CFD in 203010.1109/MCSE.2021.3133677 ↗
5. Computational fluid dynamics simulation based on Hadoop Ecosystem and heterogeneous computing10.1016/j.compfluid.2015.03.021 ↗
6. (2023, March 20). ORNL, Available online: https://www.olcf.ornl.gov.
7. (2023, April 01). CINECA. Available online: http://www.cineca.it.
8. Effects of artificial impeller blade wear on bubble–particle interactions using CFD (k–ε and les), PIV, and 3D printing10.1016/j.mineng.2022.107766 ↗
9. Modification in commercial bus model to overcome aerodynamic drag effect by using CFD analysis10.1016/j.rineng.2019.100091 ↗
10. Computational fluid dynamics simulation of a stirred tank reactor10.1016/j.matpr.2021.02.102 ↗
11. A CFD Comsol model for simulating complex urban flow10.1016/j.egypro.2017.11.224 ↗
12. Effects of medical staff’s turning movement on dispersion of airborne particles under large air supply diffuser during operative surgeries10.1007/s11356-022-21579-y ↗
13. Gomes, P., Economon, T.D., and Palacios, R. (2021, January 19–21). Sustainable high-performance optimizations in su2. Proceedings of the AIAA Scitech 2021 Forum, Online.10.2514/6.2021-0855 ↗
14. Optimizations of Unstructured Aerodynamics Computations for Many-core Architectures10.1109/TPDS.2018.2826533 ↗
15. Locality optimized unstructured mesh algorithms on GPUs10.1016/j.jpdc.2019.07.011 ↗
16. Performance modeling and optimization of parallel LU-SGS on many-core processors for 3D high-order CFD simulations10.1007/s11227-016-1943-0 ↗
17. Acceleration of a CFD code with a GPU
18. An accelerated iterative linear solver with GPUs for CFD calculations of unstructured grids10.1016/j.procs.2016.05.504 ↗
19. Nastac, G., Walden, A., Nielsen, E., and Frendi, A. (2021, January 19–21). Implicit thermochemical nonequilibrium flow simulations on unstructured grids using gpus. Proceedings of the AIAA Scitech 2021 Forum, Online.10.2514/6.2021-0159 ↗
20. FlowStar: General unstructured-grid CFD software for National Numerical Windtunnel(NNW) Project
21. Blazek, J. (2015). Computational Fluid Dynamics: Principles and Applications: Third Edition, Elsevier.10.1016/B978-0-08-099995-1.00012-9 ↗
22. Saad, Y. (2003). Iterative Methods for Sparse Linear Systems, Society for Industrial and Applied Mathematics. [2nd ed.].10.1137/1.9780898718003 ↗
23. Stone, C.P., Walden, A., Zubair, M., and Nielsen, E.J. (2021, January 14–19). Accelerating unstructured-grid CFD algorithms on NVIDIA and AMD GPUs. Proceedings of the IA3 2021: Workshop on Irregular Applications: Architectures and Algorithms, Held in Conjunction with SC 2021: The International Conference for High Performance Computing, Networking, Storage and Analysis, Saint Louis, MO, USA.10.1109/IA354616.2021.00010 ↗
24. Face coloring in unstructured CFD codes10.1016/j.parco.2017.04.001 ↗
25. Parallelization of an unstructured Navier-Stokes solver using a multi-color ordering method for OpenMP10.1016/j.compfluid.2013.10.008 ↗
26. Sharov, D., and Nakahashi, K. (July, January 29). Reordering of 3-D hybrid unstructured grids for vectorized lu-sgs navier-stokes computations. Proceedings of the 13th Computational Fluid Dynamics Conference, Snowmass Village, CO, USA.
27. Some useful optimisations for unstructured computational fluid dynamics codes on multicore and manycore architectures10.1016/j.cpc.2018.07.001 ↗
28. Cuthill, E., and McKee, J. (1969, January 26–28). Reducing the bandwidth of sparse symmetric matrices. Proceedings of the ACM National Conference, New York, NY, USA.10.1145/800195.805928 ↗
29. Optimizing Code_Saturne computations on Petascale systems10.1016/j.compfluid.2011.01.028 ↗
30. Oliker, L., Heber, G., and Biswas, R. (2000). Parallel conjugate gradient: Effects of ordering strategies, programming paradigms, and architectural platforms. Off. Sci. Tech. Inf. Tech. Rep.
31. Cache-efficient renumbering for vectorization10.1002/cnm.1160 ↗
32. Optimizations of graph coloring method for unstructured finite volume computational fluid dynamics on GPU
33. Aerodynamic design of a standard model CHN-T1 for single-aisle passenger aircraft