-
Notifications
You must be signed in to change notification settings - Fork 25.6k
[PGO] no code state update on dynamic=False #155961
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/155961
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 662ff18 with merge base 54976bc ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This pull request was exported from Phabricator. Differential Revision: D76630499 |
4b1c793
to
3efbc7b
Compare
This pull request was exported from Phabricator. Differential Revision: D76630499 |
3efbc7b
to
62f8082
Compare
This pull request was exported from Phabricator. Differential Revision: D76630499 |
62f8082
to
4f00810
Compare
Summary: When tensor size changes are detected on `dynamic=False`, overwrites the PGO state with the newest static shapes to reflect the latest frame state, instead of updating automatic dynamic. A longer term solution, if we move to shared PGO state between multiple jobs, would be to update automatic dynamic, but avoid suggesting/logging the whitelist (compiling with `dynamic=False` should already override any dynamic PGO that's read, so we're fine there). This way if any particular job runs with `dynamic=False`, it won't statically overwrite the entire PGO state if it's shared with many other jobs. Test Plan: test/dynamo/test_pgo.py Rollback Plan: Reviewed By: bobrenjc93 Differential Revision: D76630499
4f00810
to
3dcdf3f
Compare
This pull request was exported from Phabricator. Differential Revision: D76630499 |
3dcdf3f
to
1d3a931
Compare
This pull request was exported from Phabricator. Differential Revision: D76630499 |
1d3a931
to
ef8540e
Compare
Summary: When tensor size changes are detected on `dynamic=False`, overwrites the PGO state with the newest static shapes to reflect the latest frame state, instead of updating automatic dynamic. A longer term solution, if we move to shared PGO state between multiple jobs, would be to update automatic dynamic, but avoid suggesting/logging the whitelist (compiling with `dynamic=False` should already override any dynamic PGO that's read, so we're fine there). This way if any particular job runs with `dynamic=False`, it won't statically overwrite the entire PGO state if it's shared with many other jobs. Test Plan: test/dynamo/test_pgo.py Rollback Plan: Reviewed By: bobrenjc93 Differential Revision: D76630499
ef8540e
to
662ff18
Compare
This pull request was exported from Phabricator. Differential Revision: D76630499 |
@pytorchbot merge (Initiating merge automatically since Phabricator Diff has merged) |
Merge failedReason: This PR has internal changes and must be landed via Phabricator! Please try reimporting/rexporting the PR! Details for Dev Infra teamRaised by workflow job |
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Merge failedReason: 1 jobs have failed, first few of them are: Meta Internal-Only Changes Check Details for Dev Infra teamRaised by workflow job |
@pytorchbot merge -i |
Merge startedYour change will be merged while ignoring the following 1 checks: Meta Internal-Only Changes Check Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Summary:
When tensor size changes are detected on
dynamic=False
, overwrites the PGO state with the newest static shapes to reflect the latest frame state, instead of updating automatic dynamic.A longer term solution, if we move to shared PGO state between multiple jobs, would be to update automatic dynamic, but avoid suggesting/logging the whitelist (compiling with
dynamic=False
should already override any dynamic PGO that's read, so we're fine there). This way if any particular job runs withdynamic=False
, it won't statically overwrite the entire PGO state if it's shared with many other jobs.Test Plan:
test/dynamo/test_pgo.py
Rollback Plan:
Differential Revisi,on: D76630499
cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @chenyang78 @kadeng @chauhang @amjames