-
-
Notifications
You must be signed in to change notification settings - Fork 213
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
move Distances, AbstractFFTs and SpecialFunctions' rules out of Zygote #835
Comments
@mcabbott @willtebbutt so we want to do all this by v0.6, migrating stuff to packages and ChainRules if package owners are not willing to carry the extra dependence (which could be the case for all of them, since they are all very lean)? |
Wouldn't put it out for 0.6, but bump it for a bit later since this is a fair amount of work and can incur breakages which need to be accounted for beforehand |
My two cent FWIW: I wouldn't personally object to these all going into 0.6, provided that new patch releases to 0.5 aren't blocked while this is happening (i.e. the development happens on a separate 0.6-DEV branch). I guess it depends on what time scale you want to see 0.6 on. Also, I think edit: looks like |
NNlib and LoopVectorization excision are already on master, so we could just do whatever is left to do for SpecialFunctions and tag v0.6, without the additional complexity of having to branch out a release-0.5 and start backporting things |
Does Zygote's forward mode use ChainRules? If so, then removing SpecialFunctions should be easy. Which others might be worth trying to do quickly, and holding up 0.6? If it's just a short time we should just leave everything on master; a medium time maybe it's worth messing with branches; a long time then it should just be 0.7 someday, I think. Messing with Requires to make temporary solutions doesn't sound like great use of everyone's time.
|
Sadly it does not. Re: AbstractFFTs. For Distances.jl and StatsFuns.jl we should follow JuliaDiff/ChainRules.jl#280 |
OK. It sounds like this The transition to that can be done without breaking, so 0.6 need not wait for it. |
I think it's totally fine for AbstractFFTs to depend on ChainRulesCore… |
FYI I opened a PR to StatsFuns a while ago (JuliaStats/StatsFuns.jl#106) but it has not been approved (yet) even though the package already depends on ChainRulesCore indirectly via SpecialFunctions. Maybe one should create a glue package instead and add the definitions there? |
I made a PR for AbstractFFTs: JuliaMath/AbstractFFTs.jl#58 |
...to the respective repos, using ChainRulesCore.
This is a list of non-Base functions currently having adjoints in Zygote:
The text was updated successfully, but these errors were encountered: