TY - JOUR
T1 - Acceleration of discrete stochastic biochemical simulation using GPGPU
AU - Sumiyoshi, Kei
AU - Hirata, Kazuki
AU - Hiroi, Noriko
AU - Funahashi, Akira
N1 - Publisher Copyright:
© 2015 Sumiyoshi, Hirata, Hiroi and Funahashi.
PY - 2015
Y1 - 2015
N2 - For systems made up of a small number of molecules, such as a biochemical network in a single cell, a simulation requires a stochastic approach, instead of a deterministic approach. The stochastic simulation algorithm (SSA) simulates the stochastic behavior of a spatially homogeneous system. Since stochastic approaches produce different results each time they are used, multiple runs are required in order to obtain statistical results; this results in a large computational cost. We have implemented a parallel method for using SSA to simulate a stochastic model; the method uses a graphics processing unit (GPU), which enables multiple realizations at the same time, and thus reduces the computational time and cost. During the simulation, for the purpose of analysis, each time course is recorded at each time step. A straightforward implementation of this method on a GPU is about 16 times faster than a sequential simulation on a CPU with hybrid parallelization; each of the multiple simulations is run simultaneously, and the computational tasks within each simulation are parallelized. We also implemented an improvement to the memory access and reduced the memory footprint, in order to optimize the computations on the GPU. We also implemented an asynchronous data transfer scheme to accelerate the time course recording function. To analyze the acceleration of our implementation on various sizes of model, we performed SSA simulations on different model sizes and compared these computation times to those for sequential simulations with a CPU. When used with the improved time course recording function, our method was shown to accelerate the SSA simulation by a factor of up to 130.
AB - For systems made up of a small number of molecules, such as a biochemical network in a single cell, a simulation requires a stochastic approach, instead of a deterministic approach. The stochastic simulation algorithm (SSA) simulates the stochastic behavior of a spatially homogeneous system. Since stochastic approaches produce different results each time they are used, multiple runs are required in order to obtain statistical results; this results in a large computational cost. We have implemented a parallel method for using SSA to simulate a stochastic model; the method uses a graphics processing unit (GPU), which enables multiple realizations at the same time, and thus reduces the computational time and cost. During the simulation, for the purpose of analysis, each time course is recorded at each time step. A straightforward implementation of this method on a GPU is about 16 times faster than a sequential simulation on a CPU with hybrid parallelization; each of the multiple simulations is run simultaneously, and the computational tasks within each simulation are parallelized. We also implemented an improvement to the memory access and reduced the memory footprint, in order to optimize the computations on the GPU. We also implemented an asynchronous data transfer scheme to accelerate the time course recording function. To analyze the acceleration of our implementation on various sizes of model, we performed SSA simulations on different model sizes and compared these computation times to those for sequential simulations with a CPU. When used with the improved time course recording function, our method was shown to accelerate the SSA simulation by a factor of up to 130.
KW - CUDA
KW - Direct method
KW - GPGPU
KW - Parallel processing
KW - SBML
KW - Stochastic simulation algorithm
UR - http://www.scopus.com/inward/record.url?scp=84926473565&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84926473565&partnerID=8YFLogxK
U2 - 10.3389/fphys.2015.00042
DO - 10.3389/fphys.2015.00042
M3 - Article
AN - SCOPUS:84926473565
SN - 1664-042X
VL - 6
JO - Frontiers in Physiology
JF - Frontiers in Physiology
IS - FEB
M1 - 42
ER -