The current source of truth for WebGPU operator support is the runtime registry under
backends/webgpu/runtime/ops.
Operator tests are under
backends/webgpu/test/ops,
and the generated native test catalog is defined in
backends/webgpu/test/op_tests/cases.py.
WebGPUPartitioneris a thin wrapper overVulkanPartitioner; it preserves Vulkan partitioning behavior and does not add WebGPU capability policy.- Support can depend on tensor rank, shape, layout, and data type in addition to the operator name.
- FP16 shader paths require a WebGPU adapter exposing
shader-f16. - Dynamic shapes allocate buffers at the exported maximum shape. Operators must also implement runtime resize propagation.
- Quantized and LLM-specific operators generally require the corresponding Vulkan custom-op export pattern.
Use the native operator-test framework to generate fixtures for specific
operators. For example, generate the verified add cases with:
python -m executorch.backends.webgpu.test.op_tests.generate_op_tests \
--output /tmp/webgpu_op_tests --ops addThe full build-and-run flow is available through:
bash backends/webgpu/test/test_build_webgpu.sh