REVIEW 3 major objections 5 minor 43 references
SODECL: An Open Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel
T0 review · 3 major / 5 minor · reviewed 2026-08-14 · deepseek-v4-flash
Pith's one-line read SODECL computes many SDE orbits in parallel on CPUs and GPUs, reaching up to ~6.7x speedup on 32 cores and ~4.5x on a GPU.
desk verdict SODECL is a real, openly licensed library with honest modest speedups, but the headline speedup ratios rest on an under-specified single-core baseline that needs clarification before they are quoted. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The central mechanism is a single OpenCL kernel, named integrator_caller, generated at runtime from the model definition. Each kernel call evolves every orbit for a fixed number of Euler-Maruyama steps, with a counter-based random-number generator supplying independent normal deviates through the Box-Muller transform. The user supplies two functions—the drift and the diffusion of the SDE—and the library builds the kernel source string, so no recompilation is needed when the model changes.
What would settle it
Run the same orbit-batch benchmark on a second SDE model—for example a stochastic gene-regulatory or neuron model—on the same 32-core node and P100 GPU using the paper's hand-tuned local group sizes; if speedups at comparable orbit counts fall far below the reported 6.7x and 4.5x, the acceleration is a feature of the benchmark model rather than the library's parallel design.
Extended reading notes
Core claim
The central claim is that replacing the single-threaded, orbit-by-orbit loop with an OpenCL kernel that assigns one work item (or work group) to each orbit gives substantial, repeatable speedups on both multi-core CPUs and GPUs, without sacrificing numerical reliability. On the stochastic Kuramoto model, speedups relative to one logical core of a 32-core Intel Xeon Gold 6142 node reached about 6.7 with all 32 CPU cores (ranging from 1.12 to 6.65 depending on oscillator count and orbit number) and about 4.5 on an NVIDIA Tesla P100 GPU (ranging from 1.57 to 4.50). The GPUs were generally slower than all 32 CPU cores but noticeably faster than a high-end desktop CPU, and SODECL was faster than a parallel MATLAB implementation in almost every configuration, up to 5.8-fold. The numerical tests show that the solver reproduces the Kuramoto transition: phase coherence stays near zero below the critical coupling strength and saturates near one above it, with weak dependence on the integration time step.
Load-bearing premise
The load-bearing premise is that speedups measured on one stochastic Kuramoto model, with local group sizes hand-tuned for each device, represent what SODECL will deliver on other SDE systems and hardware; the paper itself lists benchmarks on other canonical models as a needed follow-up.
Editorial extensions
If this is right
- At batch sizes of tens to hundreds of thousands of orbits, a single multi-core node or GPU can replace a cluster for the integration step of SDE parameter optimisation.
- The speedup is configuration dependent: small orbit counts and small model sizes can run slower than one core (speedups below 1), so the benefit appears when the workload is large enough to amortise kernel and device overheads.
- Because one OpenCL kernel targets CPUs and GPUs from multiple vendors, the same library code can be deployed on workstations, GPU nodes, and CPU-only HPC nodes without hardware-specific rewrites.
- The accuracy tests tie the speed measurement to a physically meaningful outcome: the parallel Euler-Maruyama solver reproduces the expected Kuramoto coherence transition, with observables only weakly dependent on the integration time step.
Reading between the lines
- If the speedups transfer to other models, an automatic tuning step for the OpenCL local group size would strengthen the library, since the reported numbers rely on hand-picked values per device and model size.
- The fact that 32 CPU cores yield only about 6.7x rather than anything near 32x suggests memory bandwidth and kernel-launch overhead limit this workload, so splitting the integration across multiple kernels or reducing host-device transfers could yield further gains.
- Because double precision was used throughout and GPUs typically accelerate single precision considerably more, the GPU speedups reported here may be a lower bound for applications that can tolerate lower numerical precision.
- A natural benchmark extension would be a second stochastic model with heterogeneous equations and branchy terms, which the authors expect to vectorise less well and could expose whether the acceleration is model-specific.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The manuscript presents SODECL, an open-source C++/OpenCL library for computing many independent orbits of an SDE/ODE system in parallel on CPUs and GPUs. The authors benchmark a stochastic Kuramoto model with N = 5, 10, and 15 oscillators and orbit counts from 512 to 163,840, measuring runtimes on a desktop CPU (i7-4790K), a two-socket Xeon Gold 6142 node, and two GPUs (FirePro W8100, Tesla P100). They report speedups up to about 6.7 for 32 CPU cores and about 4.5 for the P100 GPU relative to a single core of the Xeon node, compare against a MATLAB/OpenMP implementation, and verify numerical stability via phase-coherence statistics across timesteps for N = 100. The paper is primarily a software and benchmarking contribution.
Significance. The contribution is practical: a portable, open-source library for embarrassingly parallel SDE simulation, rather than a new numerical method. If the speedup measurements are robust, SODECL is a useful tool for parameter-sweep and population-based optimization workflows. Strengths of the paper include the public MIT-licensed code, multi-OS support, the detailed supplementary tables of raw runtimes, and the authors' explicit list of limitations in Section 3 (no initialization-time measurements, no single-precision tests, no branch-divergence study). The reported speedups are modest and plausible for the workload, and the numerical stability checks in Section 2.3 provide a reasonable sanity check. The main weaknesses are in the benchmark methodology, not in the library's design.
major comments (3)
- [Section 2.2.1, Section 2.2.2, Figure 7, Tables S1-S6] The speedup baseline is defined inconsistently: Section 2.2.1 says 'only one core' of the HPC CPU, while Section 2.2.2 and the Figure 7 caption state that speedups are relative to 'one logical processor' of the 2X6142. The Intel Xeon Gold 6142 has two hardware threads per physical core and the node has two sockets, so a 'logical processor' baseline can differ materially from a physical-core baseline, depending on whether the sibling hyperthread is idle or active. The paper also does not state whether the single-core baseline used the local group size of 32 from Table 4 or a group size of 1, nor whether hyperthreading was disabled. Since every headline speedup (e.g., 6.652 in Table S6 and 4.503 in Table S6) is the single-core 2X6142 runtime divided by the device runtime, this ambiguity directly affects the central quantitative claims. The accuracy tests in Section 2.3 cannot resolve this issue because they test numerical stability, not the timing baseline. Please specify the exact baseline configuration and report runtimes for a dedicated physical-core baseline as well.
- [Section 2.2.1, Tables S1-S6, Figure 7] All runtimes are reported as means of eight runs, but no standard deviation, min-max range, or per-run values are given. Without a measure of dispersion, the reader cannot assess whether differences across orbit counts and devices (for example, the 2X6142 speedups of 4.738 and 4.791 in Table S5 at 40960 and 81920 orbits) are within run-to-run noise, nor whether the reported maxima are stable. For an empirical benchmark paper whose central claim is a set of quantitative speedups, reporting variance is necessary. Please add error bars to Figure 7 and dispersion columns to the supplementary tables, and state whether the timed loop included OpenCL kernel compilation and device initialization.
- [Table 4, Section 2.2.2, Eq. (5), Section 3] The reported speedups were obtained with local group sizes manually tuned for each device and model size (Table 4), and with a single canonical SDE model, the stochastic Kuramoto system (Eq. 5). The authors acknowledge in Section 3 that further benchmarks on other models are needed, but the abstract and the beginning of Section 2.2.2 present the maximum speedups without this qualifier. Because the headline numbers are the result of per-device, per-model-size tuning, they should be presented as 'speedups for the tested configurations with tuned local group sizes,' or the paper should include a sensitivity analysis showing how the speedup varies with local group size (e.g., group sizes 1, 8, 32, 64, 128) for at least one device and model size.
minor comments (5)
- [Table S5] The column header 'I4I90K' is a typo for 'I4790K'.
- [Title] The title contains 'A N OPEN SOURCE LIBRARY'; this should read 'AN OPEN SOURCE LIBRARY'.
- [Throughout] The text renders 'MATLAB' with a space as 'MA TLAB' in several places (e.g., Section 2.2.1 and Figure 6); please fix the spacing.
- [Figure 8 and Tables S7-S9] Figure 8 says runtimes are on 'all logical processors of the I4790K CPU,' while Tables S7-S9 say 'all cores'; align these terms with the clarification requested for the speedup baseline.
- [Figure 6] The MATLAB code hard-codes a parfor pool of 8 workers; because the i7-4790K has 4 physical cores and 8 logical processors, the comparison should state whether MATLAB used 8 software threads on logical processors and whether SODECL used the same number of threads.
Circularity Check
No circularity: the paper is an empirical performance benchmark whose speedups are direct runtime measurements, not derived quantities or fitted predictions.
full rationale
SODECL reports measured runtimes and speedups for a stochastic Kuramoto model across CPUs and GPUs. The claimed results, such as a maximum speedup of ~6.7 on 32 CPU cores and ~4.5 on a GPU, are ratios of directly observed single-core and multi-core/GPU runtimes (Tables S1-S3, S4-S6), not quantities defined in terms of the conclusions they support. There is no fitted parameter later renamed as a prediction, no ansatz imported via citation, and no uniqueness theorem invoked to force the choice of method. The paper's self-citations, particularly the comparison with the earlier speedup of ~20 in [16], explain a discrepancy but do not constitute the evidence for the new measurements. Concerns about whether the single-core baseline was a logical processor or a physical core, or whether the manually tuned local group sizes bias the speedups, are legitimate empirical-benchmarking caveats and are even partially acknowledged by the authors, but they are not circularity: the speedups remain externally measurable observations rather than the outputs of a derivation that assumes them. The accuracy and stability checks are independent numerical validations of the solver, and they do not determine the timing results. The paper is therefore self-contained as an empirical benchmark, and the appropriate circularity score is 0.
Assumptions & free parameters
free parameters (1)
- Local group sizes per device and model size =
I4790K: 8, 8, 8; 2X6142: 32, 32, 32; W8100: 256, 16, 32; P100: 8, 8, 8 for N = 5, 10, 15
assumptions (4)
- standard math The Euler-Maruyama method converges to the Itô solution of the SDE as the timestep tends to zero.
- domain assumption The stochastic Kuramoto model in Eq. (5) is representative of the SDE models SODECL is intended to support.
- domain assumption OpenCL gives portably good performance across the tested CPUs and GPUs.
- ad hoc to paper The manually tuned local group sizes are appropriate or near-optimal for the tested configurations.
Cite this review
Pith. "Pith review of SODECL: An Open Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel." pith.science (2026). https://pith.science/paper/AXIEHAKP
@misc{pith2026190803869,
author = {Pith},
title = {Pith review of: SODECL: An Open Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel},
year = {2026},
howpublished = {\url{https://pith.science/paper/AXIEHAKP}},
note = {Machine review of arXiv:1908.03869}
}
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 {\bf SODECL} (\url{https://github.com/avramidis/sodecl}), a software library that utilises 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 the 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 $\simeq$6.7, compared to when using a single CPU core. Executing the task on a high-end GPU yielded accelerations of up to $\simeq$4.5, compared to a single CPU core.
Figures
Figures from the paper (8 more)
Reference graph
Works this paper leans on
-
[1]
Mads Kaern, Timothy C. Elston, William J. Blake, and Jame s J. Collins. Stochasticity in gene expression: from theories to phenotypes. Nat. Rev. Genet., 6(6):451–464, 2005
work page 2005
-
[2]
Noise in gene expression is coupled to growth rate
Leeat Keren, David V an Dijk, Shira Weingarten-Gabbay, D an Davidi, Ghil Jona, Adina Weinberger, Ron Milo, and Eran Segal. Noise in gene expression is coupled to growth rate. Genome Res., 25(12):1893–1902, 2015
work page 1902
-
[3]
A. Aldo Faisal, Luc P . J. Selen, and Daniel M. Wolpert. Noi se in the nervous system. Nat. Rev. Neurosci., 9(4):292–303, 2008
work page 2008
-
[4]
McIntosh, Olaf Sp orns, and Rolf Kötter
Gustavo Deco, Viktor Jirsa, Anthony R. McIntosh, Olaf Sp orns, and Rolf Kötter. Key role of coupling, delay, and noise in resting brain fluctuations. Proc. Natl. Acad. Sci. U. S. A., 106(25):10302–10307, 2009
work page 2009
-
[5]
Hooman Darabi and Asad A. Abidi. Noise in rf-cmos mixers: A simple physical model. IEEE J. Solid-State Circuits, 35(1):15–25, 2000
work page 2000
-
[6]
Andries J. Scholten, Luuk F. Tiemeijer, Ronald V an Lange velde, Ramon J. Havens, Adrie T. A. Zegers-van Duijnhoven, and Vincent C. V enezia. Noise modeling for rf cm os circuit simulation. IEEE Trans. Electron Devices, 50(3):618–632, 2003
work page 2003
-
[7]
Edward J. Allen, Linda J. S. Allen, Armando Arciniega, an d Priscilla E. Greenwood. Construction of equivalent stochastic differential equation models. Stoch. Anal. Appl., 26(2):274–297, 2008
work page 2008
-
[8]
An introduction to numerical methods fo r stochastic differential equations
Eckhard Platen. An introduction to numerical methods fo r stochastic differential equations. Acta Numer., 8:197– 246, 1999
work page 1999
Show all 43 references
-
[9]
Desmond J. Higham. An algorithmic introduction to numer ical simulation of stochastic differential equations. SIAM Rev., 43(3):525–546, 2001
2001
-
[10]
Kloeden and Eckhard Platen
Peter E. Kloeden and Eckhard Platen. Numerical Solution of Stochastic Differential Equations. Stochastic Modelling and Applied Probability. Springer: Berlin, 2011
2011
-
[11]
Pretty, J
Béla Paláncz, Kent Stewart, József Homlok, Christophe r G. Pretty, J. Geoffrey Chase, and Balázs Benyó. Stochas- tic simulation and parameter estimation of the icing model. IFAC-PapersOnLine, 49(5):218–223, 2016
2016
-
[12]
Akman, James C
Ozgur E. Akman, James C. W . Locke, Sanyi Tang, Isabelle C arré, Andrew J. Millar, and David A. Rand. Isoform switching facilitates period control in the Neurospora cra ssa circadian clock. Mol. Syst. Biol., 4:164, 2008
2008
-
[13]
Akman, David A
Ozgur E. Akman, David A. Rand, Paul E. Brown, and Andrew J . Millar. Robustness from flexibility in the fungal circadian clock. BMC Syst. Biol., 4(1):88, 2010
2010
-
[14]
Parameter est imation and model selection in computational biology
Gabriele Lillacci and Mustafa Khammash. Parameter est imation and model selection in computational biology. PLoS Comput. Biol., 6(3):e1000696, 2010
2010
-
[15]
Akman, Steven Watterson, Andrew Parton, Nigel Binns, Andrew J
Ozgur E. Akman, Steven Watterson, Andrew Parton, Nigel Binns, Andrew J. Millar, and Peter Ghazal. Digital clocks: simple Boolean models can quantitatively describe circadian systems. J. Roy. Soc. Interface, 9(74):2365– 2382, 2012. 14 SODECL: An Open Source Library for Calculat...
2012
-
[16]
Eleftherios Avramidis and Ozgur E. Akman. Optimisatio n of an exemplar oculomotor model using multi- objective genetic algorithms executed on a gpu-cpu combina tion. BMC Syst. Biol., 11:1, 2017
2017
-
[17]
Akman, and Jon athan E
Kevin Doherty, Khulood Alyahya, Ozgur E. Akman, and Jon athan E. Fieldsend. Optimisation and landscape analysis of computational biology models: A case study. In Proc. GECCO ’17, 2017, pages 1644–1651, 2017
2017
-
[18]
Cullen, Claudio G
Kathleen E. Cullen, Claudio G. Rey, Daniel Guitton, and Henrietta L. Galiana. The use of system identification techniques in the analysis of oculomotor burst neuron spike train dynamics. J. Comput. Neurosci., 3(4):347–368, 1996
1996
-
[19]
Johnson and Kristian S
Jerald B. Johnson and Kristian S. Omland. Model selecti on in ecology and evolution. Trends Ecol. Evol., 19(2):101–108, 2004
2004
-
[20]
Ka andorp, and Joke G
Maksat Ashyraliyev, Yves Fomekong-Nanfack, Jaap A. Ka andorp, and Joke G. Blom. Systems biology: param- eter estimation for biochemical models. FEBS J., 276(4):886–902, 2009
2009
-
[21]
Systems biology: mode l based evaluation and comparison of potential explanations for given biological data
Gunnar Cedersund and Jacob Roll. Systems biology: mode l based evaluation and comparison of potential explanations for given biological data. FEBS J., 276(4):903–922, 2009
2009
-
[22]
Diego. F. Slezak, Cecilia Suárez, Guillermo A. Cecchi, Guillermo Marshall, and Gustavo Stolovitzky. When the optimal is not the best: parameter estimation in complex bio logical models. PloS One, 5(10):e13283, 2010
2010
-
[23]
Garibaldi, and Charlie Hodgm an
Jianyong Sun, Jonathan M. Garibaldi, and Charlie Hodgm an. Parameter estimation using metaheuristics in systems biology: a comprehensive review. IEEE/ACM Trans. Comput. Biol. Bioinform., 9(1):185–202, 2012
2012
-
[24]
Drift analysis and average time compl exity of evolutionary algorithms
Jun He and Xin Y ao. Drift analysis and average time compl exity of evolutionary algorithms. Artif. Intell., 127(1):57–85, 2001
2001
-
[25]
Population size versus runtime of a simpl e evolutionary algorithm
Carsten Witt. Population size versus runtime of a simpl e evolutionary algorithm. Theor. Comput. Sci., 403(1):104–120, 2008
2008
-
[26]
Optimiza- tion in biology parameter estimation and the associated opt imization problem
Gunnar Cedersund, Oscar Samuelsson, Gordon Ball, Jesp er Tegnér, and David Gomez-Cabrero. Optimiza- tion in biology parameter estimation and the associated opt imization problem. In Liesbert Geris and David Gomez-Cabrero, editors, Uncertainty in Biology: A Computational Modeli...
2016
-
[27]
Fieldsend
Jonathan E. Fieldsend. Elite accumulative sampling st rategies for noisy multi-objective optimisation. In Proc. EMO 2015, 2015, pages 172–186, 2015
2015
-
[28]
Navarro, Nancy Hitschfeld-Kahler, and Lu is Mateu
Cristóbal A. Navarro, Nancy Hitschfeld-Kahler, and Lu is Mateu. A survey on parallel computing and its appli- cations in data-parallel problems using gpu architectures . Commun. Comput. Phys., 15(2):285–329, 2014
2014
-
[29]
A new era in scientific computing: Domain decomposition methods in hybrid cpu–gpu architectu res
Manolis Papadrakakis, George Stavroulakis, and Alexa nder Karatarakis. A new era in scientific computing: Domain decomposition methods in hybrid cpu–gpu architectu res. Comput. Methods Appl. Mech. Engrg., 200(13):1490–1508, 2011
2011
-
[30]
De la Asunción and Manuel J
Marc Mantas, José M. De la Asunción and Manuel J. Castro. An introduction to gpu computing for numerical simulation. In Inmaculada Higueras, Teo Roldán, and Juan J. Torrens, editors, Numerical Simulation in Physics and Engineering, pages 219–251. Springer, 2016
2016
-
[31]
Programming cuda and opencl: A case study using modern c++ libraries
Denis Demidov, Karsten Ahnert, Karl Rupp, and Peter Got tschling. Programming cuda and opencl: A case study using modern c++ libraries. SIAM J. Sci. Comput., 35(5):C453–C472, 2013
2013
-
[32]
The opencl specification , version 2.1, document revision: 23
Khronos OpenCL Working Group. The opencl specification , version 2.1, document revision: 23. Technical report, Lee Howes (Ed.), 2015
2015
-
[33]
Stability analys is of numerical schemes for stochastic differential equa- tions
Y oshihiro Saito and Taketomo Mitsui. Stability analys is of numerical schemes for stochastic differential equa- tions. SIAM J. Numer. Anal., 33(6):2254–2267, 1996
1996
-
[34]
Optimisation and computational methods to model the oculomotor system with focus on nystagmus
Eleftherios Avramidis. Optimisation and computational methods to model the oculomotor system with focus on nystagmus. PhD thesis, University of Exeter, 2015
2015
-
[35]
Salmon, Mark A
John K. Salmon, Mark A. Moraes, Ron O. Dror, and David E. S haw. Parallel random numbers: as easy as 1, 2, 3. In SC ’11: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, 2011, pages 1–12, 2011
2011
-
[36]
G. E. P . Box and Mervin E. Muller. A note on the generation of random normal deviates. Ann. Math. Statist., 29(2):610–611, 1958
1958
-
[37]
Order Function and Macroscopic Mutual E ntrainment in Uniformly Coupled Limit-Cycle Oscil- lators
Hiroaki Daido. Order Function and Macroscopic Mutual E ntrainment in Uniformly Coupled Limit-Cycle Oscil- lators. Prog. Theor. Phys., 88(6):1213–1218, 1992
1992
-
[38]
Strogatz
Steven H. Strogatz. From kuramoto to crawford: explori ng the onset of synchronization in populations of coupled oscillators. Physica D, 143(1-4):1–20, 2000. 15 SODECL: An Open Source Library for Calculating Multiple Orb its of a System of Stochastic Differential Equations in ...
2000
-
[39]
Acebrón, Luis L
Juan A. Acebrón, Luis L. Bonilla, Conrad J. Pérez Vicent e, Félix Ritort, and Renato Spigler. The kuramoto model: A simple paradigm for synchronization phenomena. Rev. Mod. Phys., 77(1):137, 2005
2005
-
[40]
Chaos in symmetric phase oscillator networks
Christian Bick, Marc Timme, Danilo Paulikat, Dirk Rath lev, and Peter Ashwin. Chaos in symmetric phase oscillator networks. Phys. Rev. Lett., 107(24):244101, 2011
2011
-
[41]
H. Nakao. Phase reduction approach to synchronisation of nonlinear oscillators. Contemp. Phys., 57(2):188–214, 2016
2016
-
[42]
Openmp: an industry st andard api for shared-memory programming
Leonardo Dagum and Ramesh Menon. Openmp: an industry st andard api for shared-memory programming. IEEE Comput. Sci. Eng., 5(1):46–55, 1998
1998
-
[43]
Akman, Carl Troei n, Andrew J
Richard Adams, Allan Clark, Azusa Y amaguchi, Neil Hanl on, Nikos Tsorman, Shakir Ali, Galina Lebedeva, Alexey Goltsov, Anatoly Sorokin, Ozgur E. Akman, Carl Troei n, Andrew J. Millar, Igor Goryanin, and Stephen Gilmore. Sbsi: an extensible distributed software infrast ructure...
2013
Reviewed August 14, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.