-
Notifications
You must be signed in to change notification settings - Fork 70
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
Enzyme Rules, all functioning #382
Conversation
Also will this only work for the CPU? I would prefer if we could have a generalized implementation that would also work for the GPU backends. |
@vchuravy forward mode is functioning with the rule in CUDA, etc. reverse mode, is not because of the previously discussed tape issues. I've actually mostly worked around it, however that would need to be in CUDAKernels.jl as a rule registration to be able to get the parent job (And also because mkcontext, etc is apparently not stable from cpu -> gpu etc). |
Fails in function verification:
|
This looks lke the rule is no longer triggering? |
Ah that's just 1.6 being unsupported |
@vchuravy excludijf nightly which is currently not supported by Enzyme per the swiftcc stuff, this fully builds and runs successfully on CI. can we merge? |
@maleadt Reverse CI for CUDA seems to be broken? Maybe JuliaGPU/CUDA.jl#1970? |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #382 +/- ##
==========================================
- Coverage 87.50% 83.78% -3.72%
==========================================
Files 8 8
Lines 584 623 +39
==========================================
+ Hits 511 522 +11
- Misses 73 101 +28
☔ View full report in Codecov by Sentry. |
@wsmoses did you test this with CUDA? |
I did not, but only forward mode has a rule for all backends. Otherwise the PR intentionally just adds reverse mode for CPU. Reason is the tape nested job stuff we discussed, which will take some thinking to solve. |
Requires https://github.com/EnzymeAD/Enzyme.jl/pull/729/checks
I failed to understand the extension work, so please feel free to rework.