title: Smoldyn on graphics processing units: massively parallel Brownian dynamics simulations.
abstract: 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
authors.affiliation: Center for Computational and Systems Biology, Microsoft Research-University of Trento, Vicolo del Capitolo 3, Trento 38122, Italy. dematte@ieee.org
authors.forename: Lorenzo
authors.initials: L
authors.lastname: Dematté
mesh_terms: D000465:Algorithms; D003196:Computer Graphics; D003198:Computer Simulation; D004058:Diffusion; D056004:Molecular Dynamics Simulation; D049490:Systems Biology / Q000379:methods*