-
Notifications
You must be signed in to change notification settings - Fork 68
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
Fix higher order codegen #2161
Fix higher order codegen #2161
Conversation
What's the GPU story here? |
So the follow up there is basically to also have a similar handler that looks for deferred_(id) and we'll just run gpucompiler codegen there and inline the module similarly to here where we do the mapping variant from the pointer |
Benchmark Results
Benchmark PlotsA plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR. |
I want to remove the |
Hm how is pre compilation blocked? but in any case yeah this PR primarily just fixes the “Enzyme.autodiff is the outermost compiler job” context |
More thought/design is merited for when that is not the case |
So this PR is the proposed new API for deferred compilation in GPUCompiler JuliaGPU/GPUCompiler.jl#582 this is without any changes for Enzyme. The rest of the stack is one possible way to add the necessary bits and bobs to make it Enzyme compatible. |
We will serialize a Julia CodeInfo that contains a magical pointer/id? That is then used for a dictionary that only exists during the runtime of a particular code. |
hm yeah fair enough. In any case even if not a final resolution, would you be opposed to merging? This net deletes code (including getting rid of a lot of runtime pointers) and removes the autodiff_deferred upgrade in absint, and thus fixes issues like #2147 |
[to be clear we would still need to follow up/continue here, but it also at least unblocks the CPU side higher order stuff] |
No description provided.