[ExecuTorch][WebGPU] Migrate multi-dispatch ops to make_compute_pipeline#20869
[ExecuTorch][WebGPU] Migrate multi-dispatch ops to make_compute_pipeline#20869JCNTH wants to merge 3 commits into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20869
Note: Links to docs will display an error until the docs builds have been completed. ❌ 129 New Failures, 3 Unrelated Failures, 7 Unclassified FailuresAs of commit 983a89f with merge base c2b273e ( NEW FAILURES - The following jobs have failed:
UNCLASSIFIED FAILURES - DrCI could not classify the following jobs because the workflow did not run on the merge base. The failures may be pre-existing on trunk or introduced by this PR:
FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
BROKEN TRUNK - The following job 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
|
Stack from ghstack (oldest at bottom):
Route the multi-dispatch ops through
utils::make_compute_pipeline(layout:"auto"), extending the dedup to the remaining pipeline-building ops:rope: its two dispatches (xq, xk) now each build their own pipeline via the helper, so the shared bind-group-layout + its double-free guard are removed.cat: the per-input dispatch loop builds a bundle per input via the helper.sdpa/sdpa_fd_decode: the internalbuild_dispatchhelper builds each pass via the helper; the hand-ordered read_write-vs-read-only binding count is now derived from the shader by the driver.This trades one amortized shader module for a per-call shader compile in these ops — build-time only, zero runtime cost. Byte-behavior preserved: same passes, binding indices/types/buffers/sizes, dispatch counts, uniforms,
own_uniform_buffer, resize hooks, and validations. sdpa's softmax pass (wg_size==0) passesconstant_count=0, matching the prior null-constants path.@exported-using-ghexport
Differential Revision: D110836676
Differential Revision: D110836676