pytorch-lightning icon indicating copy to clipboard operation
pytorch-lightning copied to clipboard

Refactor `XLADeviceUtils`

Open carmocca opened this issue 3 years ago • 2 comments

What does this PR do?

Move XLA utilities together with the TPUAccelerator Deprecate one more redundant utility function

Follow-up to https://github.com/Lightning-AI/lightning/pull/14514 Part of #11826 Part of #12786

Does your PR introduce any breaking changes? If yes, please list them.

None

Before submitting

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

PR review

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

carmocca avatar Sep 06 '22 02:09 carmocca

@carmocca just to be sure, you are not mixing up tpu_available with xla_available? These are two different things. One can have xla available on a machine without tpus.

awaelchli avatar Sep 19 '22 16:09 awaelchli

@awaelchli In this PR, tpu_available is deleted in favor of TPUAccelerator.is_available().

In most places, we want to check XLA_AVAILABLE as that's what needs to be True to successfully import torch_xla. TPUAccelerator.is_available() includes XLA_AVAILABLE because torch_xla is necessary to check whether we have TPU hardware.

I don't think I mixed things up, but there might be mistakes. Tests are not fixed yet.

carmocca avatar Sep 19 '22 17:09 carmocca

@awaelchli I'll need you to run MPS tests locally with this branch

carmocca avatar Oct 03 '22 23:10 carmocca

Codecov Report

Merging #14550 (d296b7b) into master (b936fd4) will increase coverage by 2%. The diff coverage is 66%.

Additional details and impacted files
@@            Coverage Diff            @@
##           master   #14550     +/-   ##
=========================================
+ Coverage      83%      85%     +2%     
=========================================
  Files         396      275    -121     
  Lines       29007    21166   -7841     
=========================================
- Hits        24032    17919   -6113     
+ Misses       4975     3247   -1728     

codecov[bot] avatar Oct 04 '22 15:10 codecov[bot]