Optimized CUDA-Based PDE Solver for Reaction Diffusion Systems on Arbitrary Surfaces
Partial differential equation (PDE) solvers are commonly employed to study and characterize the parameter space for reaction-diffusion (RD) systems while investigating biological pattern formation. Increasingly, biologists wish to perform such studies with arbitrary surfaces representing ‘real’ 3D geometries for better insights. In this paper, we present a highly optimized CUDA-based solver for RD equations on triangulated meshes in 3D. We demonstrate our solver using a chemotactic model that can be used to study snakeskin pigmentation, for example. We employ a finite element based approach to perform explicit Euler time integrations. We compare our approach to a naive GPU implementation and provide an in-depth performance analysis, demonstrating the significant speedup afforded by our optimizations. The optimization strategies that we exploit could be generalized to other mesh based processing applications with PDE simulations.
KeywordsCUDA GPU programming Reaction-diffusion systems Nonlinear PDEs FEM Explicit time-stepping
- 4.Brandvik, T., Pullan, G.: Sblock: a framework for efficient stencil-based pde solvers on multi-core platforms. In: Proceedings of the 2010 10th IEEE International Conference on Computer and Information Technology, CIT 2010, pp. 1181–1188. IEEE Computer Society, Washington, DC (2010)Google Scholar
- 5.DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., Duraisamy, K., Darve, E., Alonso, J., Hanrahan, P.: Liszt: A domain specific language for building portable mesh-based pde solvers. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2011, pp. 9: 1–9: 12. ACM, New York (2011)Google Scholar
- 7.Karypis, G.: Metis - serial graph partitioning and fill-reducing matrixordering, March 2013. http://glaros.dtc.umn.edu/gkhome/metis/metis/overview