Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Enable native Kev inference with the WebGPU backend

未关闭
#23,099 2 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@akdybala 已经在做这个了。

开始于 2026年9月25日。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
c, cmake, cpp, python, wasm

调研方向

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 内容生成。

描述

good first issue module: examples module: webgpu

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 prefill and score graphs against WebGPU runtime support. Add missing WGSL kernels and lowering support, including GDN, with focused backend regression tests. Export success alone is insufficient: WebGPUPartitioner shares Vulkan's frontend, whose operator coverage is broader.
  • Add a WebGPU export option and CMake linkage for the existing kev_runner and kev_benchmark. Respect the current mutually exclusive Vulkan/WebGPU runtime registration when linking.
  • Preserve system_one, explicit prefill/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
星标
5.1k
派生
1.2k
平均合并
2 天 14 分钟
30 天内合并 PR
704

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

pytorch/executorch 的其他 Issue

查看 pytorch/executorch 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。