Skip to main content
Log in

ginSODA: massive parallel integration of stiff ODE systems on GPUs

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Ordinary differential equations (ODEs) are a widespread formalism for the mathematical modeling of natural and engineering systems, whose analysis is generally performed by means of numerical integration methods. However, real-world models are often characterized by stiffness, a circumstance that can lead to prohibitive execution times. In such cases, the practical viability of many computational tools—e.g., sensitivity analysis—is hampered by the necessity to carry out a large number of simulations. In this work, we present ginSODA, a general-purpose black-box numerical integrator that distributes the calculations on graphics processing units, and allows to run massive numbers of numerical integrations of ODE systems characterized by stiffness. By leveraging symbolic differentiation, meta-programming techniques, and source code hashing, ginSODA automatically builds highly optimized binaries for the CUDA architecture, preventing code re-compilation and allowing to speed up the computation with respect to the sequential execution. ginSODA also provides a simplified Python interface, which allows to define a system of ODEs and the test to be performed in a few lines of code. According to our results, ginSODA provides up to a \(25 \times \) speedup with respect to the sequential execution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Bell N, Hoberock J (2011) Thrust: a productivity-oriented library for CUDA. In: GPU Computing Gems Jade Edition, pp 359–371. Elsevier

  2. Butcher JC (2008) Numerical methods for ordinary differential equations. Wiley, Chichester

    Book  Google Scholar 

  3. Cash JR (2000) Modified extended backward differentiation formulae for the numerical solution of stiff initial value problems in ODEs and DAEs. J Comput Appl Math 125(1–2):117–130

    Article  MathSciNet  Google Scholar 

  4. Cumbo F, Nobile MS, Damiani C, Colombo R, Mauri G, Cazzaniga P (2017) COSYS: a computational infrastructure for systems biology. In: Bracciali A, Caravagna G, Gilbert D, Tagliaferri R (eds) Computational intelligence methods for bioinformatics and biostatistics. Lecture Notes in Bioinformatics, vol 10477. Springer, Berlin, pp 82–92

    Google Scholar 

  5. Curtiss CF, Hirschfelder JO (1952) Integration of stiff equations. Proc Natl Acad Sci 38(3):235–243

    Article  MathSciNet  Google Scholar 

  6. Field RJ, Noyes RM (1974) Oscillations in chemical systems. IV. Limit cycle behavior in a model of a real chemical reaction. J Chem Phys 60(5):1877–1884

    Article  Google Scholar 

  7. Higham DJ, Trefethen LN (1993) Stiffness of ODEs. BIT Numer Math 33(2):285–303

    Article  MathSciNet  Google Scholar 

  8. Joubert W, Archibald R, Berrill M, Brown WM, Eisenbach M, Grout R, Larkin J, Levesque J, Messer B, Norman M (2015) Accelerated application development: the ORNL Titan experience. Comput Electr Eng 46:123–138

    Article  Google Scholar 

  9. Kitano H (2001) Foundations of systems biology. The MIT Press, Cambridge

    Book  Google Scholar 

  10. Kitano H (2002) Computational systems biology. Nature 420(6912):206

    Article  Google Scholar 

  11. Klöckner A, Pinto N, Lee Y, Catanzaro B, Ivanov P, Fasih A (2012) PyCUDA and PyOpenCL: a scripting-based approach to GPU run-time code generation. Parallel Comput 38(3):157–174

    Article  Google Scholar 

  12. Nobile MS, Besozzi D, Cazzaniga P, Mauri G (2014) GPU-accelerated simulations of mass-action kinetics models with cupSODA. J Supercomput 69(1):17–24

    Article  Google Scholar 

  13. Nobile MS, Besozzi D, Cazzaniga P, Mauri G, Pescini D (2013) cupSODA: a CUDA-powered simulator of mass-action kinetics. In: Malyshkin V (ed) Parallel computing technologies. Lecture Notes in Computer Science, vol 7979. Springer, Berlin, pp 344–357

    Google Scholar 

  14. Nobile MS, Cazzaniga P, Besozzi D, Pescini D, Mauri G (2014) cuTauLeaping: A GPU-powered tau-leaping stochastic simulator for massive parallel analyses of biological systems. PLoS ONE 9(3):e91963

    Article  Google Scholar 

  15. Petzold L (1983) Automatic selection of methods for solving stiff and nonstiff systems of ordinary differential equations. SIAM J Sci Stat Comput 4:136–148

    Article  MathSciNet  Google Scholar 

  16. Secure Hash Standard (SHS) (2015) Federal Information Processing Standards Publication. https://csrc.nist.gov/publications/detail/fips/180/4/final

  17. Söderlind G, Jay L, Calvo M (2015) Stiffness 1952–2012: sixty years in search of a definition. BIT Numer Math 55(2):531–558

    Article  MathSciNet  Google Scholar 

  18. Strogatz SH (2018) Nonlinear dynamics and chaos: with applications to physics, biology, chemistry, and engineering. CRC Press, Boca Raton

    Book  Google Scholar 

  19. Tangherloni A, Nobile MS, Besozzi D, Mauri G, Cazzaniga P (2017) LASSIE: simulating large-scale models of biochemical systems on GPUs. BMC Bioinform 18(1):246

    Article  Google Scholar 

  20. Zhabotinsky AM (1991) A history of chemical oscillations and waves. Chaos: an interdisciplinary. J Nonlinear Sci 1(4):379–386

    Google Scholar 

  21. Zhou Y, Liepe J, Sheng X, Stumpf MPH, Barnes C (2011) GPU accelerated biochemical network simulation. Bioinformatics 27(6):874–876

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marco S. Nobile.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

S. Nobile, M., Cazzaniga, P., Besozzi, D. et al. ginSODA: massive parallel integration of stiff ODE systems on GPUs. J Supercomput 75, 7844–7856 (2019). https://doi.org/10.1007/s11227-018-2549-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-018-2549-5

Keywords

Navigation