wgpu
wgpu copied to clipboard
Subgroup Implementation Tracking Issue
The purpose of this issue is to track the differences between our implementation and the WebGPU proposal so that we can ideally move both in the same direction.
Subgroup support landed in wgpu in https://github.com/gfx-rs/wgpu/pull/5301.
Edited 2025-1-19: Subgroup support was added to the WebGPU specification CR in https://github.com/gpuweb/gpuweb/pull/4963. It would be great if someone could look over the spec as merged and compare it against our implementation again.
Differences:
- [x] Missing quad operations https://github.com/gfx-rs/wgpu/pull/7683.
- [ ] Missing
subgroupElect#6042 - [x] Slightly different naming (sum vs add and product vs mul) https://github.com/gpuweb/gpuweb/pull/4627.
- [ ] Extra barrier feature https://github.com/gpuweb/gpuweb/issues/4437.
- [x] Extra add/mul inclusive scan operations with polyfill on HLSL https://github.com/gpuweb/gpuweb/pull/4822.
- [ ] Extra WGSL builtin attributes
num_subgroupsandsubgroup_idwith polyfill on HLSL. - [ ] Extra validation for
subgroup_id&subgroup_invocation_id, they are only allowed in compute stages with one dimensional workgroup sizes (since we are not confident that the HLSL polyfill works for workgroup sizes with multiple dimensions; see previous conversation for more info https://github.com/gfx-rs/wgpu/pull/5301#discussion_r1526470201). - [ ] https://github.com/gfx-rs/wgpu/issues/7571
The standard changed their naming to match ours, so "Slightly different naming (sum vs add and product vs mul)" can be removed: https://github.com/gpuweb/gpuweb/pull/4627