Simulation of Reaction-Diffusion Processes in Three Dimensions Using CUDA

F. Molnár Jr. 1, F. Izsák 2, R. Mészáros 3, I. Lagzi 4

1Department of Thepretical Physics, Eötvös Loránd University, Budapest, Hungary
2Department of Applied Analysis and Computational Mathematics, Eötvös Loránd University, Budapest, Hungary
3Department of Meteorology, Eötvös Loránd University, P.O. Box 32, H-1518 Budapest, Hungary
4Department of Chemical and Biological Engineering, Northwestern University, Evanston, Illinois, USA

Abstract

Numerical solution of reaction-diffusion equations in three dimensions is one of the most challenging applied mathematical problems. Since these simulations are very time consuming, any ideas and strategies aiming at the reduction of CPU time are important topics of research. A general and robust idea is the parallelization of source codes/programs. Recently, the technological development of graphics hardware created a possibility to use desktop video cards to solve numerically intensive problems. We present a powerful parallel computing framework to solve reaction-diffusion equations numerically using the Graphics Processing Units (GPUs) with CUDA. Four different reaction-diffusion problems, (i) diffusion of chemically inert compound, (ii) Turing pattern formation, (iii) phase separation in the wake of a moving diffusion front and (iv) air pollution dispersion were solved, and additionally both the Shared method and the Moving Tiles method were tested. Our results show that parallel implementation achieves typical acceleration values in the order of 5-40 times compared to CPU using a single-threaded implementation on a 2.8 GHz desktop computer.

Keywords

Video card; Parallel computing; CUDA; Reaction-diffusion; Pattern formation

Paper

This paper has been published in Chemometrics and Intelligent Laboratory Systems.
DOI: 10.1016/j.chemolab.2011.03.009.

Downloads

Diffusion simulation using "Shared" method
Copyright (C) 2009 Ferenc Molnar, Jr.; Ferenc Izsak; Robert Meszaros; Istvan Lagzi

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
GNU GPL License

Download source code (diffusion_Shared.zip)

Diffusion simulation using "Moving Tiles" method
Copyright (C) 2009 Ferenc Molnar, Jr.; Ferenc Izsak; Robert Meszaros; Istvan Lagzi

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
GNU GPL License

Download source code (diffusion_MovingTiles.zip)

Contacts

Ferenc Molnár Jr.: mofi@elte.hu
Ferenc Izsák: izsakf@cs.elte.hu
Róbert Mészáros: mrobi@nimbus.elte.hu
István László Lagzi: lagzi@vuk.chem.elte.hu