This Article 
 Bibliographic References 
 Add to: 
Smoldyn on Graphics Processing Units: Massively Parallel Brownian Dynamics Simulations
May-June 2012 (vol. 9 no. 3)
pp. 655-667
L. Dematte, Center for Comput. & Syst. Biol., Microsoft Res.-Univ. of Trento, Trento, Italy
Space is a very important aspect in the simulation of biochemical systems; recently, the need for simulation algorithms able to cope with space is becoming more and more compelling. Complex and detailed models of biochemical systems need to deal with the movement of single molecules and particles, taking into consideration localized fluctuations, transportation phenomena, and diffusion. A common drawback of spatial models lies in their complexity: models can become very large, and their simulation could be time consuming, especially if we want to capture the systems behavior in a reliable way using stochastic methods in conjunction with a high spatial resolution. In order to deliver the promise done by systems biology to be able to understand a system as whole, we need to scale up the size of models we are able to simulate, moving from sequential to parallel simulation algorithms. In this paper, we analyze Smoldyn, a widely diffused algorithm for stochastic simulation of chemical reactions with spatial resolution and single molecule detail, and we propose an alternative, innovative implementation that exploits the parallelism of Graphics Processing Units (GPUs). The implementation executes the most computational demanding steps (computation of diffusion, unimolecular, and bimolecular reaction, as well as the most common cases of molecule-surface interaction) on the GPU, computing them in parallel on each molecule of the system. The implementation offers good speed-ups and real time, high quality graphics output.

[1] D. Fusco, N. Accornero, B. Lavoie, S. Shenoy, J. Blanchard, R. Singer, and E. Bertrand, "Single Mrna Molecules Demonstrate Probabilistic Movement in Living Mammallian Cells," Current Biology, vol. 13, pp. 161-167, 2003.
[2] P. Takizawa, A. Sil, J. Swedlow, I. Herskowitz, and R.V. RD, "Actin-Dependent Localization of an RNA Encoding a Cell-Fate Determinant in Yeast," Nature, vol. 389, no. 6646, pp. 90-93, 1997.
[3] W. Driever and C. Nüsslein-Volhard, "A Gradient of Bicoid Protein in Drosophila Embryos," Cell, vol. 54, no. 1, pp. 83-93, July 1988.
[4] T. Shimizu, S.V. Aksenov, and D. Bray, "A Spatially Extended Stochastic Model of the Bacterial Chemotaxis Signalling Pathway," J. Molecular Biology, vol. 329, pp. 291-309, 2003.
[5] E.R. Kandel, "The Molecular Biology of Memory Storage: A Dialogue between Genes and Synapses," Science, vol. 294, pp. 1030-1038, 2001.
[6] A. Csikász-Nagy, B. Gyorffy, W. Alt, J. Tyson, and B. Novák, "Spatial Controls for Growth Zone Formation during the Fission Yeast Cell Cycle," Yeast, vol. 25, no. 1, pp. 59-69, Jan. 2008.
[7] D. Gillespie, "Exact Stochastic Simulation of Coupled Chemical Reactions," J. Physical Chemistry, vol. 81, no. 25, pp. 2340-2361, Dec. 1977.
[8] P. Lecca, L. Dematté, and C. Priami, "Modeling and Simulating Reaction-Diffusion Systems with State-Dependent Diffusion Coefficients," Proc. Int'l Conf. Bioinformatics and Biomedicine, vol. 35, 2008.
[9] P. Lecca and L. Dematté, "Stochastic Simulation of Reaction-Diffusion Systems," Int. J. Medical and Biological Eng., vol. 1, no. 4, pp. 211-231, Dec. 2008.
[10] J. Elf and M. Ehrenberg, "Spontaneous Separation of Bi-Stable Biochemical Systems into Spatial Domains of Opposite Phases," Proc. IEE Systems Biology, vol. 1, no. 2, pp. 230-236, Dec. 2004.
[11] L. Dematté and T. Mazza, "On Parallel Stochastic Simulation of Diffusive Systems," Proc. Sixth Int'l Conf. Computational Methods in Systems Biology (CMSB '08), vol. 5307, pp. 191-210, 2008.
[12] K. Takahashi, S. Arjunan, and M. Tomita, "Space in Systems Biology of Signaling Pathways—Towards Intracellular Molecular Crowding in Silico," FEBS Letters, vol. 579, no. 8, pp. 1783-1788, 2005.
[13] A. Fick, "Über Diffusion," Poggendorff's Annalen der Physik und Chemie, vol. 94, pp. 59-86, 1855.
[14] M. von Smoluchowski, "Versuch Einer Mathematischen Theorie Der Koagulationskinetik Kolloider Lösungen," J. Physical Chemistry, vol. 92, pp. 129-168, 1917.
[15] K. Lipkow and D.J. Odde, "Model for Protein Concentration Gradients in the Cytoplasm," Cellular and Moleculer Bioeng., vol. 1, pp. 84-92, 2008.
[16] K. Lipkow, "Changing Cellular Location of CheZ Predicted by Molecular Simulations," PLoS Computational Biology, vol. 2, pp. 0301-0310, 2006.
[17] S.S. Andrews, "Serial Rebinding of Ligands to Clustered Receptors as Exemplified by Bacterial Chemotaxis," Physical Biology, vol. 2, pp. 111-122, 2005.
[18] K. Lipkow, S.S. Andrews, and D. Bray, "Simulated Diffusion of Phosphorylated CheY through the Cytoplasm of Escherichia Coli," J. Bacteriology, vol. 187, pp. 45-53, 2005.
[19] S.S. Andrews and D. Bray, "Stochastic Simulation of Chemical Reactions with Spatial Resolution and Single Molecule Detail," Physical Biology, vol. 1, nos. 3-4, pp. 137-151, 2004.
[20] H. Sutter and J. Larus, "Software and the Concurrency Revolution," Queue, vol. 3, no. 7, pp. 54-62, 2005.
[21] E. Lindholm, J. Nickolls, S. Oberman, and J. Montrym, "Nvidia Tesla: A Unified Graphics and Computing Architecture," IEEE Micro, vol. 28, no. 2, pp. 39-55, Mar./Apr. 2008.
[22] J. Nickolls, I. Buck, and M. Garland, "Scalable Parallel Programming with Cuda," Queue—GPU Computing , vol. 6, no. 2, pp. 40-53, 2008.
[23] D. Prandi and L. Dematté, "Gpu Computing for Systems Biology," Briefings in Bioinformatics, vol. 11, no. 3, pp. 323-333, 2010.
[24] S. Andrews, N. Addy, R. Brent, and A. Arkin, "Detailed Simulations of Cell Biology with Smoldyn 2.1," PLoS Computational Biology, vol. 6, no. 3, pp. e1000705, 2010.
[25] L. Dematté, "Parallel Particle-Based Reaction Diffusion: A gpu Implementation," Proc. Ninth Int'l Workshop Parallel and Distributed Methods in Verification, and Second Int'l Workshop High Performance Computational Systems Biology (PDMC-HIBI '10), 2010.
[26] S.L. Grand, "Broad-Phase Collision Detection with Cuda," GPU Gems 3, H. Nguyen, ed., ch. 32, Addison-Wesley, 2007.
[27] S. Green, "Cuda Particles," NVIDIA Whitepaper, 2008.
[28] M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator," ACM Trans. Modeling and Computer Simulation, vol. 8, no. 1, pp. 3-30, 1998.
[29] V. Podlozhnyuk, "Parallel Mersenne Twister," NVIDIA Whitepaper, 2007.
[30] G.E.P. Box and M.E. Muller, "A Note on the Generation of Random Normal Deviates," Annals of Math. Statistics, vol. 29, no. 2, pp. 610-611, 1958.
[31] S.S. Andrews, "Accurate Particle-Based Simulation of Adsorption, Desorption, and Partial Transmission," Physical Biology, vol. 6, no. 4, p. 046015, 2009.
[32] N. Bell, Y. Yu, and P.J. Mucha, "Particle-Based Simulation of Granular Materials," Proc. ACM SIGGRAPH/Eurographics Symp. Computer Animation, p. 7786, 2005.
[33] S.S. Andrews, "Accurate Particle-Based Simulation of Adsorption, Desorption, and Partial Transmission," Physical Biology, vol. 6, no. 4 p. 046015, 2009.
[34] S. Sengupta, M. Harris, Y. Zhang, and J.D. Owens, "Scan Primitives for GPU Computing," GH '07: Proc. 22nd ACM SIGGRAPH/EUROGRAPHICS Symp. Graphics Hardware, pp. 97-106. 2007,
[35] J.E. Stone, J.C. Phillips, P.L. Freddolino, D.J. Hardy, L.G. Trabuco, and K. Schulten, "Accelerating Molecular Modeling Applications with Graphics Processors," J. Computational Chemistry, vol. 16, pp. 2618-2640, 2007.
[36] W. Liu, B. Schmidt, G. Vossa, and W. Müller-Wittiga, "Accelerating Molecular Dynamics Simulations Using Graphics Processing Units with Cuda," Computer Physics Comm., vol. 179, no. 9, pp. 634-641, Nov. 2008.
[37] J.A. Anderson and A. Travesset, "Molecular Dynamics on Graphic Processing Units: Hoomd to the Rescue," Computing in Science and Eng., vol. 10, no. 6, pp. 6-10, 2008.
[38] K. Takahashi, "An Exact Brownian Dynamics Method for Cell Simulation," Proc. Sixth Int'l Conf. Computational Methods in Systems Biology (CMSB '08), vol. 5307, pp. 5-6, 2008.
[39] J.S. van Zon and P.R. Ten Wolde, "Green's-Function Reaction Dynamics: A Particle-Based Approach for Simulating Biochemical Networks in Time and Space," J. Chemical Physics, vol. 123, no. 23, p. 234910, Dec. 2005.
[40] M. Januszewski and M. Kostur, "Accelerating Numerical Solution of Stochastic Differential Equations with Cuda," Computer Physics Comm., vol. 181, pp. 183-188, 2010.
[41] M.J. Harris, G. Coombe, T. Scheuermann, and A. Lastra, "Physically-Based Visual Simulation on Graphics Hardware," Proc. ACM SIGGRAPH/EUROGRAPHICS Conf. Graphics Hardware (HWWS '02), pp. 109-118, 2002.
[42] E. Roberts, J.E. Stone, L. Sepulveda, W.-M.W. Hwu, and Z. Luthey-Schulten, "Long Time-Scale Simulations of in Vivo Diffusion Using GPU Hardware," Proc. IEEE Int'l Symp. Parallel and Distributed Processing, pp. 1-8. 2009,
[43] S. Rybacki, J. Himmelspach, and A.M. Uhrmacher, "Experiments with Single Core, Multi-Core, and GPU Based Computation of Cellular Automata," Proc. First Int'l Conf. Advances in System Simulation (SIMUL '09), pp. 62-67, 2009.
[44] H. Li and L. Petzold, "Efficient Parallelization of the Stochastic Simulation Algorithm for Chemically Reacting Systems on the Graphics Processing Unit," Int'l J. High Performance Computing Applications, vol. 24, no. 2, pp. 107-116, 2010.
[45] C. Dittamo and D. Cangelosi, "Optimized Parallel Implementation of Gillespie's First Reaction Method on Graphics Processing Units," Proc. Int'l Conf. Computer Modeling and Simulation (ICMMS '09), pp. 156-161, 2009.
[46] S. Scarl, "Implications of the Turing Completeness of Reaction-Diffusion Models, Informed by Gpgpu Simulations on An Xbox 360: Cardiac Arrhythmias, Re-Entry and the Halting Problem," Computational Biology and Chemistry, vol. 33, no. 4, pp. 253-260, Aug. 2009.
[47] E. Merelli, G. Armano, N. Cannata, F. Corradini, M. d'Inverno, A. Doms, P. Lord, A. Martin, L. Milanesi, S. Möller, M. Schroeder, and M. Luck, "Agents in Bioinformatics, Computational and Systems Biology," Proc. Briefings in Bioinformatics, pp. 45-59, 2007.
[48] R.D. Chiara, U. Erra, and V. Scarano, "Massive Simulation Using gpu of a Distributed Behavioral Model of a Flock with Obstacle Avoidance," Proc. Vision, Modeling, and Visualization Conf., pp. 233-240, 2004.
[49] K.S. Perumalla and B.G. Aaby, "Data Parallel Execution Challenges and Runtime Performance of Agent Simulations on Gpus," Proc. Spring Simulation Multiconf. (SpringSim '08) pp. 116-123, 2008.
[50] P. Richmond, D. Walker, S. Coakley, and D.M. Romano, "High Performance Cellular Level Agent-Based Simulation with Flame for the Gpu," Briefings in Bioinformatics, vol. 11, no. 3, pp. 334-347, 2010.
[51] R.M. D'Souza, S. Marino, and D. Kirschner, "Data-Parallel Algorithms for Agent-Based Model Simulation of Tuberculosis on Graphics Processing Units," Proc. Spring Simulation Multiconf. (SpringSim '09), 2009.

Index Terms:
stochastic processes,biochemistry,biodiffusion,Brownian motion,chemical reactions,fluctuations,graphics processing units,physiological models,computational demanding steps,Smoldyn,graphics processing units,massively parallel Brownian dynamics simulation,biochemical systems,single molecule movement,localized fluctuations,diffusion,spatial models,stochastic methods,high spatial resolution,parallel simulation algorithms,stochastic simulation,chemical reactions,GPU,Graphics processing unit,Biological system modeling,Computational modeling,Solid modeling,Adaptation models,Stochastic processes,Surface treatment,GPU.,Parallel,reaction-diffusion,particles,Brownian Dynamics
L. Dematte, "Smoldyn on Graphics Processing Units: Massively Parallel Brownian Dynamics Simulations," IEEE/ACM Transactions on Computational Biology and Bioinformatics, vol. 9, no. 3, pp. 655-667, May-June 2012, doi:10.1109/TCBB.2011.106
Usage of this product signifies your acceptance of the Terms of Use.