-
Notifications
You must be signed in to change notification settings - Fork 35
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
world age validation for certain generated functions #6
Comments
didn't mean to close this with my commit message |
Note that this is essentially no longer fundamentally needed for Cassette to basically work. I'm going to leave it open, though, since it would still be nice to have in the future to make things more robust |
Just to be clear since I was asked, this issue was originally about two separate things:
1 was just a compiler bug which we fixed. 2, however, is more complicated and requires something akin to JuliaLang/julia#27073. |
From #70 (thanks goes to @maleadt):
|
Some debugging dump:
|
If this whole bug just ended up being due to miscompile of the generator itself, that sounds like a way easier bug to fix than attaching world ages to |
669: using Zygote r=MikeInnes a=MikeInnes Otherwise known as "break all the things". This will be a huge change so I'm beginning to prepare now, even though Zygote is still a couple of months off from being really ready. **Do not try this at home** (yet) – this branch is eventually aimed at beta testers, but isn't even ready for that yet. The idea is to break as little code as possible, which means supporting the current `Params` API; but I also want to start prototyping the nicer things discussed in #628 and other issues. Blocking issues: * [x] Get the tests passing. * [x] Check tests on GPU. * [x] Rewrite all the docs. * [x] Cache invalidation (JuliaLabs/Cassette.jl#6). * [x] Moving over adjoints (FluxML/Zygote.jl#81). * [x] General Zygote robustness. Nice to have: * [ ] Robust nested AD (may not be a blocker if one can still use Tracker with Flux). * [x] Zygote support for modules / globals as discussed in #628, along with #637. * [x] Better train/test mode as in #643. If you're the kind of person who ignores triangular road signs, you can try this with ```julia ]add Flux#zygote Zygote#master ``` Co-authored-by: Mike J Innes <mike.j.innes@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: thebhatman <manjunathbhat9920@gmail.com>
There's not an actual upstream issue for this yet.
Cassette relies very heavily on
@generated
functions, which currently have lots of issues w.r.t. world age validation and precompilation. For Cassette's specific use case, many of these issues can be fixed if:CodeInfo
objects retrieved from the method table contained their valid world age boundsCodeInfo
The text was updated successfully, but these errors were encountered: