-
Notifications
You must be signed in to change notification settings - Fork 509
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
Fix stream sync for scratch pad eviction #2843
Conversation
✅ Deploy Preview for pytorch-fbgemm-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
This pull request was exported from Phabricator. Differential Revision: D59716516 |
This pull request was exported from Phabricator. Differential Revision: D59716516 |
Summary: Pull Request resolved: pytorch#2843 Before this diff, SSD TBE unsafely evicts data from the scratch pad (the buffer that stores conflict missed data). The eviction happened on the SSD stream while the backward TBE happened on the default stream. SSD TBE did not properly synchronize the streams to ensure that the backward TBE completed before evicting data from the scratch pad. This diff fixes the problem by adding the syncrhonization between streams to ensure the correct execution order between the backward TBE and the scratch pad eviction. Differential Revision: D59716516
This pull request was exported from Phabricator. Differential Revision: D59716516 |
Summary: Pull Request resolved: pytorch#2843 Before this diff, SSD TBE unsafely evicts data from the scratch pad (the buffer that stores conflict missed data). The eviction happened on the SSD stream while the backward TBE happened on the default stream. SSD TBE did not properly synchronize the streams to ensure that the backward TBE completed before evicting data from the scratch pad. This diff fixes the problem by adding the syncrhonization between streams to ensure the correct execution order between the backward TBE and the scratch pad eviction. Differential Revision: D59716516
Differential Revision: D59795139
Summary: Pull Request resolved: pytorch#2843 Before this diff, SSD TBE unsafely evicts data from the scratch pad (the buffer that stores conflict missed data). The eviction happened on the SSD stream while the backward TBE happened on the default stream. SSD TBE did not properly synchronize the streams to ensure that the backward TBE completed before evicting data from the scratch pad. This diff fixes the problem by adding the syncrhonization between streams to ensure the correct execution order between the backward TBE and the scratch pad eviction. **Before and after this diff** {F1761028617} **Before:** the scratch pad eviction happens as soon as the cache eviction is done, which is incorrect. In the figure, it overlaps with TBE forward and backward. **After:** the scartch pad eviction happens after the backward pass of TBE is done Reviewed By: q10 Differential Revision: D59716516
This pull request was exported from Phabricator. Differential Revision: D59716516 |
This pull request has been merged in 13d5470. |
Summary:
Before this diff, SSD TBE unsafely evicts data from the scratch pad
(the buffer that stores conflict missed data). The eviction happened
on the SSD stream while the backward TBE happened on the default
stream. SSD TBE did not properly synchronize the streams to ensure
that the backward TBE completed before evicting data from the scratch
pad. This diff fixes the problem by adding the syncrhonization
between streams to ensure the correct execution order between the
backward TBE and the scratch pad eviction.
Differential Revision: D59716516