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

[Train] Make prepare_model always use the correct device #29104

Merged
merged 1 commit into from
Oct 6, 2022

Conversation

amogkam
Copy link
Contributor

@amogkam amogkam commented Oct 6, 2022

Signed-off-by: Amog Kamsetty amogkamsetty@yahoo.com

Previously, prepare_model would use the local rank as the device even though local rank may not be the same as the actual device index. This mismatch can happen when CUDA_VISIBLE_DEVICES is set for example, which we do by default in Ray Train.

We should always use train.torch.get_device() as the device values for wrapping in DDP.

Closes #28996

Why are these changes needed?

Related issue number

Checks

  • I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

Signed-off-by: Amog Kamsetty <amogkamsetty@yahoo.com>
Copy link
Member

@bveeramani bveeramani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems reasonable

@amogkam amogkam merged commit 2217f0c into ray-project:master Oct 6, 2022
@amogkam amogkam deleted the fix-ddp-wrap branch October 6, 2022 04:16
WeichenXu123 pushed a commit to WeichenXu123/ray that referenced this pull request Dec 19, 2022
…ct#29104)

Signed-off-by: Amog Kamsetty amogkamsetty@yahoo.com

Previously, prepare_model would use the local rank as the device even though local rank may not be the same as the actual device index. This mismatch can happen when CUDA_VISIBLE_DEVICES is set for example, which we do by default in Ray Train.

We should always use train.torch.get_device() as the device values for wrapping in DDP.

Closes ray-project#28996

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[release][CI] air_benchmark_tune_torch_mnist_large_gpu failed
4 participants