{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:26:10Z","timestamp":1750220770125,"version":"3.41.0"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2020,7,13]],"date-time":"2020-07-13T00:00:00Z","timestamp":1594598400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"crossref","award":["EP\/K040987\/1, EP\/N017846\/1 and EP\/N014391\/1"],"award-info":[{"award-number":["EP\/K040987\/1, EP\/N017846\/1 and EP\/N014391\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2020,9,30]]},"abstract":"<jats:p>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.<\/jats:p><jats:p>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.<\/jats:p><jats:p>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 \u22486.7, compared to when using a single CPU core. Executing the task on a high-end GPU yielded accelerations of up to \u22484.5, compared to a single CPU core.<\/jats:p>","DOI":"10.1145\/3385076","type":"journal-article","created":{"date-parts":[[2020,7,7]],"date-time":"2020-07-07T12:37:18Z","timestamp":1594125438000},"page":"1-21","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["SODECL"],"prefix":"10.1145","volume":"46","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4962-4941","authenticated-orcid":false,"given":"Eleftherios","family":"Avramidis","sequence":"first","affiliation":[{"name":"University of Exeter and University of Cambridge, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marta","family":"Lalik","sequence":"additional","affiliation":[{"name":"Isomerase Therapeutics Ltd., UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9320-5958","authenticated-orcid":false,"given":"Ozgur E.","family":"Akman","sequence":"additional","affiliation":[{"name":"University of Exeter, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,7,13]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1103\/RevModPhys.77.137"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics\/btt023"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1038\/msb.2008.5"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1186\/1752-0509-4-88"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1098\/rsif.2012.0080"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1080\/07362990701857129"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.1742-4658.2008.06844.x"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1186\/s12918-017-0416-2"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1103\/PhysRevLett.107.244101"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1214\/aoms\/1177706645"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.1742-4658.2008.06845.x"},{"volume-title":"Uncertainty in Biology: A Computational Modeling Approach, Liesbert Geris and David Gomez-Cabrero (Eds.). Cham","author":"Cedersund Gunnar","key":"e_1_2_1_13_1","unstructured":"Gunnar Cedersund , Oscar Samuelsson , Gordon Ball , Jesper Tegn\u00e9r , 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. Gunnar Cedersund, Oscar Samuelsson, Gordon Ball, Jesper Tegn\u00e9r, 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."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00161093"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1143\/ptp\/88.6.1213"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/4.818916"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1073\/pnas.0901831106"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1137\/120903683"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3067695.3084609"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1038\/nrn2258"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-15892-1_12"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0004-3702(01)00058-3"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1137\/S0036144500378302"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tree.2003.10.013"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1038\/nrg1615"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1101\/gr.191635.115"},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","unstructured":"Khronos OpenCL Working Group. 2015. The OpenCL Specification Version 2.1 Document Revision: 23. Technical Report. Lee Howes (Ed.). Khronos OpenCL Working Group. 2015. The OpenCL Specification Version 2.1 Document Revision: 23. Technical Report. Lee Howes (Ed.).","DOI":"10.1145\/2791321.2791337"},{"key":"e_1_2_1_29_1","volume-title":"Kloeden and Eckhard Platen","author":"Peter","year":"2011","unstructured":"Peter E. Kloeden and Eckhard Platen . 2011 . Numerical Solution of Stochastic Differential Equations . Springer : Berlin . Peter E. Kloeden and Eckhard Platen. 2011. Numerical Solution of Stochastic Differential Equations. Springer: Berlin."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1371\/journal.pcbi.1000696"},{"key":"e_1_2_1_31_1","volume-title":"De la Asunci\u00f3n and Manuel J. Castro","author":"Mantas Marc","year":"2016","unstructured":"Marc Mantas , Jos\u00e9 M. De la Asunci\u00f3n and Manuel J. Castro . 2016 . An introduction to GPU computing for numerical simulation. In Numerical Simulation in Physics and Engineering, Inmaculada Higueras, Teo Rold\u00e1n, and Juan J. Torrens (Eds.). Springer , 219--251. Marc Mantas, Jos\u00e9 M. De la Asunci\u00f3n and Manuel J. Castro. 2016. An introduction to GPU computing for numerical simulation. In Numerical Simulation in Physics and Engineering, Inmaculada Higueras, Teo Rold\u00e1n, and Juan J. Torrens (Eds.). Springer, 219--251."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1080\/00107514.2015.1094987"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.4208\/cicp.110113.010813a"},{"key":"e_1_2_1_34_1","first-page":"218","article-title":"Stochastic simulation and parameter estimation of the ICING model","volume":"49","author":"Pal\u00e1ncz B\u00e9la","year":"2016","unstructured":"B\u00e9la Pal\u00e1ncz , Kent Stewart , J\u00f3zsef Homlok , Christopher G. Pretty , J. Geoffrey Chase , and Bal\u00e1zs Beny\u00f3 . 2016 . Stochastic simulation and parameter estimation of the ICING model . IFAC-PapersOnLine 49 , 5 (2016), 218 -- 223 . B\u00e9la Pal\u00e1ncz, Kent Stewart, J\u00f3zsef Homlok, Christopher G. Pretty, J. Geoffrey Chase, and Bal\u00e1zs Beny\u00f3. 2016. Stochastic simulation and parameter estimation of the ICING model. IFAC-PapersOnLine 49, 5 (2016), 218--223.","journal-title":"IFAC-PapersOnLine"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cma.2011.01.013"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0962492900002920"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1137\/S0036142992228409"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063405"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/TED.2003.810480"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1371\/journal.pone.0013283"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-2789(00)00094-4"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCBB.2011.63"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2008.05.011"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385076","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3385076","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:14Z","timestamp":1750200074000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385076"}},"subtitle":["An Open-Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel"],"short-title":[],"issued":{"date-parts":[[2020,7,13]]},"references-count":42,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2020,9,30]]}},"alternative-id":["10.1145\/3385076"],"URL":"https:\/\/doi.org\/10.1145\/3385076","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"type":"print","value":"0098-3500"},{"type":"electronic","value":"1557-7295"}],"subject":[],"published":{"date-parts":[[2020,7,13]]},"assertion":[{"value":"2019-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-07-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}