| commit | d0cf77eaffea8efcfdbd2247945c8dd5c0ecbeb2 | [log] [tgz] |
|---|---|---|
| author | Natalie Chouinard <chouinard@google.com> | Tue Aug 06 17:41:20 2024 +0000 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Aug 06 17:41:20 2024 +0000 |
| tree | 984c48ce4da08a01320472e2c9a80c03b00f0a22 | |
| parent | 51ba15566ff80a0f6aa25b86e3f48cc079515f17 [diff] |
[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.