-
Notifications
You must be signed in to change notification settings - Fork 820
[slimtensor] Add aoti_torch_item_bool for SlimTensor #16453
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
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/16453
Note: Links to docs will display an error until the docs builds have been completed. ⏳ 2 Pending, 2 Unrelated FailuresAs of commit 1b78e47 with merge base c487340 ( 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. |
This PR needs a
|
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Pull Request resolved: #16453 Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. ghstack-source-id: 334642306 @exported-using-ghexport Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/)
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16565 * #16551 * #16469 * #16457 * #16455 * #16454 * #16453 * #16452 * #16451 * #16450 * #16449 * #16448 * #16447 * #16446 * __->__ #16724 Copy CUDAGuard and CUDAStreamGuard from cuda/runtime/ to aoti/slim/cuda/ to support slimtensor requirement while get rid of potential circular dependency: - cuda_backend/main_functionalities -> aoti/slimtensor -> cuda_backend/cuda_guard This change: - copy guard.h, guard.cpp and test files from backend/cuda_backend to backend/aoti/slim/cuda/ Differential Revision: [D91056808](https://our.internmc.facebook.com/intern/diff/D91056808/)
…v2 (#16446) Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16565 * #16551 * #16469 * #16457 * #16455 * #16454 * #16453 * #16452 * #16451 * #16450 * #16449 * #16448 * #16447 * __->__ #16446 * #16724 Add SlimTensor-based implementations of AOTI shim functions for tensor creation: 1. `aoti_torch_create_tensor_from_blob_v2()` - Creates a non-owning SlimTensor that wraps existing memory using the `from_blob()` factory Both functions support CPU and CUDA devices and handle all 7 SlimTensor dtypes. Also add `memory_slim.h` and `memory_slim.cpp` with SlimTensor-based shim implementations for working on new API while not impact the current pipeline. Will use memory_slim.{h/cpp} to replace current memory.{h/cpp} when everything has been set up. Differential Revision: [D90126247](https://our.internmc.facebook.com/intern/diff/D90126247/)
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16565 * #16551 * #16469 * #16457 * #16455 * #16454 * #16453 * #16452 * #16451 * #16450 * #16449 * #16448 * __->__ #16447 * #16446 * #16724 Add SlimTensor-based implementations of AOTI shim functions for tensor creation: `aoti_torch_create_tensor_from_blob_v2()` - Creates a non-owning SlimTensor that wraps existing memory using the `from_blob()` factory Both functions support CPU and CUDA devices and handle all 7 SlimTensor dtypes. Changes: - Add `memory_slim.h` and `memory_slim.cpp` with SlimTensor-based shim implementations - Add `runtime_shims_slim` library target to TARGETS with `CUDA_AVAILABLE=1` preprocessor flag - Add `cuda_shim_slim_cpp_unittest()` function for SlimTensor test targets Differential Revision: [D90126244](https://our.internmc.facebook.com/intern/diff/D90126244/)
Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) [ghstack-poisoned]
Pull Request resolved: #16453 Add SlimTensor-based `aoti_torch_item_bool()` - Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor's `item<bool>()` which handles CUDA tensors by automatically copying the value to CPU. ghstack-source-id: 336360655 @exported-using-ghexport Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/)
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16453 * #16452 * #16451 * __->__ #16450 Add SlimTensor-based `aoti_torch__reinterpret_tensor()` - Creates a reinterpreted view of a tensor with new sizes, strides, and storage offset using SlimTensor's `as_strided()` method. The view shares the same underlying storage. Differential Revision: [D90126249](https://our.internmc.facebook.com/intern/diff/D90126249/)
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16453 * #16452 * __->__ #16451 * #16450 Add SlimTensor-based `aoti_torch_copy_()` - Copies data from source tensor to destination tensor. Delegates to SlimTensor's `copy_()` which handles all device combinations (CPU-CPU, CPU-CUDA, CUDA-CPU, CUDA-CUDA). Differential Revision: [D90126246](https://our.internmc.facebook.com/intern/diff/D90126246/)
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16453 * __->__ #16452 * #16451 * #16450 Add SlimTensor-based `aoti_torch_assign_tensors_out()` - Creates a new tensor handle that moves the ownership of storage from the source tensor to ret tensor via SharedPtr. Differential Revision: [D90126243](https://our.internmc.facebook.com/intern/diff/D90126243/)
This PR was created by the merge bot to help merge the original PR into the main branch. ghstack PR number: #16453 by @Gasoonjia ^ Please use this as the source of truth for the PR details, comments, and reviews ghstack PR base: https://github.com/pytorch/executorch/tree/gh/gasoonjia/95/base ghstack PR head: https://github.com/pytorch/executorch/tree/gh/gasoonjia/95/head Merge bot PR base: https://github.com/pytorch/executorch/tree/gh/gasoonjia/94/orig Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/gasoonjia/95/orig Differential Revision: [D90126253](https://our.internmc.facebook.com/intern/diff/D90126253/) @diff-train-skip-merge --------- Co-authored-by: gasoonjia <[email protected]> Co-authored-by: Gasoonjia <[email protected]>
Stack from ghstack (oldest at bottom):
Add SlimTensor-based
aoti_torch_item_bool()- Extracts a boolean scalar value from a single-element tensor. Uses SlimTensor'sitem<bool>()which handles CUDA tensors by automatically copying the value to CPU.Differential Revision: D90126253