[ET-VK] Add aten.index.Tensor op and tests#17710
Conversation
Implements `aten.index.Tensor` for the Vulkan backend, supporting 1D self tensors with exactly one non-None index tensor. Includes buffer and texture GLSL shaders, C++ operator registration, and correctness tests. Also extends the op test code generators to handle `c10::List<::std::optional<at::Tensor>>` (`Tensor?[]` in ATen), which is the C++ type for the `indices` argument of `aten.index.Tensor`. Differential Revision: [D94364638](https://our.internmc.facebook.com/intern/diff/D94364638/) [ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/17710
Note: Links to docs will display an error until the docs builds have been completed. ❌ 3 New FailuresAs of commit f306d9a with merge base 63f9724 ( NEW FAILURES - The following jobs have failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
Implements `aten.index.Tensor` for the Vulkan backend, supporting 1D self tensors with exactly one non-None index tensor. Includes buffer and texture GLSL shaders, C++ operator registration, and correctness tests. Also extends the op test code generators to handle `c10::List<::std::optional<at::Tensor>>` (`Tensor?[]` in ATen), which is the C++ type for the `indices` argument of `aten.index.Tensor`. Differential Revision: [D94364638](https://our.internmc.facebook.com/intern/diff/D94364638/) ghstack-source-id: 344667758 Pull Request resolved: #17710
This PR needs a
|
| ValueListPtr indices_list = graph.get_value_list(indices_list_ref); | ||
| VK_CHECK_COND( | ||
| indices_list->size() == 1, | ||
| "index.Tensor: only one index tensor is supported"); |
There was a problem hiding this comment.
How about Bool vs Int? I think you are implementing the integer case only, right? If that's the case, also add a VK_CHECK_COND saying that only integer index is supported.
Implements `aten.index.Tensor` for the Vulkan backend, supporting 1D self tensors with exactly one non-None index tensor. Includes buffer and texture GLSL shaders, C++ operator registration, and correctness tests. Also extends the op test code generators to handle `c10::List<::std::optional<at::Tensor>>` (`Tensor?[]` in ATen), which is the C++ type for the `indices` argument of `aten.index.Tensor`. Differential Revision: [D94364638](https://our.internmc.facebook.com/intern/diff/D94364638/) ghstack-source-id: 344667758 Pull Request resolved: #17710
Stack from ghstack (oldest at bottom):
Implements
aten.index.Tensorfor the Vulkan backend, supporting 1Dself tensors with exactly one non-None index tensor. Includes buffer
and texture GLSL shaders, C++ operator registration, and correctness
tests.
Also extends the op test code generators to handle
c10::List<::std::optional<at::Tensor>>(Tensor?[]in ATen), whichis the C++ type for the
indicesargument ofaten.index.Tensor.Differential Revision: D94364638