[ET-VK][12/n] aten.cat with more codegen#3388
[ET-VK][12/n] aten.cat with more codegen#3388yipjustin wants to merge 7 commits intogh/yipjustin/15/basefrom
Conversation
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/3388
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit f63bd46 with merge base e5471a5 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) ghstack-source-id: 224195279 Pull Request resolved: #3388
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
Pull Request resolved: #3388 1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) ghstack-source-id: 224195314
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
Pull Request resolved: #3388 1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. ghstack-source-id: 224212207 Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/)
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
Pull Request resolved: #3388 1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. ghstack-source-id: 224214135 Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/)
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
Pull Request resolved: #3388 1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. ghstack-source-id: 224249271 Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/)
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/) [ghstack-poisoned]
|
This pull request was exported from Phabricator. Differential Revision: D56626865 |
Pull Request resolved: #3388 1. The `aten.cat` operation are very straightforward using the `copy_*_node`. 2. Complexity comes from the code-gen. We need to introduce a `AT_TENSOR_LIST` type, which contains a list of `AT_TENSOR` with `is_in=True`. The tensor list itself as a container is not an `IOValueRef`, but the element inside are. It leads to some ugly if-then-else in the codegen. ghstack-source-id: 224249802 Differential Revision: [D56626865](https://our.internmc.facebook.com/intern/diff/D56626865/)
|
This pull request has been merged in fac1ae6. |
Stack from ghstack (oldest at bottom):
aten.catoperation are very straightforward using thecopy_*_node.AT_TENSOR_LISTtype, which contains a list ofAT_TENSORwithis_in=True. The tensor list itself as a container is not anIOValueRef, but the element inside are. It leads to some ugly if-then-else in the codegen.Differential Revision: D56626865