Enable native Kev inference with the WebGPU backend
Maintainer thường phản hồi trong vòng 1 ngày
@akdybala đang làm issue này rồi.
Từ ngày 25/9/2026.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- ai-infra-agents, backend, compilers, desktop-dev, mobile-dev
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Python
- Star
- 5.1k
- Fork
- 1.2k
- Merge trung bình
- 2 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 610
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pytorch/executorch
-
Portable remainder kernel: wrong sign for integers and float64 rounded to floatCó thể đã có người làm @JakeStevens đã nhận 1 ngày trước. Đang mởbug module: kernels triaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
pytorch/executorch#23682 · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement triaged
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 68/100
pytorch/executorch#21640 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Feedback about ToolsĐang mởinvalid module: doc
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
pytorch/executorch#23706 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Portable floor_divide returns non-whole numbers for floats and wrong values for a zero divisorCó thể đã có người làm @JakeStevens đã nhận 1 ngày trước. Đang mởbug module: kernels
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
pytorch/executorch#23684 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
torch.var_mean and torch.std_mean fail in to_edge: aten.var_mean.correction is not core ATen and has no core decompositionCó thể đã có người làm @usmanmateen đã nhận 1 ngày trước. Đang mởbug module: exir triaged
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
pytorch/executorch#23680 · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của pytorch/executorch
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
aws-samples/sample-per-model-bedrock#191 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Docs viewer: inverted grey colormap, Phantom CT window -20 to 35 HU, smoothing up to 40 mmCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea: docs enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
PyTomography/PyTomography#331 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
effort: low prio: low ready
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
digitalfabrik/integreat-cms#4616 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
FuRongJun-1999/dsh-memory#226 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug difficulty:2 good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
MakazhanAlpamys/Soup#1865 ·
Maintainer thường phản hồi trong vòng 1 ngày