[ExecuTorch][WebGPU] Add et_vk.adamw_step (on-GPU AdamW optimizer step) to the WebGPU backend#20935
[ExecuTorch][WebGPU] Add et_vk.adamw_step (on-GPU AdamW optimizer step) to the WebGPU backend#20935JCNTH wants to merge 8 commits into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20935
Note: Links to docs will display an error until the docs builds have been completed. ❌ 30 New Failures, 19 Pending, 36 Unrelated Failures, 1 Unclassified FailureAs of commit 525748a with merge base 21554e5 ( NEW FAILURES - The following jobs have failed:
UNCLASSIFIED FAILURE - DrCI could not classify the following job because the workflow did not run on the merge base. The failure 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:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
SS-JIA
left a comment
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
Stack from ghstack (oldest at bottom):
Add
et_vk.adamw_step— an on-GPU AdamW optimizer step (delegated in-place parameter update) for on-device training.Key changes:
runtime/ops/adamw/— elementwise AdamW-update WGSL kernel + handlercustom_ops_lib.py—adamw_stepcustom-op def (mutating,Tensor(a!))op_registry.py—OpFeatures(string keyet_vk::adamw_step)CMakeLists.txtWEBGPU_SRCS— wire the sourceDelegating the optimizer step to the GPU is new to ExecuTorch — its optimizers are host-side C++ (
extension/training/optimizer/adamw.cpp). Training-only WebGPU custom op under the shared Vulkan partitioner; no Vulkan kernel yet.Co-authored-with: Claude Code.
@exported-using-ghexport
Differential Revision: D111755116
Differential Revision: D111755116