[tint][spirv] Add subgroup(Exclusive){Add,Mul}
Add first set of arithmetic subgroup intrinsics and implement in the
SPIR-V IR backend using the following mapping:
+----------------------+--------------------------+-----------------+
| Built-in | SPIR-V Instruction | Group Operation |
+----------------------+--------------------------+-----------------+
| subgroupAdd | OpGroupNonUniform[IF]Add | Reduce |
| subgroupExclusiveAdd | OpGroupNonUniform[IF]Add | ExclusiveScan |
| subgroupMul | OpGroupNonUniform[IF]Mul | Reduce |
| subgroupExclusiveMul | OpGroupNonUniform[IF]Mul | ExclusiveScan |
+----------------------+--------------------------+-----------------+
Implementation in other backends will follow.
Bug: 354738715
Change-Id: I35db4731f73efa200ba3c6e0b5983943dfe77bf0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/200918
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@google.com>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.