cupSODA: A CUDA-Powered Simulator of Mass-Action Kinetics

  • Marco S. Nobile
  • Daniela Besozzi
  • Paolo Cazzaniga
  • Giancarlo Mauri
  • Dario Pescini
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7979)


The computational investigation of a biological system often requires the execution of a large number of simulations to analyze its dynamics, and to derive useful knowledge on its behavior under physiological and perturbed conditions. This analysis usually turns out into very high computational costs when simulations are run on central processing units (CPUs), therefore demanding a shift to the use of high-performance processors. In this work we present a simulator of biological systems, called cupSODA, which exploits the higher memory bandwidth and computational capability of graphics processing units (GPUs). This software allows to execute parallel simulations of the dynamics of biological systems, by first deriving a set of ordinary differential equations from reaction-based mechanistic models defined according to the mass-action kinetics, and then exploiting the numerical integration algorithm LSODA. We show that cupSODA can achieve a 112 × speedup on GPUs with respect to equivalent executions of LSODA on CPUs.


Shared Memory Global Memory Single Instruction Multiple Data Memory Hierarchy Parallel Simulation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aldridge, B., Burke, J., Lauffenburger, D., Sorger, P.: Physicochemical modelling of cell signalling pathways. Nature Cell Biology 8, 1195–1203 (2006)CrossRefGoogle Scholar
  2. 2.
    Chou, I., Voit, E.: Recent developments in parameter estimation and structure identification of biochemical and genomic systems. Mathematical Biosciences 219(2), 57–83 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Besozzi, D., Cazzaniga, P., Pescini, D., Mauri, G., Colombo, S., Martegani, E.: The role of feedback control mechanisms on the establishment of oscillatory regimes in the Ras/cAMP/PKA pathway in S. cerevisiae. EURASIP Journal on Bioinformatics and Systems Biology 2012(10) (2012)Google Scholar
  4. 4.
    Saltelli, A., Ratto, M., Andres, T., Campolongo, F., Cariboni, J., Gatelli, D., Saisana, M., Tarantola, S.: Global Sensitivity Analysis: The Primer. Wiley-Interscience (2008)Google Scholar
  5. 5.
    Raue, A., Kreutz, C., Maiwald, T., Bachmann, J., Schilling, M., Klingmüller, U., Timmer, J.: Structural and practical identifiability analysis of partially observed dynamical models by exploiting the profile likelihood. Bioinformatics 25(15), 1923–1929 (2009)CrossRefGoogle Scholar
  6. 6.
    Dräger, A., Kronfeld, M., Ziller, M.J., Supper, J., Planatscher, H., Magnus, J.B., Oldiges, M., Kohlbacher, O., Zell, A.: Modeling metabolic networks in C. glutamicum: a comparison of rate laws in combination with various parameter optimization strategies. BMC Systems Biology 3(5) (2009)Google Scholar
  7. 7.
    Besozzi, D., Cazzaniga, P., Mauri, G., Pescini, D., Vanneschi, L.: A comparison of genetic algorithms and particle swarm optimization for parameter estimation in stochastic biochemical systems. In: Pizzuti, C., Ritchie, M.D., Giacobini, M. (eds.) EvoBIO 2009. LNCS, vol. 5483, pp. 116–127. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Nobile, M.S., Besozzi, D., Cazzaniga, P., Mauri, G., Pescini, D.: A GPU-based multi-swarm PSO method for parameter estimation in stochastic biological systems exploiting discrete-time target series. In: Giacobini, M., Vanneschi, L., Bush, W.S. (eds.) EvoBIO 2012. LNCS, vol. 7246, pp. 74–85. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Nobile, M.S., Cazzaniga, P., Besozzi, D., Pescini, D., Mauri, G.: Reverse engineering of kinetic reaction networks by means of cartesian genetic programming and particle swarm optimization. In: Proceedings of IEEE Congress on Evolutionary Computation (CEC 2013) (In press, 2013)Google Scholar
  10. 10.
    Kentzoglanakis, K., Poole, M.: A swarm intelligence framework for reconstructing gene networks: Searching for biologically plausible architectures. IEEE/ACM Transactions on Computational Biology and Bioinformatics 9(2), 358–371 (2012)CrossRefGoogle Scholar
  11. 11.
    Koza, J.R., Mydlowec, W., Lanza, G., Yu, J., Keane, M.A.: Automatic computational discovery of chemical reaction networks using genetic programming. In: Džeroski, S., Todorovski, L. (eds.) Computational Discovery 2007. LNCS (LNAI), vol. 4660, pp. 205–227. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Ando, S., Sakamoto, E., Iba, H.: Evolutionary modeling and inference of gene network. Information Sciences 145(3-4), 237–259 (2002)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Butcher, J.C.: Numerical Methods for Ordinary Differential Equations. John Wiley & Sons (2003)Google Scholar
  14. 14.
    Gillespie, D.T.: Stochastic simulation of chemical kinetics. Annual Review of Physical Chemistry 58, 35–55 (2007)CrossRefGoogle Scholar
  15. 15.
    Petzold, L.: Automatic selection of methods for solving stiff and nonstiff systems of ordinary differential equations. SIAM Journal of Scientific and Statistical Computing 4(1), 136–148 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Demattè, L., Prandi, D.: GPU computing for systems biology. Briefings in Bioinformatics 11(3), 323–333 (2010)CrossRefGoogle Scholar
  17. 17.
    Payne, J., Sinnott-Armstrong, N., Moore, J.: Exploiting graphics processing units for computational biology and bioinformatics. Interdisciplinary Sciences, Computational Life Sciences 2(3), 213–220 (2010)CrossRefGoogle Scholar
  18. 18.
    Harvey, M.J., De Fabritiis, G.: A survey of computational molecular science using graphics processing units. Wiley Interdisciplinary Reviews: Computational Molecular Science 2(5), 734–742 (2012)CrossRefGoogle Scholar
  19. 19.
    Zhou, Y., Liepe, J., Sheng, X., Stumpf, M.P.H., Barnes, C.: GPU accelerated biochemical network simulation. Bioinformatics 27(6), 874–876 (2011)CrossRefGoogle Scholar
  20. 20.
    Vigelius, M., Lane, A., Meyer, B.: Accelerating reaction-diffusion simulations with general-purpose graphics processing units. Bioinformatics 27(2), 288–290 (2011)CrossRefGoogle Scholar
  21. 21.
    Farber, R.: Topical perspective on massive threading and parallelism. Journal of Molecular Graphics and Modelling 30, 82–89 (2011)CrossRefGoogle Scholar
  22. 22.
    Nvidia: CUDA C Programming Guide v5.0 (2012)Google Scholar
  23. 23.
    Wolkenhauer, O., Ullah, M., Kolch, W., Kwang-Hyun, C.: Modeling and simulation of intracellular dynamics: choosing an appropriate framework. IEEE Transactions on Nanobiosciences 3(3), 200–207 (2004)CrossRefGoogle Scholar
  24. 24.
    Nvidia: CUDA C Best Practices Guide (2012)Google Scholar
  25. 25.
    Hoops, S., Sahle, S., Gauges, R., Lee, C., Pahle, J., Simus, N., Singhal, M., Xu, L., Mendes, P., Kummer, U.: COPASI - a COmplex PAthway SImulator. Bioinformatics 22(24), 3067–3074 (2006)CrossRefGoogle Scholar
  26. 26.
    Nelson, D., Cox, M.: Lehninger Principles of Biochemistry. W. H. Freeman Company (2004)Google Scholar
  27. 27.
    Wang, Y., Christley, S., Mjolsness, E., Xie, X.: Parameter inference for discretely observed stochastic kinetic models using stochastic gradient descent. BMC Systems Biology 4(1) (2010)Google Scholar
  28. 28.
    Cazzaniga, P., Pescini, D., Besozzi, D., Mauri, G., Colombo, S., Martegani, E.: Modeling and stochastic simulation of the Ras/cAMP/PKA pathway in the yeast Saccharomyces cerevisiae evidences a key regulatory function for intracellular guanine nucleotides pools. Journal of Biotechnology 133(3), 377–385 (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Marco S. Nobile
    • 1
  • Daniela Besozzi
    • 2
    • 5
  • Paolo Cazzaniga
    • 3
    • 5
  • Giancarlo Mauri
    • 1
  • Dario Pescini
    • 4
  1. 1.Dipartimento di Informatica, Sistemistica e ComunicazioneUniversità degli Studi di Milano-BicoccaMilanoItaly
  2. 2.Dipartimento di InformaticaUniversità degli Studi di MilanoMilanoItaly
  3. 3.Dipartimento di Scienze Umane e SocialiUniversità degli Studi di BergamoBergamoItaly
  4. 4.Dipartimento di Statistica e Metodi QuantitativiUniversità degli Studi di Milano-BicoccaMilanoItaly
  5. 5.Consiglio Nazionale delle RicercheIstituto di Analisi dei Sistemi ed Informatica “Antonio Ruberti”RomaItaly

Personalised recommendations