• DocumentCode
    79425
  • Title

    Accelerating ODE-Based Simulation of General and Heterogeneous Biophysical Models Using a GPU

  • Author

    Okuyama, T. ; Okita, Masao ; Abe, Takashi ; Asai, Yusuke ; Kitano, Hrioaki ; Nomura, Tadahiro ; Hagihara, Kohei

  • Author_Institution
    Dept. of Comput. Sci., Osaka Univ., Suita, Japan
  • Volume
    25
  • Issue
    8
  • fYear
    2014
  • fDate
    Aug. 2014
  • Firstpage
    1966
  • Lastpage
    1975
  • Abstract
    Flint is a simulator that numerically integrates heterogeneous biophysical models described by a large set of ordinary differential equations. It uses an internal bytecode representation of simulation-related expressions to handle various biophysical models built for general purposes. We propose two acceleration methods for Flint using a graphics processing unit (GPU). The first method interprets multiple bytecodes in parallel on the GPU. It automatically parallelizes the simulation using a level scheduling algorithm. We implement an interpreter of the Flint bytecode that is suited for running on the GPU, which reduces both the number of memory accesses and divergent branches to achieve higher performance. The second method translates a model into a source code for both the CPU and the GPU through the internal bytecode, which speeds up the compilation of the generated source codes, because the code size is diminished because of bytecode unification. With large models such that tens of thousands or more expressions can be evaluated simultaneously, the translated code running on the GPU achieves computational performance of up to 2.7 higher than that running on a CPU. Otherwise, with small models, the CPU is faster than the GPU. Therefore, the translated code dynamically determines on which to run either the CPU or the GPU by profiling initial few iterations of the simulation.
  • Keywords
    biology computing; differential equations; graphics processing units; parallel processing; scheduling; Flint; GPU; ODE-based simulation; biophysical models; bytecode unification; graphics processing unit; internal bytecode representation; level scheduling algorithm; ordinary differential equations; simulation-related expressions; source code compilation; Biological system modeling; Computational modeling; Graphics processing units; Instruction sets; Mathematical model; Numerical models; Physiology; CUDA; GPGPU; Parallel simulation; code generation; initial value problems; interpreters; systems biology;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2013.198
  • Filename
    6577372