wgpu icon indicating copy to clipboard operation
wgpu copied to clipboard

Subgroup Implementation Tracking Issue

Open teoxoy opened this issue 1 year ago • 2 comments

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_subgroups and subgroup_id with 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

teoxoy avatar Apr 18 '24 11:04 teoxoy

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

Lichtso avatar Jun 04 '24 19:06 Lichtso