@@ -11,7 +11,7 @@ The purpose of this benchmark is to test explicit Runge-Kutta methods on the Enr
1111``` julia
1212using OrdinaryDiffEq, ParameterizedFunctions, ODEInterface,
1313 ODEInterfaceDiffEq, LSODA, Sundials, DiffEqDevTools,
14- StaticArrays
14+ StaticArrays, OrdinaryDiffEqSIMDRK
1515using Plots
1616gr ()
1717
@@ -38,21 +38,24 @@ reltols = 1.0 ./ 10.0 .^ (3:10)
3838
3939
4040
41- ### SIMD Algorithms (Currently Disabled)
42-
43- Note: The SIMD RK methods will be added once the OrdinaryDiffEqSIMDRK package is publicly available.
41+ ### SIMD Algorithms
4442
4543``` julia
46- # simdrkalgs = [
47- # Dict(:alg=>MER5v2()),
48- # Dict(:alg=>MER6v2()),
49- # Dict(:alg=>RK6v4())
50- # ]
51- simdrkalgs = []
44+ simdrkalgs = [
45+ Dict (:alg => MER5v2 ()),
46+ Dict (:alg => MER6v2 ()),
47+ Dict (:alg => RK6v4 ())
48+ ]
5249```
5350
5451```
55- Any[]
52+ 3-element Vector{Dict{Symbol}}:
53+ Dict(:alg => MER5v2(stage_limiter! = trivial_limiter!, step_limiter! = tri
54+ vial_limiter!, thread = static(false)))
55+ Dict(:alg => MER6v2(stage_limiter! = trivial_limiter!, step_limiter! = tri
56+ vial_limiter!, thread = static(false)))
57+ Dict(:alg => RK6v4(stage_limiter! = trivial_limiter!, step_limiter! = triv
58+ ial_limiter!, thread = static(false)))
5659```
5760
5861
@@ -72,7 +75,7 @@ setups = [
7275```
7376
7477```
75- 4 -element Vector{Dict{Symbol}}:
78+ 7 -element Vector{Dict{Symbol}}:
7679 Dict(:alg => OrdinaryDiffEqTsit5.Tsit5{typeof(OrdinaryDiffEqCore.trivial_l
7780imiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}(Ordina
7881ryDiffEqCore.trivial_limiter!, OrdinaryDiffEqCore.trivial_limiter!, static(
@@ -95,6 +98,12 @@ limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}}(:alg
9598 typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}(OrdinaryDiffEqC
9699ore.trivial_limiter!, OrdinaryDiffEqCore.trivial_limiter!, static(false), t
97100rue))
101+ Dict(:alg => MER5v2(stage_limiter! = trivial_limiter!, step_limiter! = tri
102+ vial_limiter!, thread = static(false)))
103+ Dict(:alg => MER6v2(stage_limiter! = trivial_limiter!, step_limiter! = tri
104+ vial_limiter!, thread = static(false)))
105+ Dict(:alg => RK6v4(stage_limiter! = trivial_limiter!, step_limiter! = triv
106+ ial_limiter!, thread = static(false)))
98107```
99108
100109
@@ -272,7 +281,11 @@ wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol=test_sol, save_eve
272281plot (wp; title= " NC5" )
273282```
274283
275- ![ ] ( figures/EnrightPryce_wpd_16_1.png )
284+ ```
285+ Error: StackOverflowError:
286+ ```
287+
288+
276289
277290
278291
@@ -287,7 +300,11 @@ wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol=test_sol, save_eve
287300plot (wp; title= " ND1" )
288301```
289302
290- ![ ] ( figures/EnrightPryce_wpd_17_1.png )
303+ ```
304+ Error: StackOverflowError:
305+ ```
306+
307+
291308
292309
293310
@@ -300,7 +317,11 @@ wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol=test_sol, save_eve
300317plot (wp; title= " ND2" )
301318```
302319
303- ![ ] ( figures/EnrightPryce_wpd_18_1.png )
320+ ```
321+ Error: StackOverflowError:
322+ ```
323+
324+
304325
305326
306327
@@ -313,7 +334,11 @@ wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol=test_sol, save_eve
313334plot (wp; title= " ND3" )
314335```
315336
316- ![ ] ( figures/EnrightPryce_wpd_19_1.png )
337+ ```
338+ Error: StackOverflowError:
339+ ```
340+
341+
317342
318343
319344
@@ -326,7 +351,11 @@ wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol=test_sol, save_eve
326351plot (wp; title= " ND4" )
327352```
328353
329- ![ ] ( figures/EnrightPryce_wpd_20_1.png )
354+ ```
355+ Error: StackOverflowError:
356+ ```
357+
358+
330359
331360
332361
@@ -339,7 +368,11 @@ wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol=test_sol, save_eve
339368plot (wp; title= " ND5" )
340369```
341370
342- ![ ] ( figures/EnrightPryce_wpd_21_1.png )
371+ ```
372+ Error: StackOverflowError:
373+ ```
374+
375+
343376
344377
345378## Appendix
@@ -376,15 +409,16 @@ Environment:
376409Package Information:
377410
378411```
379- Status `/cache/build/exclusive-amdci1 -0/julialang/scimlbenchmarks-dot-jl/benchmarks/NonStiffODE/Project.toml`
380- [2b5f629d] DiffEqBase v6.183.2
412+ Status `/cache/build/exclusive-amdci3 -0/julialang/scimlbenchmarks-dot-jl/benchmarks/NonStiffODE/Project.toml`
413+ [2b5f629d] DiffEqBase v6.184.0
381414 [f3b72e0c] DiffEqDevTools v2.48.0
382415 [615f187c] IfElse v0.1.1
383416 [7f56f5a3] LSODA v0.7.5
384417⌅ [961ee093] ModelingToolkit v9.82.0
385418 [54ca160b] ODEInterface v0.5.0
386419 [09606e27] ODEInterfaceDiffEq v3.13.4
387- [1dea7af3] OrdinaryDiffEq v6.101.0
420+ ⌃ [1dea7af3] OrdinaryDiffEq v6.101.0
421+ [dc97f408] OrdinaryDiffEqSIMDRK v1.1.0
388422⌃ [65888b18] ParameterizedFunctions v5.17.2
389423 [91a5bcdd] Plots v1.40.19
390424 [31c91b34] SciMLBenchmarks v0.1.3
@@ -399,7 +433,7 @@ Info Packages marked with ⌃ and ⌅ have new versions available. Those with
399433And the full manifest:
400434
401435```
402- Status `/cache/build/exclusive-amdci1 -0/julialang/scimlbenchmarks-dot-jl/benchmarks/NonStiffODE/Manifest.toml`
436+ Status `/cache/build/exclusive-amdci3 -0/julialang/scimlbenchmarks-dot-jl/benchmarks/NonStiffODE/Manifest.toml`
403437 [47edcb42] ADTypes v1.17.0
404438 [1520ce14] AbstractTrees v0.4.5
405439 [7d9f7c33] Accessors v0.1.42
@@ -440,7 +474,7 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
440474⌅ [864edb3b] DataStructures v0.18.22
441475 [e2d170a0] DataValueInterfaces v1.0.0
442476 [8bb1440f] DelimitedFiles v1.9.1
443- [2b5f629d] DiffEqBase v6.183.2
477+ [2b5f629d] DiffEqBase v6.184.0
444478 [459566f4] DiffEqCallbacks v4.9.0
445479 [f3b72e0c] DiffEqDevTools v2.48.0
446480 [77a26b50] DiffEqNoiseProcess v5.24.1
@@ -452,7 +486,7 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
452486 [31c24e10] Distributions v0.25.120
453487 [ffbed154] DocStringExtensions v0.9.5
454488 [5b8099bc] DomainSets v0.7.16
455- ⌃ [7c1d4256] DynamicPolynomials v0.6.2
489+ [7c1d4256] DynamicPolynomials v0.6.3
456490 [06fc5a27] DynamicQuantities v1.8.0
457491 [4e289a0a] EnumX v1.0.5
458492 [f151be2c] EnzymeCore v0.8.12
@@ -483,8 +517,9 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
483517 [42e2da0e] Grisu v1.0.2
484518 [cd3eb016] HTTP v1.10.17
485519 [eafb193a] Highlights v0.5.3
520+ [3e5b6fbb] HostCPUFeatures v0.1.17
486521 [34004b35] HypergeometricFunctions v0.3.28
487- [7073ff75] IJulia v1.30.0
522+ [7073ff75] IJulia v1.30.1
488523 [615f187c] IfElse v0.1.1
489524 [d25df0c9] Inflate v0.1.5
490525 [18e54dd8] IntegerMathUtils v0.1.3
@@ -537,7 +572,7 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
537572 [4d8831e6] OpenSSL v1.5.0
538573 [429524aa] Optim v1.13.2
539574 [bac558e1] OrderedCollections v1.8.1
540- [1dea7af3] OrdinaryDiffEq v6.101.0
575+ ⌃ [1dea7af3] OrdinaryDiffEq v6.101.0
541576 [89bda076] OrdinaryDiffEqAdamsBashforthMoulton v1.5.0
542577⌃ [6ad6398a] OrdinaryDiffEqBDF v1.9.0
543578 [bbf590c4] OrdinaryDiffEqCore v1.30.0
@@ -562,6 +597,7 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
562597 [af6ede74] OrdinaryDiffEqRKN v1.5.0
563598⌃ [43230ef6] OrdinaryDiffEqRosenbrock v1.14.0
564599⌃ [2d112036] OrdinaryDiffEqSDIRK v1.6.0
600+ [dc97f408] OrdinaryDiffEqSIMDRK v1.1.0
565601 [669c94d9] OrdinaryDiffEqSSPRK v1.6.0
566602⌃ [e3e12d00] OrdinaryDiffEqStabilizedIRK v1.5.0
567603 [358294b1] OrdinaryDiffEqStabilizedRK v1.4.0
@@ -599,7 +635,8 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
599635 [7e49a35a] RuntimeGeneratedFunctions v0.5.15
600636 [9dfe8606] SCCNonlinearSolve v1.4.0
601637 [94e857df] SIMDTypes v0.1.0
602- ⌃ [0bca4576] SciMLBase v2.112.0
638+ [476501e8] SLEEFPirates v0.6.43
639+ [0bca4576] SciMLBase v2.114.0
603640 [31c91b34] SciMLBenchmarks v0.1.3
604641 [19f34311] SciMLJacobianOperators v0.1.8
605642 [c0aeaf25] SciMLOperators v1.6.0
@@ -649,6 +686,7 @@ Status `/cache/build/exclusive-amdci1-0/julialang/scimlbenchmarks-dot-jl/benchma
649686 [45397f5d] UnitfulLatexify v1.7.0
650687 [a7c27f48] Unityper v0.1.6
651688 [41fe7b60] Unzip v0.2.0
689+ [3d5dd08c] VectorizationBase v0.21.71
652690 [81def892] VersionParsing v1.3.0
653691 [44d3d7a6] Weave v0.10.12
654692 [ddb6d928] YAML v0.4.14
0 commit comments