Cluster Computing

, Volume 17, Issue 2, pp 243–254 | Cite as

GPGPU implementation of the BFECC algorithm for pure advection equations

  • Santiago D. Costarelli
  • Mario A. StortiEmail author
  • Rodrigo R. Paz
  • Lisandro D. Dalcin
  • Sergio R. Idelsohn


In the present work an implementation of the Back and Forth Error Compensation and Correction (BFECC) algorithm specially suited for running on General-Purpose Graphics Processing Units (GPGPUs) through Nvidia’s Compute Unified Device Architecture (CUDA) is analyzed in order to solve transient pure advection equations. The objective is to compare it to a previous explicit version used in a Navier-Stokes solver fully written in CUDA. It turns out that BFECC could be implemented with unconditional stable stability using Semi-Lagrangian time integration allowing larger time steps than Eulerian ones.


GPGPU CUDA BFECC Semi-Lagrangian Level-Set Navier-Stokes 



This work has received financial support of Agencia Nacional de Promoción Científica y Tecnológica (ANPCyT, Argentina, grants PICT-1141/2007, PICT-0270/2008, PICT-2492/2010), Universidad Nacional del Litoral (UNL, Argentina, grants CAI+D 2009-65/334, CAI+D-2009-III-4-2) y European ResearchCouncil (ERC) Advanced Grant, Real Time Computational MechanicsTechniques for Multi-Fluid Problems (REALTIME, Reference: ERC-2009-AdG, Dir: Dr. Sergio Idelsohn).

Also we use some development tools under Free Software like GNU/Linux OS, GCC/G++ compilers, Octave, and Open Source software like VTK, among many others.


  1. 1.
    Storti, M.A., Paz, R.R., Dalcin, L.D., Costarelli, S.D., Idelsohn, S.R.: A FFT preconditioning technique for the solution of incompressible flow on GPUs. Comput. Fluids 74(0), 44–57 (2013) CrossRefMathSciNetGoogle Scholar
  2. 2.
    Molemaker, J., Cohen, J., Patel, S., Noh, J.: Low viscosity flow simulations for animation. In: Proceedings of the 2008 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 9–18. Eurographics Association (2008) Google Scholar
  3. 3.
    Costarelli, S., Paz, R., Dalcin, L., Storti, M.: Resolución de las ecuaciones de Navier-Stokes utilizando CUDA. In: Möller, O., Signorelli, J.W., Storti, M.A. (eds.) Mecánica Computacional, vol. XXX, pp. 2979–3008 (2011) Google Scholar
  4. 4.
    Leonard, B.P.: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. Comput. Methods Appl. Mech. Eng. 19(1), 59–98 (1979) CrossRefzbMATHGoogle Scholar
  5. 5.
    Staniforth, A., Côté, J.: Semi-Lagrangian integration schemes for atmospheric models. A review. Mon. Weather Rev. 119(9), 2206–2223 (1991) CrossRefGoogle Scholar
  6. 6.
    Costarelli, S.D., Storti, M.A., Paz, R.R., Dalcin, L.D., Idelshon, S.A.: Solving 3d viscous incompressible Navier-Stokes equations using CUDA. In: García, C., Printista, M. (eds.) Proceedings of HPCLatAm 2013, Mendoza, Argentina, pp. 69–79 (2013) Google Scholar
  7. 7.
    Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. ACM Queue 6(2), 40–53 (2008) CrossRefGoogle Scholar
  8. 8.
    Farber, R.: CUDA Application Design and Development. Morgan Kaufmann, San Mateo (2011) Google Scholar
  9. 9.
    Costarelli, S., Storti, M., Paz, R., Dalcín, L., Idelsohn, S.: A numerical algorithm for the solution of viscous incompressible flow on GPU’s. In: V Latin American Symposium on High Performance Computing HPCLatAm 2012, Buenos Aires, Argentina (2012) Google Scholar
  10. 10.
    Stam, J.: Stable fluids. In: Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, pp. 121–128. ACM Press/Addison-Wesley, New York/Reading (1999) Google Scholar
  11. 11.
    Chorin, A., Marsden, J.: A Mathematical Introduction to Fluid Mechanics. Springer, New York (1990) CrossRefzbMATHGoogle Scholar
  12. 12.
    Bleecker, D., Csordas, G.: Basic Partial Differential Equations. Chapman & Hall/CRC Press, London/Boca Raton (1992) CrossRefzbMATHGoogle Scholar
  13. 13.
    Robert, A.: A stable numerical integration scheme for the primitive meteorological equations. Atmos.-Ocean 19(1), 35–46 (1981) CrossRefGoogle Scholar
  14. 14.
    Pudykiewicz, J., Benoit, R., Staniforth, A.: Preliminary results from a partial LRTAP model based on an existing meteorological forecast model. Atmos.-Ocean 23(3), 267–303 (1985) CrossRefGoogle Scholar
  15. 15.
    Bates, J., McDonald, A.: Multiply-upstream, semi-Lagrangian advective schemes: analysis and application to a multi-level primitive equation model. Mon. Weather Rev. 110(12), 1831–1842 (1982) CrossRefGoogle Scholar
  16. 16.
    Kim, B., Liu, Y., Llamas, I., Rossignac, J.: Advections with significantly reduced dissipation and diffusion. IEEE Trans. Vis. Comput. Graph. 13(1), 135–144 (2007) CrossRefGoogle Scholar
  17. 17.
    Selle, A., Fedkiw, R., Kim, B., Liu, Y., Rossignac, J.: An unconditionally stable MacCormack method. J. Sci. Comput. 35(2), 350–371 (2008) CrossRefzbMATHMathSciNetGoogle Scholar
  18. 18.
    Caiden, R., Fedkiw, R., Anderson, C.: A numerical method for two-phase flow consisting of separate compressible and incompressible regions. J. Comput. Phys. 166(1), 1–27 (2001) CrossRefzbMATHGoogle Scholar
  19. 19.
    Sussman, M., Fatemi, E.: An efficient, interface-preserving level set redistancing algorithm and its application to interfacial incompressible fluid flow. SIAM J. Sci. Comput. 20(4), 1165–1191 (1999) CrossRefzbMATHMathSciNetGoogle Scholar
  20. 20.
    Zalesak, S.: Fully multidimensional flux-corrected transport algorithms for fluids. J. Comput. Phys. 31(3), 335–362 (1979) CrossRefzbMATHMathSciNetGoogle Scholar
  21. 21.
    Enright, D., Losasso, F., Fedkiw, R.: A fast and accurate semi-Lagrangian particle level set method. Comput. Struct. 83(6), 479–490 (2005) CrossRefMathSciNetGoogle Scholar
  22. 22.
    Puckett, E., Almgren, A., Bell, J., Marcus, D., Rider, W.: A high-order projection method for tracking fluid interfaces in variable density incompressible flows. J. Comput. Phys. 130(2), 269–282 (1997) CrossRefzbMATHGoogle Scholar
  23. 23.
    Enright, D., Fedkiw, R., Ferziger, J., Mitchell, I.: A hybrid particle level set method for improved interface capturing. J. Comput. Phys. 183(1), 83–116 (2002) CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Mei, X., Decaudin, P., Hu, B., Zhang, X.: Real-time marker level set on GPU. In: 2008 International Conference on Cyberworlds, pp. 209–216. IEEE Press, New York (2008) CrossRefGoogle Scholar
  25. 25.
    LeVeque, R.: High-resolution conservative algorithms for advection in incompressible flow. SIAM J. Numer. Anal. 33(2), 627–665 (1996) CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    Nvidia. CUDA CUFFT Library (2007) Google Scholar
  27. 27.
    Ghia, U., Ghia, K.N., Shin, C.: High-Re solutions for incompressible flow using the Navier-Stokes equations and multigrid method. J. Comput. Phys. 48, 387–411 (1982) CrossRefzbMATHGoogle Scholar
  28. 28.
    Achenbach, E.: Experiments on the flow past spheres at very high Reynolds numbers. J. Fluid Mech. 54(03), 565–575 (1972) CrossRefGoogle Scholar
  29. 29.
    Roshko, A.: On the Development of Turbulent Wakes from Vortex Streets. NACA Rep. 1191, 25U. S. Government Printing Office, Washington (1955) Google Scholar
  30. 30.
    Mittal, S., Kumar, V.: Flow-induced vibrations of a light circular cylinder at Reynolds numbers 1000 to 10000. J. Sound Vib. 245(5), 923–946 (2001) CrossRefGoogle Scholar
  31. 31.
    Idelsohn, S.R., Nigro, N.M., Gimenez, J.M., Rossi, R., Marti, J.M., Oñate, E.: A fast and accurate method to solve the incompressible Navier-Stokes equations. Eng. Comput. 30(2), 197–222 (2013) CrossRefGoogle Scholar
  32. 32.
    Mittal, S.: Computation of three-dimensional flows past circular cylinder of low aspect ratio. Phys. Fluids 13, 177 (2001) CrossRefGoogle Scholar
  33. 33.
    Lai, M.C., Peskin, C.S.: An immersed boundary method with formal second-order accuracy and reduced numerical viscosity. J. Comput. Phys. 160(2), 705–719 (2000) CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Santiago D. Costarelli
    • 1
  • Mario A. Storti
    • 1
    Email author
  • Rodrigo R. Paz
    • 1
  • Lisandro D. Dalcin
    • 1
  • Sergio R. Idelsohn
    • 1
    • 2
    • 3
  1. 1.CIMECINTEC - Universidad Nacional del Litoral y CONICETSanta FeArgentina
  2. 2.Institució Catalana de Recerca i Estudis Avançats (ICREA)BarcelonaSpain
  3. 3.International Center for Numerical Methods in Engineering (CIMNE)Technical University of Catalonia (UPC)BarcelonaSpain

Personalised recommendations