You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #3836 we discovered that DI causes a segfault when it tries to compute a Hessian with Enzyme.
This is due to JuMP forcing splatted arguments, and Base.splat leading to type instabilities (see EnzymeAD/Enzyme.jl#1942).
I recently made some changes to DI which allow better handling of StaticArrays. If we collect the input into an SVector instead of a Vector, the segfault disappears. Should we add this trick to the tutorial, or at least a warning that Enzyme behaves differently?
I'll review a PR, but I personally don't have any plans to modify the tutorial. If Enzyme doesn't work with DI, then users don't have to use it. We already include a section on how to use pure Enzyme. Adding hacks and static arrays and stuff just feels like it isn't JuMP or the user's problem.
I'll review a PR, but I personally don't have any plans to modify the tutorial. If Enzyme doesn't work with DI, then users don't have to use it. We already include a section on how to use pure Enzyme. Adding hacks and static arrays and stuff just feels like it isn't JuMP or the user's problem.
In #3836 we discovered that DI causes a segfault when it tries to compute a Hessian with Enzyme.
This is due to JuMP forcing splatted arguments, and
Base.splat
leading to type instabilities (see EnzymeAD/Enzyme.jl#1942).I recently made some changes to DI which allow better handling of StaticArrays. If we collect the input into an
SVector
instead of aVector
, the segfault disappears. Should we add this trick to the tutorial, or at least a warning that Enzyme behaves differently?Ping @wsmoses
The text was updated successfully, but these errors were encountered: