Uh oh!
There was an error while loading. Please reload this page.
[ExecuTorch][WebGPU] Support byte-packed BOOL storage - #21598
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21598
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit f741fdc with merge base ad3a71f ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a |
Uh oh!
There was an error while loading. Please reload this page.
**Support exact byte-packed BOOL tensors** WebGPU storage and transfers require four-byte alignment while serialized `BOOL` tensors use one logical byte per element. The runtime now preserves exact `BOOL` dtype and logical byte counts while padding physical storage, uploads, and readback. Key changes: - Compare output — packs guarded tail lanes for arbitrary nonzero lengths. - `BOOL`-to-fp32 — decodes packed values numerically instead of reinterpreting bytes. - `_to_copy` routing — mirrors Vulkan exact-dtype conversion intent in `backends/vulkan/runtime/graph/ops/impl/View.cpp:183` while keeping `BOOL` separate from `INT8` and `UINT8`. - Generated sources — refresh WGSL registry output and drift digests. Logical tensor sizes and existing non-`BOOL` routes are unchanged. Co-authored-with: Claude Code. Differential Revision: [D114936143](https://our.internmc.facebook.com/intern/diff/D114936143/) ghstack-source-id: 411044625 Pull-Request: #21598
Stack from ghstack (oldest at bottom):
Support exact byte-packed BOOL tensors
WebGPU storage and transfers require four-byte alignment while serialized
BOOLtensors use one logical byte per element. The runtime now preserves exactBOOLdtype and logical byte counts while padding physical storage, uploads, and readback.Key changes:
BOOL-to-fp32 — decodes packed values numerically instead of reinterpreting bytes._to_copyrouting — mirrors Vulkan exact-dtype conversion intent inbackends/vulkan/runtime/graph/ops/impl/View.cpp:183while keepingBOOLseparate fromINT8andUINT8.Logical tensor sizes and existing non-
BOOLroutes are unchanged.Co-authored-with: Claude Code.
Differential Revision: D114936143