Skip to content

Commit 213ec24

Browse files
wsmosespenelopeysm
authored andcommitted
Add Enzyme to benchmark tests
1 parent fcdfe03 commit 213ec24

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
1616
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
1717
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
1818
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
19+
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
1920
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
2021
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
2122
LogDensityProblems = "6fdf6af0-433a-55f7-b3ed-c6c6e0b8df7c"

benchmarks/benchmarks.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,17 @@ chosen_combinations = [
4343
("Smorgasbord", smorgasbord_instance, :simple_dict, :forwarddiff, true),
4444
("Smorgasbord", smorgasbord_instance, :typed, :reversediff, true),
4545
("Smorgasbord", smorgasbord_instance, :typed, :mooncake, true),
46+
("Smorgasbord", smorgasbord_instance, :typed, :enzyme, true),
4647
("Loop univariate 1k", loop_univariate1k, :typed, :mooncake, true),
4748
("Multivariate 1k", multivariate1k, :typed, :mooncake, true),
4849
("Loop univariate 10k", loop_univariate10k, :typed, :mooncake, true),
4950
("Multivariate 10k", multivariate10k, :typed, :mooncake, true),
5051
("Dynamic", Models.dynamic(), :typed, :mooncake, true),
52+
("Dynamic", Models.dynamic(), :typed, :enzyme, true),
5153
("Submodel", Models.parent(randn(rng)), :typed, :mooncake, true),
54+
("Submodel", Models.parent(randn(rng)), :typed, :enzyme, true),
5255
("LDA", lda_instance, :typed, :reversediff, true),
56+
("LDA", lda_instance, :typed, :enzyme, true),
5357
]
5458

5559
# Time running a model-like function that does not use DynamicPPL, as a reference point.

benchmarks/src/DynamicPPLBenchmarks.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ using StableRNGs: StableRNG
1313

1414
include("./Models.jl")
1515
using .Models: Models
16-
16+
import Enzyme
1717
export Models, make_suite, model_dimension
1818

1919
"""
@@ -37,6 +37,7 @@ const SYMBOL_TO_BACKEND = Dict(
3737
:reversediff => ADTypes.AutoReverseDiff(; compile=false),
3838
:reversediff_compiled => ADTypes.AutoReverseDiff(; compile=true),
3939
:mooncake => ADTypes.AutoMooncake(; config=nothing),
40+
:enzyme => ADTypes.AutoEnzyme(; mode=Enzyme.set_runtime_activity(Enzyme.Reverse), function_annotation=Enzyme.Const),
4041
)
4142

4243
to_backend(x) = error("Unknown backend: $x")

0 commit comments

Comments
 (0)