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

[WIP, not to merge] Migrate to Enzyme #127

Closed
wants to merge 2 commits into from
Closed

Conversation

simsurace
Copy link
Member

@simsurace simsurace commented Jan 23, 2024

The library is getting hard to maintain mainly because of the way it works around Zygote limitations, which is by using a lot of hacks and type piracy that are relying on various package internals and are therefore prone to breakage.
This is a draft to migrate to Enzyme and getting rid of all AD-specific hacks.
TODOs:

  • Make examples run with Enzyme
  • Add integration tests for AD to cover all input types and kernels.

@coveralls
Copy link

coveralls commented Jan 23, 2024

Pull Request Test Coverage Report for Build 7863797563

  • -1 of 102 (99.02%) changed or added relevant lines in 11 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall first build on drop-zygote at 92.95%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/models/linear_gaussian_conditionals.jl 16 17 94.12%
Totals Coverage Status
Change from base Build 7625236479: 93.0%
Covered Lines: 1002
Relevant Lines: 1078

💛 - Coveralls

@simsurace simsurace changed the title [WIP, not to merge] Drop Zygote [WIP, not to merge] Migrate to Enzyme Feb 11, 2024
@simsurace
Copy link
Member Author

The first example, exact time learning, now runs on Enzyme. There might be a bug still in Enzyme, which is why the shadows wrt. the inputs are needed right now.

@willtebbutt
Copy link
Member

@simsurace are you still interested in this? I've recently excised basically all of the AD-related code in favour of just using Mooncake.jl, so I imagine you would just need to check that Enzyme successfully runs on some high-level examples?

@simsurace
Copy link
Member Author

Hi, nice work on Mooncake and great that we have another option now. I'm still interested but since my work currently does not need GPs I have had to set these interests somewhat aside. I will almost certainly be using GPs again sooner or later so I hope JuliaGPs lives on.

@willtebbutt
Copy link
Member

Thanks @simsurace. In this case I'm going to close this PR for the time being, as I suspect that things have moved on quite a bit since you were attempting to get it to work. Please feel free to reopen at some point in future if you start using GPs again!

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

Successfully merging this pull request may close these issues.

3 participants