Skip to content

Commit 3d302bc

Browse files
Merge pull request #1384 from ChrisRackauckas-Claude/add-irkgausslegendre-benchmarks
Add IRKGaussLegendre.jl methods to Non-stiff ODE benchmarks
2 parents 3290179 + 542aad6 commit 3d302bc

File tree

6 files changed

+134
-67
lines changed

6 files changed

+134
-67
lines changed

benchmarks/NonStiffODE/LotkaVolterra_wpd.jmd

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The purpose of this problem is to test the performance on easy problems. Since i
99

1010
```julia
1111
using OrdinaryDiffEq, ParameterizedFunctions, ODEInterfaceDiffEq, LSODA,
12-
Sundials, DiffEqDevTools, StaticArrays, OrdinaryDiffEqSIMDRK
12+
Sundials, DiffEqDevTools, StaticArrays, OrdinaryDiffEqSIMDRK, IRKGaussLegendre
1313

1414
f = @ode_def LotkaVolterra begin
1515
dx = a*x - b*x*y
@@ -42,6 +42,8 @@ setups = [Dict(:alg=>DP5())
4242
Dict(:alg=>dopri5())
4343
Dict(:alg=>Tsit5())
4444
Dict(:alg=>Vern6())
45+
Dict(:alg=>IRKGL16(simd = false))
46+
Dict(:alg=>IRKGL16(simd = true))
4547
Dict(:alg=>Tsit5(), :prob_choice => 2)
4648
Dict(:alg=>Vern6(), :prob_choice => 2)
4749
Dict(:alg=>MER5v2(), :prob_choice => 2)
@@ -63,9 +65,12 @@ setups = [Dict(:alg=>DP5())
6365
#Dict(:alg=>ode45())
6466
Dict(:alg=>Tsit5())
6567
Dict(:alg=>Vern6())
68+
Dict(:alg=>IRKGL16(simd = false))
69+
Dict(:alg=>IRKGL16(simd = true))
6670
Dict(:alg=>Tsit5(), :prob_choice => 2)
6771
Dict(:alg=>Vern6(), :prob_choice => 2)]
68-
wp = WorkPrecisionSet(probs, abstols, reltols, setups; appxsol = test_sol, maxiters = 10000,
72+
wp = WorkPrecisionSet(
73+
probs, abstols, reltols, setups; appxsol = test_sol, maxiters = 10000,
6974
error_estimate = :L2, dense_errors = true, numruns = 100)
7075
plot(wp)
7176
```
@@ -82,6 +87,8 @@ setups = [Dict(:alg=>DP8())
8287
Dict(:alg=>Vern7())
8388
Dict(:alg=>Vern8())
8489
Dict(:alg=>Vern9())
90+
Dict(:alg=>IRKGL16(simd = false))
91+
Dict(:alg=>IRKGL16(simd = true))
8592
Dict(:alg=>Vern6(), :prob_choice => 2)
8693
Dict(:alg=>Vern7(), :prob_choice => 2)
8794
Dict(:alg=>Vern8(), :prob_choice => 2)
@@ -98,6 +105,8 @@ setups = [Dict(:alg=>odex())
98105
Dict(:alg=>Vern7())
99106
Dict(:alg=>Vern8())
100107
Dict(:alg=>Vern9())
108+
Dict(:alg=>IRKGL16(simd = false))
109+
Dict(:alg=>IRKGL16(simd = true))
101110
Dict(:alg=>Vern6(), :prob_choice => 2)
102111
Dict(:alg=>Vern7(), :prob_choice => 2)
103112
Dict(:alg=>Vern8(), :prob_choice => 2)
@@ -119,6 +128,8 @@ setups = [Dict(:alg=>DP8())
119128
Dict(:alg=>Vern7())
120129
Dict(:alg=>Vern8())
121130
Dict(:alg=>Vern9())
131+
Dict(:alg=>IRKGL16(simd = false))
132+
Dict(:alg=>IRKGL16(simd = true))
122133
Dict(:alg=>Vern6(), :prob_choice => 2)
123134
Dict(:alg=>Vern7(), :prob_choice => 2)
124135
Dict(:alg=>Vern8(), :prob_choice => 2)
@@ -141,14 +152,17 @@ reltols = 1.0 ./ 10.0 .^ (8:13)
141152
setups = [Dict(:alg=>Tsit5())
142153
Dict(:alg=>Vern9())
143154
Dict(:alg=>VCABM())
155+
Dict(:alg=>IRKGL16(simd = false))
156+
Dict(:alg=>IRKGL16(simd = true))
144157
Dict(:alg=>Vern9(), :prob_choice => 2)
145158
Dict(:alg=>VCABM(), :prob_choice => 2)
146159
Dict(:alg=>AitkenNeville(min_order = 1, max_order = 9, init_order = 4, threading = true))
147160
Dict(:alg=>ExtrapolationMidpointDeuflhard(
148161
min_order = 1, max_order = 9, init_order = 4, threading = true))
149162
Dict(:alg=>ExtrapolationMidpointHairerWanner(
150163
min_order = 2, max_order = 11, init_order = 4, threading = true))]
151-
solnames = ["Tsit5", "Vern9", "VCABM", "Vern9 Static", "VCABM Static",
164+
solnames = ["Tsit5", "Vern9", "VCABM", "IRKGL16", "IRKGL16 SIMD",
165+
"Vern9 Static", "VCABM Static",
152166
"AitkenNeville", "Midpoint Deuflhard", "Midpoint Hairer Wanner"]
153167
wp = WorkPrecisionSet(
154168
probs, abstols, reltols, setups; appxsol = test_sol, names = solnames,

0 commit comments

Comments
 (0)