-
Notifications
You must be signed in to change notification settings - Fork 329
Add subgroups feature #4963
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add subgroups feature #4963
Conversation
* API * new feature: subgroups * new properties for adapter info: * minSubgroupSize * maxSubgroupSize * WGSL * new built-in values * subgroup_invocation_id * subgroup_size * subgroup and quad built-in functions * new uniformity diagnostic subgroup_uniformity
Previews, as seen when this build job started (f950527): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Main question is whether we want a new GPUAdapterProperties object or not
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Added a bunch of comments but they are relatively minor.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No further comments on the API side
* move minSubgroupSize and maxSubgroupSize into GPUAdapterInfo * provide default values * Fix link to wgsl spec * Fix uniformity rules in wgsl related to parameters they are required to be uniform
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WGSL side looking very good. Thanks!
Co-authored-by: Kai Ninomiya <kainino@chromium.org>
* Mention subgroup_size is uniform in compute shaders in the uniformity analysis description of built-in values * Updates to the subgroups section * Fix typos and links
* add notes about uniform control flow scope * add prefix to inclusive and exclusive subgroup op descriptions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
* Add extra spec cross-links for subgroups
WGSL 2024-12-10 Minutes
|
This CL adds the subgroupMinSize and subgroupMaxSize properties to GPUAdapterInfo behind the experimental WebGPUSubgroupsFeatures blink runtime feature. Spec PR: gpuweb/gpuweb#4963 Change-Id: I4f9edbd6482a0f7a1f98086bcba1205b5e24ceea Bug: 354751907 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6162500 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Fr <beaufort.francois@gmail.com> Cr-Commit-Position: refs/heads/main@{#1405153}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I have some editorial comments, but nothing blocking.
Returns the maximum value of `e` among all [=subgroups/active=] invocations in the [=subgroup=]. | ||
</table> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this discuss subnormal and NaN behavior, the way the description of max
does?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed this as #5044
Co-authored-by: Jim Blandy <jimb@red-bean.com>
Co-authored-by: Jim Blandy <jimb@red-bean.com>
Spec PR: gpuweb/gpuweb#4963 Bug: 354751907 Change-Id: If5823c0ff95b4de72d0f95e1a5cd1cd92e3b5459 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6163583 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Reviewed-by: David Neto <dneto@google.com> Reviewed-by: Alan Baker <alanbaker@google.com> Commit-Queue: Fr <beaufort.francois@gmail.com> Cr-Commit-Position: refs/heads/main@{#1409490}
minSubgroupSizesubgroupMinSizemaxSubgroupSizesubgroupMaxSizeMissing subgroup_branching diagnostic and uniformity updates.
edited to match final naming: 'minSubgroupSize' was changed to 'subgroupMinSize', 'maxSubgroupSize' was changed to 'subgroupMaxSize'