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× speedup with respect to the sequential execution

Nobile, M., Cazzaniga, P., Besozzi, D., Mauri, G. (2019). ginSODA: massive parallel integration of stiff ODE systems on GPUs. THE JOURNAL OF SUPERCOMPUTING, 75(12), 7844-7856 [10.1007/s11227-018-2549-5].

ginSODA: massive parallel integration of stiff ODE systems on GPUs

Nobile, MS
Primo
;
Cazzaniga, P
Secondo
;
Besozzi, D
Penultimo
;
Mauri, G
Ultimo
2019

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× speedup with respect to the sequential execution
Articolo in rivista - Articolo scientifico
High-performance computing; Ordinary differential equations; Modeling and simulation; GPU computing; CUDA; Python
English
24-ago-2018
2019
75
12
7844
7856
none
Nobile, M., Cazzaniga, P., Besozzi, D., Mauri, G. (2019). ginSODA: massive parallel integration of stiff ODE systems on GPUs. THE JOURNAL OF SUPERCOMPUTING, 75(12), 7844-7856 [10.1007/s11227-018-2549-5].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/211807
Citazioni
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 3
Social impact