[ExecuTorch][WebGPU] Generate typed to_copy shader variants - #21449
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21449
Note: Links to docs will display an error until the docs builds have been completed. ❌ 12 New Failures, 30 Pending, 3 Unrelated FailuresAs of commit d9623b7 with merge base 28a7fac ( NEW FAILURES - The following jobs have failed:
FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
|
@claude Double check for need of changes, modulariziation opportunity, etc |
|
Claude finished @JCNTH's task in 1m 52s —— View job Review: WebGPU typed
|
fbsource master [ghstack-poisoned]
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Pull Request resolved: #21449 **Generate typed `to_copy` variants from one byte-identical template** The two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan `backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}`. Key changes: - `to_copy_convert.wgsl` and YAML — declare the two typed variants. - Generated headers and codegen locks — preserve symbols, workgroups, registry entries, and payload hashes. - Structural/native tests — lock both directions and the round trip. Host routing and dispatch remain unchanged; tests expand fixture coverage. Co-authored-with: Claude Code. ghstack-source-id: 411961470 @exported-using-ghexport Differential Revision: [D113979712](https://our.internmc.facebook.com/intern/diff/D113979712/)
Stack from ghstack (oldest at bottom):
Generate typed
to_copyvariants from one byte-identical templateThe two conversion directions duplicated the same WGSL structure and could drift independently. This moves fp32-to-int32 and int32-to-fp32 into one typed family while preserving both expanded payloads. Mirrors Vulkan
backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.{glsl,yaml}.Key changes:
to_copy_convert.wgsland YAML — declare the two typed variants.Host routing and dispatch remain unchanged; tests expand fixture coverage.
Co-authored-with: Claude Code.
@exported-using-ghexport
Differential Revision: D113979712
Differential Revision: D113979712