Skip to content

Commit fefe54d

Browse files
committed
Disable Enzyme benchmark
1 parent 0691074 commit fefe54d

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

benchmarks/benchmarks.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ chosen_combinations = [
6666
# ("Smorgasbord", smorgasbord_instance, :untyped_vector, :forwarddiff, true),
6767
("Smorgasbord", smorgasbord_instance, :typed, :reversediff, true),
6868
("Smorgasbord", smorgasbord_instance, :typed, :mooncake, true),
69-
("Smorgasbord", smorgasbord_instance, :typed, :enzyme, true),
69+
# ("Smorgasbord", smorgasbord_instance, :typed, :enzyme, true),
7070
("Loop univariate 1k", loop_univariate1k, :typed, :mooncake, true),
7171
("Multivariate 1k", multivariate1k, :typed, :mooncake, true),
7272
("Loop univariate 10k", loop_univariate10k, :typed, :mooncake, true),

src/fastldf.jl

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,25 @@ function (f::FastLogDensityAt)(params::AbstractVector{<:Real})
350350
return f._getlogdensity(vi)
351351
end
352352

353+
function _evaluate!!(model::Model, varinfo::OnlyAccsVarInfo)
354+
if leafcontext(model.context) isa FastEvalVectorContext
355+
args = map(maybe_deepcopy, model.args)
356+
return model.f(model, varinfo, args...; model.defaults...)
357+
else
358+
error("Shouldn't happen")
359+
end
360+
end
361+
maybe_deepcopy(@nospecialize(x)) = x
362+
function maybe_deepcopy(x::AbstractArray{T}) where {T}
363+
if T >: Missing
364+
# avoid overwriting missing elements of model arguments when
365+
# evaluating the model.
366+
deepcopy(x)
367+
else
368+
x
369+
end
370+
end
371+
353372
function LogDensityProblems.logdensity(fldf::FastLDF, params::AbstractVector{<:Real})
354373
return FastLogDensityAt(
355374
fldf.model, fldf._getlogdensity, fldf._iden_varname_ranges, fldf._varname_ranges

0 commit comments

Comments
 (0)