Optimized BiCGStab Based GPU Accelerated Computation of Incompressible Viscous Flows by the $$\psi $$ –v Formulation
Tóm tắt
In this work, we present an optimization strategy for implementing the BiCGStab iterative solver on graphic processing units (GPU) for computing incompressible viscous flows governed by the unsteady Navier–Stokes (N–S) equations on a CUDA platform. A recently developed
$$\psi $$
–v formulation is used to discretize the biharmonic form of the N–S equation. Special emphasis was given on optimizing the matrix-vector multiplication and the dot product kernels in GPU as the bulk of the computational efforts was seen to be occupied by these two kernels. The parallel code was implemented on the benchmark problem of lid-driven square cavity flow and remarkable speed-up up to 20 times was achieved on finer grids. The GPU implementation enabled us to compute the flow on extremely fine grids and very small scales were resolved with remarkable accuracy.
Tài liệu tham khảo
Chen, F., Shen, J.: A GPU parallelized spectral method for elliptic equations in rectangular domains. J. Comput. Phys. 250, 555–564 (2013)
Rossinelli, D., Bergdorf, M., Cottet, G.-H., Koumoutsakos, P.: GPU accelerated simulations of bluff body flows using vortex particle methods. J. Comput. Phys. 229, 3316–3333 (2010)
Bollig, E.F., Flyer, N., Erlebacher, G.: Solution to PDEs using radial basis function finite-differences (RBF-FD) on multiple GPUs. J. Comput. Phys. 231, 7133–7151 (2012)
Corrigan, A., Camelli, F., Lohner, R., Mut, F.: Semi-automatic porting of a large-scale Fortran CFD code to GPUs. Int. J. Numer. Method Fluid 69, 314–331 (2012)
Gupta, M.M., Kalita, J.C.: A new paradigm for solving Navier–Stokes equations: Streamfunction-velocity formulation. J. Comput. Phys. 207, 52–68 (2005)
Kalita, J.C., Gupta, M.M.: A streamfunction-velocity approach for the 2D transient incompressible viscous flows. Int. J. Numer. Method Fluid 62, 237–266 (2010)
van der Vorst, H.: Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG for the solution of nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 13(2), 631–644 (1992)
Kelley, C.T.: Iterative Methods for Linear and Nonlinear Equations. SIAM Publications, Philadelphia (1995)
Cuda, C.: Programming Guide. NVIDIA Corporation, Santa Clara (2011)
Anzt, H., Tomov, S., Luszaczek, P., Yamazaki, I., Dongarra, J., Sawyer, W.: Optimizing Krylov subspace solvers on graphic processing units, see http://www.prace-project.eu/IMG/pdf/d8.1.4_2ip.pdf
Gupta, M.M., Kalita, J.C.: New paradigm continued: Further computations with streamfunction-velocity formulations for solving Navier–Stokes equations. Commun. Appl. Anal. 10(4), 461–490 (2006)
Bruneau, C.-H., Saad, M.: The 2D lid-driven cavity problem revisited. Comput. Fluid 35, 326–348 (2006)
Erturk, E., Korke, T.C., Gökcöl, G.: Numerical solutions of 2-D steady incompressible driven cavity flow at high Reynolds numbers. Int. J. Numer. Method Fluid 48, 747–774 (2005)
Ghia, U., Ghia, K.N., Shin, C.T.: High re-solution for incompressible Navier–Stokes equation and a multigrid method. J. Comput. Phys. 48, 387–411 (1982)
Wright, N.G., Gaskell, P.H.: An efficient multigrid approach to solving highly recirculating flows. Comput. Fluid 24, 63–79 (1995)
Botella, O., Peyret, R.: Benchmark spectral results on the lid-driven cavity flow. Comput. Fluid 27, 421–433 (1998)
Kalita, J.C., Sen, S.: Triggering asymmetry for flow past circular cylinder at low Reynolds numbers. Comput. Fluid 59, 44–60 (2012)
Kalita, J.C., Sen, S.: Unsteady separation leading to secondary and tertiary vortex dynamics: The sub-\(\alpha \)-and sub-\(\beta \)-phenomena. J. Fluid Mech. 730, 19–51 (2013)
Sen, S., Kalita, J.C., Gupta, M.M.: A robust implicit compact scheme for two-dimensional unsteady flows with a biharmonic stream function formulation. Comput. Fluid 84, 141–163 (2013)
Kirk, D.B., Hwu, W.-M.W.: Programming Massively Parallel Processors: A Hands-on Approach. Applications of GPU Computing Series. Morgan Kaufmann Publishers, San Francisco (2010)
Han, T.D., Abdelrahman, T.S.: Reducing branch divergence in GPU programs. In: Proceedings of the fourth workshop on General Purpose Processing on Graphics Processing Units (2011)
Cuda, C.: Best Practices Guide. NVIDIA Corporation, Santa Clara (2012)
Harris, M.: Optimizing Parallel Reduction in CUDA, (NVIDIA Corporation), see http://developer.download.nvidia.com/compute/cuda/1.1-Beta/x86_website/projects/reduction/doc/reduction.pdf