ImplicitDifferentiation.jl icon indicating copy to clipboard operation
ImplicitDifferentiation.jl copied to clipboard

Support Enzyme through EnzymeRules

Open vchuravy opened this issue 1 month ago • 4 comments

Took a stab at defining a rule for Enzyme, still need to port the reverse rule

vchuravy avatar Nov 13 '25 22:11 vchuravy

Hi, thanks for the contribution! I didn't think anyone was actually using this package. Are you sure you pushed all the commits?

gdalle avatar Nov 14 '25 05:11 gdalle

sigh missed the extension itself.

I was looking at ImplicitDifferentiation for AD through non linear problems and adjoint models for implicit time integration.

vchuravy avatar Nov 14 '25 05:11 vchuravy

I was looking at ImplicitDifferentiation for AD through non linear problems and adjoint models for implicit time integration.

Feel free to suggest any improvements! Right now the biggest limitations are

  • the out-of-place linear operator
  • the allocating linear solver of KrylovKit (but it was the one that came closest to idiomatic Julia without type restrictions, as opposed to Krylov which has lots of weird conversions)

gdalle avatar Nov 14 '25 06:11 gdalle

Thanks for the contribution! Before I review, can you add Enzyme to the systematic tests, both as an inner and as an outer backend, to see if they run?

gdalle avatar Nov 15 '25 12:11 gdalle