Skip to main content
Log in

A framework for exploring numerical solutions of advection–reaction–diffusion equations using a GPU-based approach

  • Regular Article
  • Published:
Computing and Visualization in Science

Abstract

In this paper we describe a general purpose, graphics processing unit (GP-GPU)-based approach for solving partial differential equations (PDEs) within advection–reaction–diffusion models. The GP-GPU-based approach provides a platform for solving PDEs in parallel and can thus significantly reduce solution times over traditional CPU implementations. This allows for a more efficient exploration of various advection–reaction–diffusion models, as well as, the parameters that govern them. Although the GPU does impose limitations on the size and accuracy of computations, the PDEs describing the advection–reaction–diffusion models of interest to us fit comfortably within these constraints. Furthermore, the GPU technology continues to rapidly increase in speed, memory, and precision, thus applying these techniques to larger systems should be possible in the future. We chose to solve the PDEs using two numerical approaches: for the diffusion, a first-order explicit forward Euler solution and a semi-implicit second order Crank–Nicholson solution; and, for the advection and reaction, a first-order explicit solution. The goal of this work is to provide motivation and guidance to the application scientist interested in exploring the use of the GP-GPU computational framework in the course of their research. In this paper, we present a rigorous comparison of our GPU-based advection–reaction–diffusion code model with a CPU-based analog, finding that the GPU model out-performs the CPU implementation in one-to-one comparisons.

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.

Similar content being viewed by others

References

  1. Brook homepage. http://graphics.stanford.edu/projects/brookgpu

  2. Microsoft high-level shading language. http://msdn.microsoft.com/directx/

  3. Nvidia cuda homepage. http://developer.nvidia.com/object/cuda.html

  4. Opengl shading language. http://www.opengl.org/documentation/oglsl.html

  5. Shallows homepage. http://shallows.sourceforge.net/

  6. Barrett, R., Berry, M., Chan, T., Demmel, J., Donato, J., Dongarra, J., Eijkhout, V., Pozo, R., Romine, C., der Vorst, H.V.: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, Philadelphia (1994)

    Google Scholar 

  7. Bolz, J., Farmer, I., Grinspun, E., Schroder, P.: Sparse matrix solvers on the gpu: conjugate gradients and multigrid. ACM Trans. Graph. 22(3), 917–924 (2003)

    Article  Google Scholar 

  8. Brandt, A.: Algebraic multigrid theory: the symmetric case. Appl. Math. Comput. 19(1–4), 23–56 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  9. Epstein, I., Pojman, J.: An Introduction to Nonlinear Chemical Dynamics. Oxford University Press, New York (1998)

    Google Scholar 

  10. Fernando, R., Kilgard, M.: Cg: The Cg Tutorial. Addison Wesley, New York (2003)

    Google Scholar 

  11. Goodnight, N., Wollley, C., Lewin, G., Luebkw, D., Humphreys, G.: A mutligrid solver for boundary value problems using programable graphics hardware. In: Graphics Hardware 2003, pp. 1–11 (2003)

  12. Gray, P., Scott, S.: Sustained oscillations and other exotic patterns of behaviour in isothermal reactions. J. Phys. Chem. 89(1), 22–32 (1985)

    Article  Google Scholar 

  13. Harris, M., Coombe, G., Scheuermann, T., Lastra, A.: Physically-based visual simulation on graphics hardware. In: Graphics Hardware 2002, pp. 1–10. ACM Press, New York (2002)

  14. Karniadakis, G., Kirby, R.M.: Parallel Scientific Computing in C++ and MPI. Cambridge University Press, New York (2003)

    MATH  Google Scholar 

  15. Karniadakis, G., Sherwin, S.: Spectral/hp Element Methods for CFD. Oxford University Press, New York (1999)

    MATH  Google Scholar 

  16. Kruger, J., Westermann, R.: Linear algebra operatiors for GPU implementation of numerical algrothms. ACM Trans. Graph. 22(3), 908–916 (2003)

    Article  Google Scholar 

  17. Lefohn, A., Kniss, J., Hansen, C., Whitaker, R.: Interactive deformation and visualization of level set surfaces using graphics hardware. In: IEEE Visualization, pp. 75–82 (2003)

  18. Mark, W.R., Glanville, R.S., Akeley, K., Kilgard, M.J.: Cg: a system for programming graphics hardware in a c-like language. ACM Trans. Graph. 22(3), 896–907 (2003)

    Article  Google Scholar 

  19. Mark Pharr, E.: GPU Gems 2C. Addison Wesley, New York (2005)

    Google Scholar 

  20. McCool, M., Toit, S.D.: Metaprogramming GPUs with Sh. A.K. Peters, Natick (2004)

    Google Scholar 

  21. McCormick, P.S., Inman, J., ahrems, J.P., Hansen, C., Roh, G.: Scout: a hardware-accelerated system for aunatiatively driven visulization and analysis. In: Visualization ’04: proceedings of the conference on visualization ’04, pp. 1171–1186. IEEE Computer Society, Washington (2004). doi:10.1109/VIS.2004.25

  22. Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krer, J., Lefohn, A.E., Purcell, T.J.: A survey of general-purpose computation on graphics hardware. In: Eurographics 2005, State of the Art Reports, pp. 21–51 (2005)

  23. Sanderson, A.R., Johnson, C.R., Kirby, R.M.: Display of vector fields using a reaction–diffusion model. In: Visualization ’04: Proceedings of the conference on Visualization ’04, pp. 115–122. IEEE Computer Society, Washington (2004). doi:10.1109/VIS.2004.25

  24. Sanderson, A.R., Johnson, C.R., Kirby, R.M., Yang, L.: Advanced reaction–diffusion models for texture synthesis. J. Graph. Tools 11(3), 47–71 (2006)

    Google Scholar 

  25. Sandri, M.: Numerical calculation of lyapunov exponents. Math. J. 6, 78–84 (1996)

    Google Scholar 

  26. Strzodka, R., Rumpf, M.: Nonlinear diffusion in graphics hardware. In: Proceedings of EG/IEEE TCVG Symposium on Visualization, pp. 75–84 (2001)

  27. Turing, A.: The chemical basis of morphogenesis. Phil. Trans. R. Soc. Lond. B237, 37–72 (1952)

    Google Scholar 

  28. Verwer, J., Hundsdorfer, W., Blom, J.: Numerical time integration for air pollutions. Surv. Math. Ind. 10, 107–174 (2002)

    MATH  MathSciNet  Google Scholar 

  29. Wedge, N., Branicky, M., Cavusoglu, M.: Computationally efficient cardiac bioelectricity models toward whole-heart simulation. In: Proceedings of International Conference on IEEE Engineering in Medicine and Biology Society, pp. 3027–3030. IEEE Press, New York (2004)

  30. Weiskopf, D., Erlebacher, G., Hopf, M., Ertl, T.: Hardware-accelerated lagrangian-eulerian texture advection for 2d flow visualization. In: Proceedings of Workshop in Vision, Modeling, and Visualization, pp. 77–84 (2002)

  31. Woo, M., Neider, J., Davis, T., Shreiner, D.: OpenGL Programming Guide. Addison Wesley, New York (1999)

    Google Scholar 

  32. Yang, L., Dolnik, M., Zhabotinsky, A.M., Epstein, I.R.: Spatial resonances and superposition patterns in a reaction–diffusion model with interacting turing modes. Phys. Rev. Lett. 88(20), 208, 303–1–4 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Allen R. Sanderson.

Additional information

Communicated by M. Rumpf.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sanderson, A.R., Meyer, M.D., Kirby, R.M. et al. A framework for exploring numerical solutions of advection–reaction–diffusion equations using a GPU-based approach. Comput. Visual Sci. 12, 155–170 (2009). https://doi.org/10.1007/s00791-008-0086-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00791-008-0086-0

Keywords

Navigation