这是indexloc提供的服务,不要输入任何密码
Skip to content

add subgroups, and make them portable if possible #4306

@dneto0

Description

@dneto0

Add subgroup (a.k.a. simd_group, wave, wavefront) operations. Favour portability.

There have been a number of earlier issues and PRs. None seemed quite right to restart the conversation, so I'm opening this new one.

Previous work:

Implementations
gfx-rs/wgpu#4428 Naga. request.

Interactions with uniformity:


Benefits: Subgroup operations offer compelling performance benefits.

Drawbacks: ( There are theoretical reasons to doubt their portability. Earlier discussion included tiny demonstrations of nonportability.

Subgroups were postponed out of "v1" until we could devote more energy to investigating them in more detail. Now is the time.

@alan-baker has been leading an effort at Google to:

  • Implement an experimental subgroups extension supporting the "ballot" and "broadcast" operations only.
  • Write prototype conformance tests to check the portability behaviours we were concerned about. You only need "ballot" to do this because it tells you the effective active mask.

Let's use this issue to show the data, and then discuss how to shape the feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    wgslWebGPU Shading Language Issues

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions