onnxruntime
bff4fcf7 - [WebGPU] Enable subgroup matrix kernels on AMD GPUs (#32667)

Commit
39 days ago
[WebGPU] Enable subgroup matrix kernels on AMD GPUs (#32667) ### Description - Update Dawn to `v20260828.013844` and Agility SDK to `1.721.3-preview`. - Support subgroup-matrix kernels on adapters that expose a variable subgroup-size range. - Require `subgroup-size-control` for variable-size adapters and request the selected configuration's subgroup size for prepack and multiplication shaders. - Add coverage for valid and invalid subgroup-size configurations. ### Motivation and Context AMD RDNA 3+ supports the FP16 16x16x16 subgroup-matrix configuration with a required subgroup size of 32, while the adapter exposes a variable subgroup-size range. The previous ORT check required the adapter's minimum and maximum subgroup sizes to exactly match the kernel size, so the optimized path was not selected. The Dawn update is required in addition to the ORT changes. The previous Dawn revision: - depended solely on the global D3D12 LinAlg tier to expose subgroup matrices, although preview drivers can report valid operation-specific configurations when that tier is absent; - did not reject reported type combinations whose D3D12 operation `SupportFlags` lack the supported bit; and - did not forward enumerated subgroup-matrix configurations to Tint's HLSL lowering. The newer Dawn revision evaluates the authoritative D3D12 capability data and supplies the configurations to Tint, allowing ORT to expose and compile the WebGPU subgroup-matrix path correctly. Related Dawn issue: https://issues.chromium.org/issues/549226780 ### Testing Windows D3D12 on AMD Radeon RX 9070 XT: - AMD preview driver `26.10.07.02` (`32.0.31007.2064`) - Agility SDK 721 - `SubgroupMatrixConfigTest.RequiredSubgroupSizeCompatibility`: passed - `MatMulNBits.Float16_4b_Accuracy4`: passed - Confirmed FP16 16x16x16 shaders using `subgroupMatrixLoad`, `subgroupMatrixMultiplyAccumulate`, and `subgroupMatrixStore`.
Author
Parents
Loading