-
Notifications
You must be signed in to change notification settings - Fork 37
[WIP] GPUCompiler + custom JIT #1760
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
base: main
Are you sure you want to change the base?
Conversation
|
|
||
| struct ReactantToken end | ||
|
|
||
| @kwdef struct ReactantInterpreter <: CC.AbstractInterpreter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it still may be useful to have this inherit from the enzyme interp (but we can still specialize the methods below if set to reactant_abi or w/e).
Is it possible/reasonable to do that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that possible to elaborate? I don't get what can be used from the enzyme interp.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
longer term we need to retain the noinline/etc characteristics from the enzyme custom rules, so its preferable to build off the enzyme interp, and perhap specialize it on these methods for the reactant version (e.g. when we have reactant-specific type parameters)
cc @avik-pal
| CC = Core.Compiler | ||
|
|
||
| #leak each argument to a global variable | ||
| macro lk(args...) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we rename this leak?
also I don't quite follow why this is needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I don't have cleanup my debug stuff. I will remove it.
|
@gbaraldi can you help review? |
wsmoses
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bumping here just because code will get stale over time if not merged (relatedly the 1.12 fixes we did not conflict here)
|
I got three kinds of issues atm. |
Extract from #1754, use a custom GPUCompiler infra / ORC JIT to replace
OpaqueClosure.ReactantInterpreterwithout depending onEnzymeinterpreter.I only test this on 1.11, it probably don't run on 1.10. Now, I mostly want to check if that approach can work at scale. I let all debug stuff atm.