Enable native Kev inference with the WebGPU backend
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
調査の方向性
Start with the WebGPU backend guide and operator tests in the repository. Examine the existing C++ Module API and native Dawn build. Review the Kev example's prefill and score graphs, and the Qwen3.5 MoE model reference for GDN math. The work involves auditing operator support, adding WGSL kernels, and integrating with the kev_runner and kev_benchmark. Success is measured by matching logits and probabilities against the PyTorch implementation.
索引モデルが issue の本文から書いたものです。
説明
Enable the native Kev example on the WebGPU backend, extending the XNNPACK and MLX support added in #23023.
Kev runs prefill followed by pointer-head scoring, with an immutable prefix snapshot reused across question batches. Start with the existing C++ Module API and a native Dawn build, without Python at inference.
Use the WebGPU backend guide and operator tests as starting points. Qwen3.5 MoE's GatedDeltaNet implementation provides a reference for GDN math and state layouts. Coordinate shared export/lowering work with the Vulkan issue, #23098.
Work to cover:
- Audit Kev's
prefillandscoregraphs against WebGPU runtime support. Add missing WGSL kernels and lowering support, including GDN, with focused backend regression tests. Export success alone is insufficient:WebGPUPartitionershares Vulkan's frontend, whose operator coverage is broader. - Add a WebGPU export option and CMake linkage for the existing
kev_runnerandkev_benchmark. Respect the current mutually exclusive Vulkan/WebGPU runtime registration when linking. - Preserve
system_one, explicitprefill/evaluate, configurable token limits, variable question/option counts, and batching beyond eight questions. Repeated evaluations must leave the prefix unchanged. - Start with an unquantized FP32 baseline, retaining the fitted temperature and checkpoint metadata. Compare logits, probabilities, and reused state against upstream Kev's PyTorch implementation and the existing FP32 path, with documented tolerances.
- Verify the backbone, including GDN, executes on WebGPU and report any CPU fallback. Document a tested adapter, device/buffer limits, export/build/run commands, and measurements using
kev_benchmark.
Keep the integration in the existing example and reuse the runner and benchmark. Document browser/WebAssembly constraints separately from the initial native Dawn support.
cc @iseeyuan @lucylq @helunwencser @tarun292 @kimishpatel @jackzhxng
- 主要言語
- Python
- スター
- 5k
- フォーク
- 1.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 595
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pytorch/executorch のほかの issue
-
enhancement triaged
難易度 2/5 半日 初心者へのやさしさ 68/100
pytorch/executorch#21640 ·
-
good first issue module: examples module: vulkan
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
pytorch/executorch#23098 ·
-
good first issue module: cuda module: examples
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
pytorch/executorch#23097 ·
-
module: qnn partner: qualcomm
pytorch/executorch#23096 · コメント 1 件 · リアクション 1 件 · 担当者 1 名 ·
-
pytorch/executorch#23058 · リアクション 1 件 · 担当者 1 名 ·
pytorch/executorch の issue をすべて見る
似ている issue
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-webui/open-webui#30750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 90/100