Operator Support#
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.
Compatibility Considerations#
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 add
The full build-and-run flow is available through:
bash backends/webgpu/test/test_build_webgpu.sh