Skip to content

Commit

Permalink
Automatic build\nPublished by build of: SciML/SciMLBenchmarks.jl@55403f7
Browse files Browse the repository at this point in the history
  • Loading branch information
JuliaLangBuildkite committed Dec 20, 2024
1 parent 336c3b8 commit cc7be52
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ using LinearAlgebra
using SparseConnectivityTracer: TracerSparsityDetector
using SparseMatrixColorings
import Enzyme,ForwardDiff,Mooncake
import Markdown, PrettyTables, Printf
```


Expand Down Expand Up @@ -113,6 +114,15 @@ scenarios = [ Scenario{:jacobian,:out}(Diffusion,u,res1=DDiffusion(u))];

```julia
df = benchmark_differentiation(bcks, scenarios)
table = PrettyTables.pretty_table(
String,
df;
backend=Val(:markdown),
header=names(df),
formatters=PrettyTables.ft_printf("%.1e"),
)

Markdown.parse(table)
```

```
Expand All @@ -125,22 +135,22 @@ Testing benchmarks
| 12 12 1m32.6s
| 12 12 1m32.4s
ADTypes.AutoEnzyme(mode=EnzymeCore.ReverseMode{false, false, EnzymeCore.F
FIABI, false, false}())
| 2 2 23.8s
| 2 2 23.7s
ADTypes.AutoEnzyme(mode=EnzymeCore.ForwardMode{false, EnzymeCore.FFIABI,
false, false}())
| 2 2 22.7s
| 2 2 22.5s
ADTypes.AutoMooncake{Nothing}(nothing)
| 2 2 34.5s
| 2 2 34.4s
ADTypes.AutoForwardDiff()
Expand All @@ -156,39 +166,22 @@ e{false, EnzymeCore.FFIABI, false, false}()), sparsity_detector=SparseConne
ctivityTracer.TracerSparsityDetector(), coloring_algorithm=SparseMatrixColo
rings.GreedyColoringAlgorithm{:direct, SparseMatrixColorings.NaturalOrder}(
SparseMatrixColorings.NaturalOrder())) | 2 2 3.2s
12×12 DataFrame
Row │ backend scenario
o ⋯
│ Abstract… Scenario…
S ⋯
─────┼─────────────────────────────────────────────────────────────────────
─────
1 │ AutoEnzyme(mode=ReverseMode{fals… Scenario{:jacobian,:out} Diffusi…
v ⋯
2 │ AutoEnzyme(mode=ReverseMode{fals… Scenario{:jacobian,:out} Diffusi…
j
3 │ AutoEnzyme(mode=ForwardMode{fals… Scenario{:jacobian,:out} Diffusi…
v
4 │ AutoEnzyme(mode=ForwardMode{fals… Scenario{:jacobian,:out} Diffusi…
j
5 │ AutoMooncake{Nothing}(nothing) Scenario{:jacobian,:out} Diffusi…
v ⋯
6 │ AutoMooncake{Nothing}(nothing) Scenario{:jacobian,:out} Diffusi…
j
7 │ AutoForwardDiff() Scenario{:jacobian,:out} Diffusi…
v
8 │ AutoForwardDiff() Scenario{:jacobian,:out} Diffusi…
j
9 │ AutoSparse(dense_ad=AutoForwardD… Scenario{:jacobian,:out} Diffusi…
v ⋯
10 │ AutoSparse(dense_ad=AutoForwardD… Scenario{:jacobian,:out} Diffusi…
j
11 │ AutoSparse(dense_ad=AutoEnzyme(m… Scenario{:jacobian,:out} Diffusi…
v
12 │ AutoSparse(dense_ad=AutoEnzyme(m… Scenario{:jacobian,:out} Diffusi…
j
10 columns om
itted
```



| **backend** | **scenario** | **operator** | **prepared** | **calls** | **samples** | **evals** | **time** | **allocs** | **bytes** | **gc_fraction** | **compile_fraction** |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -----------------------------------------------------------------------:| ------------------:| ------------:| ---------:| -----------:| ---------:| --------:| ----------:| ---------:| ---------------:| --------------------:|
| AutoEnzyme(mode=ReverseMode{false, false, FFIABI, false, false}()) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | value_and_jacobian | 1.0e+00 | 6.4e+01 | 2.0e+01 | 1.0e+00 | 4.3e-02 | 2.3e+03 | 2.8e+08 | 5.5e-02 | 0.0e+00 |
| AutoEnzyme(mode=ReverseMode{false, false, FFIABI, false, false}()) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | jacobian | 1.0e+00 | 6.3e+01 | 2.3e+01 | 1.0e+00 | 4.3e-02 | 2.3e+03 | 2.8e+08 | 5.9e-02 | 0.0e+00 |
| AutoEnzyme(mode=ForwardMode{false, FFIABI, false, false}()) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | value_and_jacobian | 1.0e+00 | 6.3e+01 | 1.3e+02 | 1.0e+00 | 6.5e-03 | 3.2e+03 | 1.8e+07 | 0.0e+00 | 0.0e+00 |
| AutoEnzyme(mode=ForwardMode{false, FFIABI, false, false}()) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | jacobian | 1.0e+00 | 6.3e+01 | 1.2e+02 | 1.0e+00 | 7.0e-03 | 3.2e+03 | 1.8e+07 | 0.0e+00 | 0.0e+00 |
| AutoMooncake{Nothing}(nothing) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | value_and_jacobian | 1.0e+00 | 1.0e+00 | 2.0e+00 | 1.0e+00 | 6.0e-01 | 1.0e+04 | 4.0e+09 | 5.9e-02 | 0.0e+00 |
| AutoMooncake{Nothing}(nothing) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | jacobian | 1.0e+00 | 0.0e+00 | 2.0e+00 | 1.0e+00 | 6.1e-01 | 1.0e+04 | 4.0e+09 | 6.1e-02 | 0.0e+00 |
| AutoForwardDiff() | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | value_and_jacobian | 1.0e+00 | 8.5e+01 | 2.4e+02 | 1.0e+00 | 3.7e-03 | 1.7e+02 | 1.7e+07 | 0.0e+00 | 0.0e+00 |
| AutoForwardDiff() | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | jacobian | 1.0e+00 | 8.4e+01 | 2.4e+02 | 1.0e+00 | 3.7e-03 | 1.7e+02 | 1.7e+07 | 0.0e+00 | 0.0e+00 |
| AutoSparse(dense_ad=AutoForwardDiff(), sparsity_detector=TracerSparsityDetector(), coloring_algorithm=GreedyColoringAlgorithm{:direct, NaturalOrder}(NaturalOrder())) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | value_and_jacobian | 1.0e+00 | 2.0e+00 | 4.5e+04 | 1.0e+00 | 1.3e-05 | 8.0e+00 | 9.6e+04 | 0.0e+00 | 0.0e+00 |
| AutoSparse(dense_ad=AutoForwardDiff(), sparsity_detector=TracerSparsityDetector(), coloring_algorithm=GreedyColoringAlgorithm{:direct, NaturalOrder}(NaturalOrder())) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | jacobian | 1.0e+00 | 1.0e+00 | 4.9e+04 | 1.0e+00 | 1.3e-05 | 7.0e+00 | 8.8e+04 | 0.0e+00 | 0.0e+00 |
| AutoSparse(dense_ad=AutoEnzyme(mode=ForwardMode{false, FFIABI, false, false}()), sparsity_detector=TracerSparsityDetector(), coloring_algorithm=GreedyColoringAlgorithm{:direct, NaturalOrder}(NaturalOrder())) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | value_and_jacobian | 1.0e+00 | 2.0e+00 | 4.9e+04 | 1.0e+00 | 1.2e-05 | 1.0e+01 | 9.7e+04 | 0.0e+00 | 0.0e+00 |
| AutoSparse(dense_ad=AutoEnzyme(mode=ForwardMode{false, FFIABI, false, false}()), sparsity_detector=TracerSparsityDetector(), coloring_algorithm=GreedyColoringAlgorithm{:direct, NaturalOrder}(NaturalOrder())) | Scenario{:jacobian,:out} Diffusion : Vector{Float64} -> Vector{Float64} | jacobian | 1.0e+00 | 1.0e+00 | 5.5e+04 | 1.0e+00 | 9.0e-06 | 9.0e+00 | 8.9e+04 | 0.0e+00 | 0.0e+00 |

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ using LinearAlgebra
using SparseConnectivityTracer: TracerSparsityDetector
using SparseMatrixColorings
import Enzyme,ForwardDiff,Mooncake
import Markdown, PrettyTables, Printf


bcks = [
Expand Down Expand Up @@ -60,4 +61,13 @@ scenarios = [ Scenario{:jacobian,:out}(Diffusion,u,res1=DDiffusion(u))];


df = benchmark_differentiation(bcks, scenarios)
table = PrettyTables.pretty_table(
String,
df;
backend=Val(:markdown),
header=names(df),
formatters=PrettyTables.ft_printf("%.1e"),
)

Markdown.parse(table)

0 comments on commit cc7be52

Please sign in to comment.