-
Notifications
You must be signed in to change notification settings - Fork 8
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
Add Reactant #265
Comments
Why not but I don't understand what the package does or how it would fit within DI, so you'll have to hold my hand on this one ^^ |
Yeah so basically, Reactant exports a compile utility which takes a julia function and arguments, and compiles it to a nice/fast version of it. It does require that all data one cares about to be passed in using ConcreteRArrays rather than Ararys [and structs of those/etc]. We do have a tracer utility which will take an arg and auotmatically changes arrays to ConcreteRArrays for you though. This can obviously compile code with an autodiff call on the inside, such as Enzyme. See here: https://github.com/EnzymeAD/Reactant.jl/blob/292dc03593ceb1a7a1f022fd7d3289bd69b000b5/test/basic.jl#L81. Enzyme usage should end up with quite good performance since the fancy optimizations that Reactant applies will be able to interoperate with AD. |
We also now have a brief tldr in the readme: https://github.com/EnzymeAD/Reactant.jl/tree/main |
So how would you see this in the context of DI? As a variant of the Enzyme backend which Reactant-compiles the function during preparation? |
I think the other way around. Reactant can take another AD backend (perhaps
with enzyme as default)
…On Fri, May 17, 2024 at 2:34 AM Guillaume Dalle ***@***.***> wrote:
So how would you see this in the context of DI? As a variant of the Enzyme
backend which Reactant-compiles the function during preparation?
—
Reply to this email directly, view it on GitHub
<#265 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJTUXH6GJ5F3VCRQQWRCYLZCXFMDAVCNFSM6AAAAABH3ROHEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJXGE2DMMZYGM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
And do what with it? Compile and convert everything before and after use? |
Yup |
I would welcome a PR with an example! |
It's not quite an AD engine in its own right, but given how it traces things and can make for much better performance/compatibility, and can be used with an AD engine, it seems like a natural fit.
The text was updated successfully, but these errors were encountered: