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

[MPS] Fix correctness issues with Pooling ops #91519

Closed
wants to merge 9 commits into from

Conversation

razarmehr
Copy link
Collaborator

  • Workaround for MaxPool when ceilMode=true
  • Workaround for ChannelsLast memory format
  • Workaround for divisor_override in AvgPool ops
  • Enabled count_include_pad parameter for AvgPool
  • Refactoring and clean up of duplicate code
  • Enable MaxPool tests in TestConsistency

@pytorch-bot
Copy link

pytorch-bot bot commented Dec 29, 2022

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/91519

Note: Links to docs will display an error until the docs builds have been completed.

✅ No Failures

As of commit 4495a2e:
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@pytorch-bot pytorch-bot bot added ciflow/mps Run MPS tests (subset of trunk) release notes: mps Release notes category labels Dec 29, 2022
@zou3519 zou3519 added the triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module label Jan 4, 2023
Copy link
Collaborator

@kulinseth kulinseth left a comment

Choose a reason for hiding this comment

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

Overall looks fine.

aten/src/ATen/native/mps/OperationUtils.mm Show resolved Hide resolved
* Fix correctness issues with Pooling ops
- Workaround for MaxPool when ceilMode=true
- Workaround for ChannelsLast memory format
- Workaround for divisor_override in AvgPool ops
- Enabled count_include_pad parameter for AvgPool
- Refactoring and clean up of duplicate code

* Remove the divisor from the cached key

* Pass positive values to transposeTensor() in convertNHWCtoNCHW()
* Display error for int64 pooling inputs on Monterey
Also skip the test on TestConsistency when such errors are generated
Copy link
Contributor

@malfet malfet left a comment

Choose a reason for hiding this comment

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

Catch-all exception handling in test_mps feels very dangerous to me, as it might result in missing functional regressions. Please use skipIf, or better add an xfailIf decorator.

test/test_mps.py Outdated Show resolved Hide resolved
aten/src/ATen/native/mps/operations/Pooling.mm Outdated Show resolved Hide resolved
Co-authored-by: Nikita Shulga <nikita.shulga@gmail.com>
@kulinseth kulinseth requested a review from albanD January 5, 2023 16:11
@razarmehr razarmehr requested a review from malfet January 5, 2023 19:13
@razarmehr
Copy link
Collaborator Author

@pytorchbot merge

@pytorch-bot pytorch-bot bot added the ciflow/trunk Trigger trunk jobs on your pull request label Jan 5, 2023
@pytorchmergebot
Copy link
Collaborator

Merge started

Your change will be merged once all checks pass (ETA 0-4 Hours).

Learn more about merging in the wiki.

Questions? Feedback? Please reach out to the PyTorch DevX Team

Advanced Debugging
Check the merge workflow status
here

@razarmehr
Copy link
Collaborator Author

@pytorchbot merge -f "MPS tests are green"

@pytorchmergebot
Copy link
Collaborator

The merge job was canceled. If you believe this is a mistake,then you can re trigger it through pytorch-bot.

@pytorchmergebot
Copy link
Collaborator

Merge started

Your change will be merged immediately since you used the force (-f) flag, bypassing any CI checks (ETA: 1-5 minutes).

Learn more about merging in the wiki.

Questions? Feedback? Please reach out to the PyTorch DevX Team

Advanced Debugging
Check the merge workflow status
here

@razarmehr razarmehr deleted the MPS_PoolingOps_fixes branch January 6, 2023 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ciflow/mps Run MPS tests (subset of trunk) ciflow/trunk Trigger trunk jobs on your pull request Merged open source release notes: mps Release notes category triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants