-
Notifications
You must be signed in to change notification settings - Fork 26.3k
torch.fft: Multi-dimensional transforms #44550
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
Conversation
[ghstack-poisoned]
💊 CI failures summary and remediationsAs of commit 9bccee0 (more details on the Dr. CI page): 💚 💚 Looks good so far! There are no failures yet. 💚 💚 This comment was automatically generated by Dr. CI (expand for details).Follow this link to opt-out of these comments for your Pull Requests.Please report bugs/suggestions on the GitHub issue tracker or post in the (internal) Dr. CI Users group. This comment has been revised 77 times. |
[ghstack-poisoned]
[ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
ghstack-source-id: 805300c Pull Request resolved: pytorch#44550
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
ghstack-source-id: 4fee26e Pull Request resolved: pytorch#44550
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
Codecov Report
@@ Coverage Diff @@
## gh/peterbell10/10/base #44550 +/- ##
=========================================================
Coverage ? 68.08%
=========================================================
Files ? 393
Lines ? 50765
Branches ? 0
=========================================================
Hits ? 34564
Misses ? 16201
Partials ? 0 Continue to review full report at Codecov.
|
|
Hey @peterbell10, this is looking great. Let me know when I should review it again and if there's anything I can help with. As mentioned on the next PR: 1.7's branch cut is 8 days away, so I'd like to get this in within the next week. |
|
@mruberry this is ready for another look. |
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
mruberry
left a comment
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.
Awesome work as usual, @peterbell10!
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. [ghstack-poisoned]
|
Fixed a few small doc errors which weren't updated properly after copy-pasting. |
|
|
||
| @skipCPUIfNoMkl | ||
| @skipCUDAIfRocm | ||
| @unittest.skipIf(not TEST_NUMPY, 'NumPy not found') |
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.
You may need @onlyOnCPUAndCUDA here and on another test below. Would you rebase to test the XLA build?
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.
Noticed some of the fft tests were missing this as well. Added and rebased on viable/strict.
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.
Thanks. XLA build looks good.
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. Differential Revision: [D23846032](https://our.internmc.facebook.com/intern/diff/D23846032) [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. Differential Revision: [D23846032](https://our.internmc.facebook.com/intern/diff/D23846032) [ghstack-poisoned]
Part of the `torch.fft` work (gh-42175). This adds n-dimensional transforms: `fftn`, `ifftn`, `rfftn` and `irfftn`. This is aiming for correctness first, with the implementation on top of the existing `_fft_with_size` restrictions. I plan to follow up later with a more efficient rewrite that makes `_fft_with_size` work with arbitrary numbers of dimensions. Differential Revision: [D23846032](https://our.internmc.facebook.com/intern/diff/D23846032) [ghstack-poisoned]
Summary: Between September 25 and September 27, approximately half an hour was added to the running time of `pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test`. Judging from the CircleCI data, it looks like the majority of the new time was added by the following PRs: - #44550 - #45298 I'm not sure what to do about #44550, but it looks like #45298 increased the `N` for `TestForeach` from just 20 to include both 30 and 300. This PR would remove the 300, decreasing the test time by a couple orders of magnitude (at least when running it on my devserver), from over ten minutes to just a few seconds. Pull Request resolved: #45785 Reviewed By: malfet Differential Revision: D24094782 Pulled By: samestep fbshipit-source-id: 2476cee9d513b2b07bc384de751e08d0e5d8b5e7
Part of the
torch.fftwork (gh-42175).This adds n-dimensional transforms:
fftn,ifftn,rfftnandirfftn.This is aiming for correctness first, with the implementation on top of the existing
_fft_with_sizerestrictions. I plan to follow up later with a more efficient rewrite that makes_fft_with_sizework with arbitrary numbers of dimensions.Stack from ghstack:
Differential Revision: D23846032