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.
Similar content being viewed by others
References
Brook homepage. http://graphics.stanford.edu/projects/brookgpu
Microsoft high-level shading language. http://msdn.microsoft.com/directx/
Nvidia cuda homepage. http://developer.nvidia.com/object/cuda.html
Opengl shading language. http://www.opengl.org/documentation/oglsl.html
Shallows homepage. http://shallows.sourceforge.net/
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)
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)
Brandt, A.: Algebraic multigrid theory: the symmetric case. Appl. Math. Comput. 19(1–4), 23–56 (1986)
Epstein, I., Pojman, J.: An Introduction to Nonlinear Chemical Dynamics. Oxford University Press, New York (1998)
Fernando, R., Kilgard, M.: Cg: The Cg Tutorial. Addison Wesley, New York (2003)
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)
Gray, P., Scott, S.: Sustained oscillations and other exotic patterns of behaviour in isothermal reactions. J. Phys. Chem. 89(1), 22–32 (1985)
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)
Karniadakis, G., Kirby, R.M.: Parallel Scientific Computing in C++ and MPI. Cambridge University Press, New York (2003)
Karniadakis, G., Sherwin, S.: Spectral/hp Element Methods for CFD. Oxford University Press, New York (1999)
Kruger, J., Westermann, R.: Linear algebra operatiors for GPU implementation of numerical algrothms. ACM Trans. Graph. 22(3), 908–916 (2003)
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)
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)
Mark Pharr, E.: GPU Gems 2C. Addison Wesley, New York (2005)
McCool, M., Toit, S.D.: Metaprogramming GPUs with Sh. A.K. Peters, Natick (2004)
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
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)
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
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)
Sandri, M.: Numerical calculation of lyapunov exponents. Math. J. 6, 78–84 (1996)
Strzodka, R., Rumpf, M.: Nonlinear diffusion in graphics hardware. In: Proceedings of EG/IEEE TCVG Symposium on Visualization, pp. 75–84 (2001)
Turing, A.: The chemical basis of morphogenesis. Phil. Trans. R. Soc. Lond. B237, 37–72 (1952)
Verwer, J., Hundsdorfer, W., Blom, J.: Numerical time integration for air pollutions. Surv. Math. Ind. 10, 107–174 (2002)
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)
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)
Woo, M., Neider, J., Davis, T., Shreiner, D.: OpenGL Programming Guide. Addison Wesley, New York (1999)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by M. Rumpf.
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00791-008-0086-0