Abstract
Stochastic differential equations (SDEs) are widely used to model systems affected by random processes. In general, the analysis of an SDE model requires numerical solutions to be generated many times over multiple parameter combinations. However, this process often requires considerable computational resources to be practicable. Due to the embarrassingly parallel nature of the task, devices such as multi-core processors and graphics processing units (GPUs) can be employed for acceleration.
Here, we present SODECL (https://github.com/avramidis/sodecl), a software library that utilizes such devices to calculate multiple orbits of an SDE model. To evaluate the acceleration provided by SODECL, we compared the time required to calculate multiple orbits of an exemplar stochastic model when one CPU core is used, to the time required when using all CPU cores or a GPU. In addition, to assess scalability, we investigated how model size affected execution time on different parallel compute devices.
Our results show that when using all 32 CPU cores of a high-end high-performance computing node, the task is accelerated by a factor of up to ≈6.7, compared to when using a single CPU core. Executing the task on a high-end GPU yielded accelerations of up to ≈4.5, compared to a single CPU core.
- Juan A. Acebrón, Luis L. Bonilla, Conrad J. Pérez Vicente, Félix Ritort, and Renato Spigler. 2005. The Kuramoto model: A simple paradigm for synchronization phenomena. Rev. Mod. Phys. 77, 1 (2005), 137Google ScholarCross Ref
- Richard Adams, Allan Clark, Azusa Yamaguchi, Neil Hanlon, Nikos Tsorman, Shakir Ali, Galina Lebedeva, Alexey Goltsov, Anatoly Sorokin, Ozgur E. Akman, Carl Troein, Andrew J. Millar, Igor Goryanin, and Stephen Gilmore. 2013. SBSI: An extensible distributed software infrastructure for parameter estimation in systems biology. Bioinformatics 29, 5 (2013), 664--665.Google ScholarDigital Library
- Ozgur E. Akman, James C. W. Locke, Sanyi Tang, Isabelle Carré, Andrew J. Millar, and David A. Rand. 2008. Isoform switching facilitates period control in the Neurospora crassa circadian clock. Mol. Syst. Biol. 4 (2008), 164.Google ScholarCross Ref
- Ozgur E. Akman, David A. Rand, Paul E. Brown, and Andrew J. Millar. 2010. Robustness from flexibility in the fungal circadian clock. BMC Syst. Biol. 4, 1 (2010), 88.Google ScholarCross Ref
- Ozgur E. Akman, Steven Watterson, Andrew Parton, Nigel Binns, Andrew J. Millar, and Peter Ghazal. 2012. Digital clocks: Simple Boolean models can quantitatively describe circadian systems. J. Roy. Soc. Interface 9, 74 (2012), 2365--2382.Google ScholarCross Ref
- Edward J. Allen, Linda J. S. Allen, Armando Arciniega, and Priscilla E. Greenwood. 2008. Construction of equivalent stochastic differential equation models. Stoch. Anal. Appl. 26, 2 (2008), 274--297.Google ScholarCross Ref
- Maksat Ashyraliyev, Yves Fomekong-Nanfack, Jaap A. Kaandorp, and Joke G. Blom. 2009. Systems biology: Parameter estimation for biochemical models. FEBS J. 276, 4 (2009), 886--902.Google ScholarCross Ref
- Eleftherios Avramidis. 2015. Optimisation and Computational Methods to Model the Oculomotor System with Focus on Nystagmus. Ph.D. Dissertation. University of Exeter.Google Scholar
- Eleftherios Avramidis and Ozgur E. Akman. 2017. Optimisation of an exemplar oculomotor model using multi-objective genetic algorithms executed on a GPU-CPU combination. BMC Syst. Biol. 11 (2017), 1.Google ScholarCross Ref
- Christian Bick, Marc Timme, Danilo Paulikat, Dirk Rathlev, and Peter Ashwin. 2011. Chaos in symmetric phase oscillator networks. Phys. Rev. Lett. 107, 24 (2011), 244101.Google ScholarCross Ref
- G. E. P. Box and Mervin E. Muller. 1958. A note on the generation of random normal deviates. Ann. Math. Statist. 29, 2 (1958), 610--611.Google ScholarCross Ref
- Gunnar Cedersund and Jacob Roll. 2009. Systems biology: Model based evaluation and comparison of potential explanations for given biological data. FEBS J. 276, 4 (2009), 903--922.Google ScholarCross Ref
- Gunnar Cedersund, Oscar Samuelsson, Gordon Ball, Jesper Tegnér, and David Gomez-Cabrero. 2016. Optimization in biology parameter estimation and the associated optimization problem. In Uncertainty in Biology: A Computational Modeling Approach, Liesbert Geris and David Gomez-Cabrero (Eds.). Cham: Springer, 177--197.Google Scholar
- Kathleen E. Cullen, Claudio G. Rey, Daniel Guitton, and Henrietta L. Galiana. 1996. The use of system identification techniques in the analysis of oculomotor burst neuron spike train dynamics. J. Comput. Neurosci. 3, 4 (1996), 347--368.Google ScholarCross Ref
- Leonardo Dagum and Ramesh Menon. 1998. OpenMP: An industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5, 1 (1998), 46--55.Google ScholarDigital Library
- Hiroaki Daido. 1992. Order function and macroscopic mutual entrainment in uniformly coupled limit-cycle oscillators. Prog. Theor. Phys. 88, 6 (1992), 1213--1218.Google ScholarCross Ref
- Hooman Darabi and Asad A. Abidi. 2000. Noise in RF-CMOS mixers: A simple physical model. IEEE J. Solid-State Circuits 35, 1 (2000), 15--25.Google ScholarCross Ref
- Gustavo Deco, Viktor Jirsa, Anthony R. McIntosh, Olaf Sporns, and Rolf Kötter. 2009. Key role of coupling, delay, and noise in resting brain fluctuations. Proc. Natl. Acad. Sci. U.S.A. 106, 25 (2009), 10302--10307.Google ScholarCross Ref
- Denis Demidov, Karsten Ahnert, Karl Rupp, and Peter Gottschling. 2013. Programming CUDA and OpenCL: A case study using modern C++ libraries. SIAM J. Sci. Comput. 35, 5 (2013), C453–C472.Google ScholarDigital Library
- Kevin Doherty, Khulood Alyahya, Ozgur E. Akman, and Jonathan E. Fieldsend. 2017. Optimisation and landscape analysis of computational biology models: A case study. In Proc. GECCO’17 (2017). 1644--1651.Google ScholarDigital Library
- A. Aldo Faisal, Luc P. J. Selen, and Daniel M. Wolpert. 2008. Noise in the nervous system. Nat. Rev. Neurosci. 9, 4 (2008), 292--303.Google ScholarCross Ref
- Jonathan E. Fieldsend. 2015. Elite accumulative sampling strategies for noisy multi-objective optimisation. In Proc. EMO 2015 (2015). 172--186.Google ScholarCross Ref
- Jun He and Xin Yao. 2001. Drift analysis and average time complexity of evolutionary algorithms. Artif. Intell. 127, 1 (2001), 57--85.Google ScholarDigital Library
- Desmond J. Higham. 2001. An algorithmic introduction to numerical simulation of stochastic differential equations. SIAM Rev. 43, 3 (2001), 525--546.Google ScholarDigital Library
- Jerald B. Johnson and Kristian S. Omland. 2004. Model selection in ecology and evolution. Trends Ecol. Evol. 19, 2 (2004), 101--108.Google ScholarCross Ref
- Mads Kaern, Timothy C. Elston, William J. Blake, and James J. Collins. 2005. Stochasticity in gene expression: From theories to phenotypes. Nat. Rev. Genet. 6, 6 (2005), 451--464.Google ScholarCross Ref
- Leeat Keren, David Van Dijk, Shira Weingarten-Gabbay, Dan Davidi, Ghil Jona, Adina Weinberger, Ron Milo, and Eran Segal. 2015. Noise in gene expression is coupled to growth rate. Genome Res. 25, 12 (2015), 1893--1902.Google ScholarCross Ref
- Khronos OpenCL Working Group. 2015. The OpenCL Specification, Version 2.1, Document Revision: 23. Technical Report. Lee Howes (Ed.).Google Scholar
- Peter E. Kloeden and Eckhard Platen. 2011. Numerical Solution of Stochastic Differential Equations. Springer: Berlin.Google Scholar
- Gabriele Lillacci and Mustafa Khammash. 2010. Parameter estimation and model selection in computational biology. PLoS Comput. Biol. 6, 3 (2010), e1000696.Google ScholarCross Ref
- Marc Mantas, José M. De la Asunción and Manuel J. Castro. 2016. An introduction to GPU computing for numerical simulation. In Numerical Simulation in Physics and Engineering, Inmaculada Higueras, Teo Roldán, and Juan J. Torrens (Eds.). Springer, 219--251.Google Scholar
- H. Nakao. 2016. Phase reduction approach to synchronisation of nonlinear oscillators. Contemp. Phys. 57, 2 (2016), 188--214.Google ScholarCross Ref
- Cristóbal A. Navarro, Nancy Hitschfeld-Kahler, and Luis Mateu. 2014. A survey on parallel computing and its applications in data-parallel problems using GPU architectures. Commun. Comput. Phys. 15, 2 (2014), 285--329.Google ScholarCross Ref
- Béla Paláncz, Kent Stewart, József Homlok, Christopher G. Pretty, J. Geoffrey Chase, and Balázs Benyó. 2016. Stochastic simulation and parameter estimation of the ICING model. IFAC-PapersOnLine 49, 5 (2016), 218--223.Google Scholar
- Manolis Papadrakakis, George Stavroulakis, and Alexander Karatarakis. 2011. A new era in scientific computing: Domain decomposition methods in hybrid CPU–GPU architectures. Comput. Methods Appl. Mech. Engrg. 200, 13 (2011), 1490--1508.Google ScholarCross Ref
- Eckhard Platen. 1999. An introduction to numerical methods for stochastic differential equations. Acta Numer. 8 (1999), 197--246.Google ScholarCross Ref
- Yoshihiro Saito and Taketomo Mitsui. 1996. Stability analysis of numerical schemes for stochastic differential equations. SIAM J. Numer. Anal. 33, 6 (1996), 2254--2267.Google ScholarDigital Library
- John K. Salmon, Mark A. Moraes, Ron O. Dror, and David E. Shaw. 2011. Parallel random numbers: As easy as 1, 2, 3. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (2011). 1--12.Google ScholarDigital Library
- Andries J. Scholten, Luuk F. Tiemeijer, Ronald Van Langevelde, Ramon J. Havens, Adrie T. A. Zegers-van Duijnhoven, and Vincent C. Venezia. 2003. Noise modeling for RF CMOS circuit simulation. IEEE Trans. Electron. Devices 50, 3 (2003), 618--632.Google ScholarCross Ref
- Diego. F. Slezak, Cecilia Suárez, Guillermo A. Cecchi, Guillermo Marshall, and Gustavo Stolovitzky. 2010. When the optimal is not the best: Parameter estimation in complex biological models. PloS One 5, 10 (2010), e13283.Google ScholarCross Ref
- Steven H. Strogatz. 2000. From Kuramoto to Crawford: Exploring the onset of synchronization in populations of coupled oscillators. Physica D 143, 1--4 (2000), 1--20.Google ScholarDigital Library
- Jianyong Sun, Jonathan M. Garibaldi, and Charlie Hodgman. 2012. Parameter estimation using metaheuristics in systems biology: A comprehensive review. IEEE/ACM Trans. Comput. Biol. Bioinform. 9, 1 (2012), 185--202.Google ScholarDigital Library
- Carsten Witt. 2008. Population size versus runtime of a simple evolutionary algorithm. Theor. Comput. Sci. 403, 1 (2008), 104--120.Google ScholarDigital Library
Index Terms
- SODECL: An Open-Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel
Recommendations
CLBlast: A Tuned OpenCL BLAS Library
IWOCL '18: Proceedings of the International Workshop on OpenCLThis work introduces CLBlast, an open-source BLAS library providing optimized OpenCL routines to accelerate dense linear algebra for a wide variety of devices. It is targeted at machine learning and HPC applications and thus provides a fast matrix-...
On the Portability of the OpenCL Dwarfs on Fixed and Reconfigurable Parallel Platforms
ICPADS '13: Proceedings of the 2013 International Conference on Parallel and Distributed SystemsThe proliferation of heterogeneous computing systems presents the parallel computing community with the challenge of porting legacy and emerging applications to multiple processors with diverse programming abstractions. OpenCL is a vendor-agnostic and ...
Box-counting algorithm on GPU and multi-core CPU: an OpenCL cross-platform study
In this paper, we present the analysis and development of a cross-platform OpenCL implementation of the box-counting algorithm, which is one of the most widely-used methods for estimating the Fractal Dimension. The Fractal Dimension is a relevant image ...
Comments