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

VL - 6

JO - Frontiers in Physiology

JF - Frontiers in Physiology

SN - 1664-042X

IS - FEB

M1 - 42

ER -