Skip to main content
Log in

Research on GPU parallel algorithm for direct numerical solution of two-dimensional compressible flows

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In this paper, a novel parallel algorithm is proposed to solve the problems of heavy computation and long simulation time in the field of compressible flows. In this algorithm, a third-order upwind scheme and a fourth-order central difference scheme are employed, with a third-order Runge-Kutta method for time stepping. Considering the powerful floating-point computing ability of the Graphics Processing Unit (GPU), this paper establishes the algorithm on the basis of GPU. Moreover, the direct numerical simulation method is adopted in this algorithm to improve the solution accuracy of the simulation results. To further enhance the efficiency of the algorithm, several optimization strategies are explored in the design of the algorithm as well. Both accuracy and feasibility of the algorithm are verified by a classical two-dimensional example. Compared with solving this example on the Central Processing Unit platform, the experimental results demonstrate that the maximum speedup ratio achieved by our approach is 18.03 times.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Li Y, Reimann B, Eggers T (2016) Coupled simulation of CFD-flight-mechanics with a two-species-gas-model for the hot rocket staging. Acta Astronaut 128:44–61. https://doi.org/10.1016/j.actaastro.2016.07.009

    Article  Google Scholar 

  2. Sun XW, Liu W, Chai ZX (2019) Method investigation for numerical simulation on aero-optical effect based on WCNS-E-5. AIAA J 57(5):2017–2029. https://doi.org/10.2514/1.j057961

    Article  Google Scholar 

  3. Cook AW, Riley JJ (1996) Direct numerical simulation of a turbulent reactive plume on a parallel computer. J Comput Phys 129(2):263–283. https://doi.org/10.1006/jcph.1996.0249

    Article  MATH  Google Scholar 

  4. Jimenez J (2003) Computing high-reynolds-number turbulence: will simulations ever replace experiments. J Turbul 4(22):1–14. https://doi.org/10.1088/1468-5248/4/1/022

    Article  MathSciNet  MATH  Google Scholar 

  5. Mostafazadeh DB, Marti F, Pourghassemi B, Liu F, Chandramowlishwaran A (2017) Unsteady navier-stokes computations on GPU architectures. In: 23rd AIAA Computational Fluid Dynamics Conference, p 4508. https://doi.org/https://doi.org/10.2514/6.2017-4508

  6. Nguyen MT, Castonguay P, Laurendeau E (2019) GPU parallelization of multigrid RANS solver for three-dimensional aerodynamic simulations on multiblock grids. J Supercomput 75(1):2562–2583. https://doi.org/10.1007/s11227-018-2653-6

    Article  Google Scholar 

  7. Vermeire BC, Witherden FD, Vincent PE (2017) On the utility of GPU accelerated high-order methods for unsteady flow simulations: a comparison with industry-standard tools. J Comput Phys 334:497–521. https://doi.org/10.1016/j.jcp.2016.12.049

    Article  MathSciNet  Google Scholar 

  8. Thibault JC, Senocak I (2012) Accelerating incompressible flow computations with a pthreads-CUDA implementation on small-footprint multi–GPU platforms. J Supercomput 59(1):693–719. https://doi.org/10.1007/s11227-010-0468-1

    Article  Google Scholar 

  9. NVIDIA (2019) CUDA C programming guide. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#axzz4atgDRVPb. Accessed 11 May 2019

  10. Corrigan A, Camelli FF, Lohner R et al (2011) Running unstructured grid-based CFD solvers on modern graphics hardware. Int J Numer Methods Fluids 66(2):221–229. https://doi.org/10.2514/6.2009-4001

    Article  MathSciNet  MATH  Google Scholar 

  11. Niksiar P, Ashrafizadeh A, Shams M et al (2014) Implementation of a GPU-based CFD code. In: 2014 International Conference on Computational Science and Computational Intelligence, pp 84–89

  12. Williams J, Sarofeen C, Shan H et al (2016) An accelerated iterative linear solver with GPUs for CFD calculations of unstructured grids. Procedia Comput Sci 80:1291–1300. https://doi.org/10.1016/j.procs.2016.05.504

    Article  Google Scholar 

  13. Hashimoto T, Yasuda T, Tanno I et al (2018) Multi-GPU parallel computation of unsteady incompressible flows using kinetically reduced local Navier-Stokes equations. Comput Fluids 167:215–220. https://doi.org/10.1016/j.compfluid.2018.03.028

    Article  MathSciNet  MATH  Google Scholar 

  14. Zhang JL, Chen HQ, Xu SG, Gao HQ (2020) A novel GPU-parallelized meshless method for solving compressible turbulent flows. Comput Math Appl 80:2738–2763. https://doi.org/10.1016/j.camwa.2020.08.030

    Article  MathSciNet  MATH  Google Scholar 

  15. Romero J, Crabill J, Watkins JD, Witherden FD, Jameson A (2020) ZEFR: a GPU-accelerated high-order solver for compressible viscous flows using the flux reconstruction method. Comput Phys Commun 250:107–169. https://doi.org/10.1016/j.cpc.2020.107169

    Article  Google Scholar 

  16. Blazek J (2015) Computational fluid dynamics: principles and applications. Elsevier, Amsterdam

    MATH  Google Scholar 

  17. Anderson JD (1984) Fundamentals of aerodynamics. McGraw-Hill, New York

    Google Scholar 

  18. Steger JL, Warming RF (1981) Flux vector splitting of the inviscid gasdynamic equations with application to finite-difference methods. J Comput Phys 40(2):263–293. https://doi.org/10.1016/0021-9991(81)90210-2

    Article  MathSciNet  MATH  Google Scholar 

  19. Jameson A, Schmidt W, Turkel E (1981) Numerical solution of the euler equations by finite volume methods using Runge Kutta time stepping schemes. In: T2–14th Fluid and Plasma Dynamics Conference T3-Fluid Dynamics and Co-located Conferences. https://doi.org/https://doi.org/10.2514/6.1981-1259

  20. Balaji P, Buntinas D, Goodell D et al (2011) MPI on millions of cores. Parallel Process Lett 21(01):45–60. https://doi.org/10.1142/S0129626411000060

    Article  MathSciNet  Google Scholar 

  21. Mininni PD, Rosenberg D, Reddy R et al (2011) A hybrid MPI-OpenMP scheme for scalable parallel pseudospectral computations for fluid turbulence. Parallel Comput 37(6):316–326. https://doi.org/10.1016/j.parco.2011.05.004

    Article  Google Scholar 

  22. NVIDIA (2018) GeForce GTX 10 series graphics cards. https://www.nvidia.com/en-us/geforce/10-series/. Accessed 17 Nov 2018

  23. Shane C (2012) CUDA programming: a developer’s guide to parallel computing with GPUs. Elsevier, Amsterdam

    Google Scholar 

  24. Norouzi HR, Zarghami R, Mostoufi N (2017) New hybrid CPU–GPU solver for CFD–DEM simulation of fluidized beds. Powder Technol 316:233–244. https://doi.org/10.1016/j.powtec.2016.11.061

    Article  Google Scholar 

  25. Ryoo S, Rodrigues C, Baghsorkhi S et al (2008) Optimization principles and application performance evaluation of a multithreaded GPU using CUDA. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp 73–82. https://doi.org/https://doi.org/10.1145/1345206.1345220

  26. Leskinen J, Periaux J (2013) Distributed evolutionary optimization using Nash games and GPUs-applications to CFD design problems. Comput Fluids 80:190–201. https://doi.org/10.1016/j.compfluid.2012.03.017

    Article  MathSciNet  MATH  Google Scholar 

  27. Lefebvre M, Guillen P, Le Gouez JM, Basdevant C (2012) Optimizing 2D and 3D structured Euler CFD solvers on graphical processing units. Comput Fluids 70:136–147. https://doi.org/10.1016/j.compfluid.2012.09.013

    Article  MathSciNet  MATH  Google Scholar 

  28. NVIDIA (2012) How to optimize data transfers in CUDA C/C++. https://devblogs.nvidia.com/how-optimize-data-transfers-cuda-cc. Accessed 29 May 2019

  29. Daniels PG (1974) Numerical and asymptotic solutions for the supersonic flow near the trailing edge of a flat plate. Q J Mech Appl Math 27(2):175–191. https://doi.org/10.1093/qjmam/27.2.175

    Article  MATH  Google Scholar 

  30. Weyl H (1942) On the differential equations of the simplest boundary-layer problems. Ann Math 43(2):381–407. https://doi.org/10.2307/1968875

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

This work is supported by the National Natural Science Foundation of China under Grand No. 51705390, the Pre-Research Program under Grant No. 61400010111, and the Natural Science Foundation of Shaanxi Province under Grand No. 2018JQ5029.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xuefeng Yan.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, Y., Yan, X. & Zhang, J. Research on GPU parallel algorithm for direct numerical solution of two-dimensional compressible flows. J Supercomput 77, 10921–10941 (2021). https://doi.org/10.1007/s11227-021-03704-9

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-021-03704-9

Keywords

Navigation