-
Notifications
You must be signed in to change notification settings - Fork 26.3k
Introduce XPU implementation for PyTorch ATen operators #120891
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
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/120891
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (5 Unrelated Failures)As of commit 23aff01 with merge base c4486d3 ( FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
EikanWang
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.
Please add test cases for XPU ops.
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.
Let's not add additional submodules, but figure out some sort of a soft checkout mechanism
Also, this repository feels like a huge copy-n-paste of an already existing code (i.e. src/aten/sycl/Loops.h looks very similar to aten/src/ATen/cuda/Loops.cuh, which makes me wonder if some of this code can be better reused between the two somehow)
Hi, @malfet ,
Thanks. |
@malfet , thanks for your comments. May I know your concerns about the git submodule integration mechanism? Regarding the soft checkout mechanism, we might consider using CMake's |
EikanWang
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.
Please update the test cases a little bit
|
@pytorchbot rebase |
|
@pytorchbot started a rebase job onto refs/remotes/origin/viable/strict. Check the current status here |
|
Successfully rebased |
Signed-off-by: Feng Yuan <[email protected]>
Signed-off-by: Feng Yuan <[email protected]>
Signed-off-by: Feng Yuan <[email protected]>
Signed-off-by: Feng Yuan <[email protected]>
Signed-off-by: Feng Yuan <[email protected]>
Signed-off-by: Feng Yuan <[email protected]>
…to reuse cases. Signed-off-by: Feng Yuan <[email protected]>
Signed-off-by: Feng Yuan <[email protected]>
…and commit info Signed-off-by: Feng Yuan <[email protected]>
3dea345 to
23aff01
Compare
|
@pytorchbot merge |
Merge startedYour 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 |
|
@pytorchbot merge -i |
Merge startedYour change will be merged while ignoring the following 5 checks: .github/workflows/rocm.yml / linux-focal-rocm6.0-py3.8 / test (default, 1, 6, linux.rocm.gpu.2), .github/workflows/rocm.yml / linux-focal-rocm6.0-py3.8 / test (default, 2, 6, linux.rocm.gpu.2), .github/workflows/rocm.yml / linux-focal-rocm6.0-py3.8 / test (default, 3, 6, linux.rocm.gpu.2), .github/workflows/rocm.yml / linux-focal-rocm6.0-py3.8 / test (default, 4, 6, linux.rocm.gpu.2), .github/workflows/rocm.yml / linux-focal-rocm6.0-py3.8 / test (default, 6, 6, linux.rocm.gpu.2) Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
As a follow-up to #114835 and #119682, we add limited ATen operators implementation for XPU. With this PR, the blocking issue for oneDNN operations and Inductor XPU backend will be resolved as the two components depend on these operations to support its basic features, respectively. The added ATen operators include: - `copy_`, `_to_copy`, `_copy_from_and_resize`, , `clone` - `view`, `view_as_real`, `view_as_complex`, - `as_strided`, `_reshape_alias`, `resize_`, `resize_as_`, - `add`/`add_`, `sub`/`sub_`, `mul`/`mul_`, `div`/`div_`, `abs`, - `empty`, `empty_strided`, - `fill_`, `zeros_`. Co-authored-by: Wang, Eikan <[email protected]> Pull Request resolved: #120891 Approved by: https://github.com/EikanWang, https://github.com/jgong5, https://github.com/gujinghui, https://github.com/atalman
)" This reverts commit 148a8de. Reverted #120891 on behalf of https://github.com/huydhn due to Sorry for reverting your change but I need to revert it to resolve a conflict in trunk #121794 (comment). Please help reland the change after ([comment](#120891 (comment)))
As a follow-up to #114835 and #119682, we add limited ATen operators implementation for XPU. With this PR, the blocking issue for oneDNN operations and Inductor XPU backend will be resolved as the two components depend on these operations to support its basic features, respectively. The added ATen operators include: - `copy_`, `_to_copy`, `_copy_from_and_resize`, , `clone` - `view`, `view_as_real`, `view_as_complex`, - `as_strided`, `_reshape_alias`, `resize_`, `resize_as_`, - `add`/`add_`, `sub`/`sub_`, `mul`/`mul_`, `div`/`div_`, `abs`, - `empty`, `empty_strided`, - `fill_`, `zeros_`. Co-authored-by: Wang, Eikan <[email protected]> Pull Request resolved: #120891 Approved by: https://github.com/EikanWang, https://github.com/jgong5, https://github.com/gujinghui, https://github.com/atalman
As a follow-up to #114835 and #119682, we add limited ATen operators implementation for XPU. With this PR, the blocking issue for oneDNN operations and Inductor XPU backend will be resolved as the two components depend on these operations to support its basic features, respectively.
The added ATen operators include:
copy_,_to_copy,_copy_from_and_resize, ,cloneview,view_as_real,view_as_complex,as_strided,_reshape_alias,resize_,resize_as_,add/add_,sub/sub_,mul/mul_,div/div_,abs,empty,empty_strided,fill_,zeros_.