[ET-VK] Fix pack_fp_linear_weight for devices without VK_KHR_16bit_storage#18653
Merged
[ET-VK] Fix pack_fp_linear_weight for devices without VK_KHR_16bit_storage#18653
Conversation
…orage The `pack_fp_linear_weight` prepack shader crashes on devices that lack `VK_KHR_16bit_storage` support because the half-precision variant reads from a `float16_t[]` staging buffer, which requires that extension. This applies the same two-dtype pattern used by `nchw_to_image` and `conv2d_dw_prepack_weights`: a new `BUF_DTYPE` shader parameter allows the staging buffer to use float32 (`[half, float]` combo) while the packed output remains half-precision. The runtime selects the correct variant via `get_staging_dtype_for()`, which returns `kFloat` when the device lacks fp16 buffer support. All three call sites that construct the `pack_fp_linear_weight` shader name (Linear.cpp, Conv1dPW.cpp, Conv2dPW.cpp) are updated to append the staging dtype suffix. Authored with Claude. Differential Revision: [D99133993](https://our.internmc.facebook.com/intern/diff/D99133993/) ghstack-source-id: 361148853 Pull Request resolved: #18642
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/18653
Note: Links to docs will display an error until the docs builds have been completed. ⏳ No Failures, 115 PendingAs of commit 0c0e540 with merge base ad235f8 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
Gasoonjia
approved these changes
Apr 1, 2026
Jiseong-oh
pushed a commit
to Jiseong-oh/executorch
that referenced
this pull request
Apr 2, 2026
…orage (pytorch#18653) This PR was created by the merge bot to help merge the original PR into the main branch. ghstack PR number: pytorch#18642 by @SS-JIA ^ 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/SS-JIA/515/base ghstack PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/head Merge bot PR base: https://github.com/pytorch/executorch/tree/main Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/orig Differential Revision: [D99133993](https://our.internmc.facebook.com/intern/diff/D99133993/) @diff-train-skip-merge Co-authored-by: ssjia <ssjia@devvm26340.ftw0.facebook.com>
Jiseong-oh
pushed a commit
that referenced
this pull request
Apr 2, 2026
…orage (#18653) This PR was created by the merge bot to help merge the original PR into the main branch. ghstack PR number: #18642 by @SS-JIA ^ 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/SS-JIA/515/base ghstack PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/head Merge bot PR base: https://github.com/pytorch/executorch/tree/main Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/orig Differential Revision: [D99133993](https://our.internmc.facebook.com/intern/diff/D99133993/) @diff-train-skip-merge Co-authored-by: ssjia <ssjia@devvm26340.ftw0.facebook.com>
Jiseong-oh
pushed a commit
that referenced
this pull request
Apr 7, 2026
…orage (#18653) This PR was created by the merge bot to help merge the original PR into the main branch. ghstack PR number: #18642 by @SS-JIA ^ 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/SS-JIA/515/base ghstack PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/head Merge bot PR base: https://github.com/pytorch/executorch/tree/main Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/orig Differential Revision: [D99133993](https://our.internmc.facebook.com/intern/diff/D99133993/) @diff-train-skip-merge Co-authored-by: ssjia <ssjia@devvm26340.ftw0.facebook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was created by the merge bot to help merge the original PR into the main branch.
ghstack PR number: #18642 by @SS-JIA
^ 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/SS-JIA/515/base
ghstack PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/head
Merge bot PR base: https://github.com/pytorch/executorch/tree/main
Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/SS-JIA/515/orig
Differential Revision: D99133993
@diff-train-skip-merge