Skip to content
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 device parser logic to avoid creating CUDA context #14319

Merged
merged 12 commits into from
Aug 26, 2022

Conversation

awaelchli
Copy link
Contributor

@awaelchli awaelchli commented Aug 19, 2022

What does this PR do?

Fixes #14292

Discussed several solutions offline with @carmocca and @justusschock:

  • Rearrange logic in AcceleratorConnector: not feasible
  • Use a different start method to launch the process in which we evaluate the cuda function: too costly
  • Detect whether we are running inside of ray process: Not possible

Opened issue on torch side: pytorch/pytorch#83973

The current solution seems to be the only one that allows us to have support for ddp-fork and at the same time be compatible with other frameworks. Ray users will have to set PL_DISABLE_FORK=1 for now.

Before submitting

  • Was this discussed/approved via a GitHub issue? (not for typos and docs)
  • Did you read the contributor guideline, Pull Request section?
  • Did you make sure your PR does only one thing, instead of bundling different changes together?
  • Did you make sure to update the documentation with your changes? (if necessary)
  • Did you write any new necessary tests? (not for typos and docs)
  • Did you verify new and existing tests pass locally with your changes?
  • Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review

Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

  • Is this pull request ready for review? (if not, please submit in draft mode)
  • Check that all items from Before submitting are resolved
  • Make sure the title is self-explanatory and the description concisely explains the PR
  • Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?

I made sure I had fun coding 🙃

cc @Borda @tchaton @rohitgr7 @justusschock @kaushikb11 @awaelchli @akihironitta

@awaelchli awaelchli added the bug Something isn't working label Aug 19, 2022
@awaelchli awaelchli added this to the pl:1.7.x milestone Aug 19, 2022
@github-actions github-actions bot added the pl Generic label for PyTorch Lightning package label Aug 19, 2022
@awaelchli awaelchli force-pushed the bugfix/disable-fork branch from 6af28b3 to e449487 Compare August 23, 2022 13:06
@awaelchli awaelchli added strategy: ddp spawn 3rd party Related to a 3rd-party priority: 0 High priority task labels Aug 23, 2022
@awaelchli awaelchli marked this pull request as ready for review August 24, 2022 12:52
@mergify mergify bot added the ready PRs ready to be merged label Aug 25, 2022
@mergify mergify bot added has conflicts and removed ready PRs ready to be merged labels Aug 26, 2022
@mergify mergify bot added ready PRs ready to be merged and removed has conflicts ready PRs ready to be merged labels Aug 26, 2022
@justusschock justusschock enabled auto-merge (squash) August 26, 2022 08:12
@mergify mergify bot added has conflicts and removed ready PRs ready to be merged labels Aug 26, 2022
@justusschock justusschock disabled auto-merge August 26, 2022 12:01
@mergify mergify bot added ready PRs ready to be merged and removed has conflicts ready PRs ready to be merged labels Aug 26, 2022
@justusschock justusschock enabled auto-merge (squash) August 26, 2022 12:01
@mergify mergify bot added the ready PRs ready to be merged label Aug 26, 2022
@justusschock justusschock merged commit fafd254 into master Aug 26, 2022
@justusschock justusschock deleted the bugfix/disable-fork branch August 26, 2022 15:41
rohitgr7 pushed a commit that referenced this pull request Aug 27, 2022
* let environment disable forking

* add helper function and error messages

* tests

* changelog

Co-authored-by: Justus Schock <[email protected]>
Co-authored-by: Jirka Borovec <[email protected]>
lexierule pushed a commit that referenced this pull request Aug 31, 2022
* let environment disable forking

* add helper function and error messages

* tests

* changelog

Co-authored-by: Justus Schock <[email protected]>
Co-authored-by: Jirka Borovec <[email protected]>
@awaelchli awaelchli added strategy: ddp DistributedDataParallel and removed strategy: ddp spawn labels Nov 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party Related to a 3rd-party bug Something isn't working pl Generic label for PyTorch Lightning package priority: 0 High priority task ready PRs ready to be merged strategy: ddp DistributedDataParallel
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Actor hangs with ray using PL v>=1.7
5 participants