[ExecuTorch][WebGPU] Op-tests for conv_with_clamp#21218
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21218
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 46 New Failures, 3 Unrelated FailuresAs of commit 92f02f6 with merge base 266e0dc ( NEW FAILURES - The following jobs have failed:
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
|
psiddh
left a comment
There was a problem hiding this comment.
Approving full WebGPU stack
Stack from ghstack (oldest at bottom):
Problem: The new
et_vk.conv_with_clampop (a first-of-its-kind general fp32 conv2d) needs golden coverage that exercises the H/W axis separation, not just square/symmetric configs.Solution:
ConvWithClampModuleis a plainnn.Conv2d+F.relu6, which the Vulkan fusion rewrites toet_vk.conv_with_clamp(fp32 conv + clamp[0,6]); the conv weight/bias are baked params and onlyxis a runtime input. Goldened vs the module's fp32 eager. Theasymcase is fully axis-asymmetric (input H=7≠W=9, kernel Kh=2≠Kw=3, stride 1≠2, padding 1≠0, dilation 2≠1 → output H_out=7≠W_out=4), so an H↔W index swap anywhere (unravel divisors, stride/pad/dilation axis, or Kh/Kw) diverges from the golden.Implementation:
cases.pyregistersconv_with_clampwithk3p1/stride2/dil2/no_bias/asym(all groups==1);test_conv_with_clamp.pyholds the module + a delegation smoke test assertinget_vk.conv_with_clampis absorbed into the VulkanBackend delegate.Differential Revision: D112257609