Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AbstractDifferentiation #349

Closed
ParadaCarleton opened this issue May 31, 2022 · 7 comments
Closed

AbstractDifferentiation #349

ParadaCarleton opened this issue May 31, 2022 · 7 comments

Comments

@ParadaCarleton
Copy link

Does Enzyme have support for the AbstractDifferentiation.jl interface? If not, is it planned?

@vchuravy
Copy link
Member

It does not currently. But we would welcome a contribution to add it!

@wsmoses
Copy link
Member

wsmoses commented Jun 1, 2022

From my understanding of the dependency structure, I believe the question is better phrased as: does AbstractDifferentiation.jl have Enzyme support?

In fact, they have it listed as part of an issue on their tracker: JuliaDiff/AbstractDifferentiation.jl#40

I'm going to close the issue here (and suggest reopening on AD.jl if the above issue isn't sufficient) since I believe all the code for supporting is simply something AD.jl needs to add.

@wsmoses wsmoses closed this as completed Jun 1, 2022
@vchuravy
Copy link
Member

vchuravy commented Jun 1, 2022

They will have to eventually invert their dependency structure... Adding all AD packages as a dependency is unecessary heavy for an interface package and the AD frameworks should implement their interface.

@ParadaCarleton
Copy link
Author

They will have to eventually invert their dependency structure... Adding all AD packages as a dependency is unecessary heavy for an interface package and the AD frameworks should implement their interface.

Thus why I opened the issue here; I believe the use of @requires to include AD package glue code in AbstractDiff is meant to be temporary. @mohamed82008 is this correct? In addition, what would be required to get Enzyme.jl working with the AbstractDiff interface?

@mohamed82008
Copy link

Yes this is the plan. Last I checked Enzyme, it didn't work with AbstractDifferentiation internals. I am working on a redesign of AbstractDifferentiation that should make it easier for Enzyme to support it.

@schlichtanders
Copy link

@mohamed82008 is there any update on AbstractDifferentiation supporting Enzyme or a respective roadmap/issue?

@mohamed82008
Copy link

Last I tried, Enzyme couldn't differentiate some of AbstractDifferentiation's nested closures. A redesign of AbstractDifferentiation is long due but I haven't had the time to complete it so far. Perhaps I can help someone else willing to take on that task by having a call to discuss some ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants