-
Notifications
You must be signed in to change notification settings - Fork 24.5k
[reland 2] Call jit decomp in VariableType to improve forward AD coverage #84976
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
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/84976
Note: Links to docs will display an error until the docs builds have been completed. ✅ No Failures, 1 PendingAs of commit 31dc0c0: This comment was automatically generated by Dr. CI and updates every 15 minutes. |
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
8138c1e
to
5b87146
Compare
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
015068a
to
1906c1f
Compare
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
…rward AD coverage (pytorch#84151)"" This reverts commit acb4a09. ghstack-source-id: 387eda8 Pull Request resolved: pytorch#84675
1906c1f
to
7c06046
Compare
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
7c06046
to
0ab088b
Compare
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
1 similar comment
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
0ab088b
to
67e4113
Compare
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Hopefully internal builds should passing now. The issue was that certain builds (e.g. lite_trainer) depended on the VariableType files, but do not depend on the jit. Including all of those additional dependencies to get jit to work on lite trainer will blow up the binary size so I don't think we want that. Instead, what I'm doing in this updated PR (see latest commit for new changes) is the same thing that is done with VariableHooksInterface, i.e. provide the apis conditionally depending on whether the library depends on jit. |
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.
The code and approach looks good to me. Two main comments:
- There's a question of what we want to do in the long term. Should we take the TorchScript dependency, or should we just invoke the decomposition in Python? Since the TorchScript route is easy to do and proven to work, we should go with this PR for the short-to-medium term.
- It took me a while to figure out what JitDecompInterface was and why we needed it. We should put a comment with a NOTE somewhere so that folks coming along to read it aren't confused.
c292e2f
to
32a2fbb
Compare
32a2fbb
to
c29d8c2
Compare
I've confirmed that internal tests are passing now. I've cleaned up this PR a little bit and addressed the comments, so it should be ready for another look!
This route makes sense to me as well |
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.
LGTM, minor comments
80bac63
to
3c59876
Compare
3c59876
to
31dc0c0
Compare
@soulitzer has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@pytorchbot merge -g |
@pytorchbot successfully started a merge job. Check the current status here. |
Hey @soulitzer. |
…rage (#84976) Reland of #84675 Pull Request resolved: #84976 Approved by: https://github.com/zou3519
Reland of #84675