-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Destroy process group in atexit handler #19931
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #19931 +/- ##
=========================================
- Coverage 84% 59% -25%
=========================================
Files 426 421 -5
Lines 35258 35166 -92
=========================================
- Hits 29600 20762 -8838
- Misses 5658 14404 +8746 |
for more information, see https://pre-commit.ci
06d0ec9
to
c751e2d
Compare
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.
Looks good, added a comment
f2b4001
to
0f68728
Compare
87efe08
to
c22c492
Compare
c22c492
to
5ce7086
Compare
What does this PR do?
PyTorch 2.4 added a warning if you don't explicitly call
torch.distributed.destroy_process_group()
at the end of your program:This will become annoying to users of Lightning because in the vast majority of cases it's completely harmless. The warning is emitted from the C module, so it can't be suppressed via Python. In the spirit of Lightning and making code agnostic to strategy/accelerator, we don't want users to have to make this call manually and remember it every time.
In this PR, I propose to register the destruction in atexit so it runs every time the program exits normally.
📚 Documentation preview 📚: https://pytorch-lightning--19931.org.readthedocs.build/en/19931/
cc @Borda @carmocca @justusschock @awaelchli