ONNX Runtime WebGPU Plugin EP 0.5.0 expands attention, mixture-of-experts, and quantized operator support, improves GPU kernel performance, and strengthens runtime integration and correctness.
Highlights
Performance
- Enabled subgroup-matrix kernels on AMD GPUs (#32667).
- Added an FP16 GEMV specialization for single-row decode projections (#33070).
- Improved data movement in
Concat,Slice,Transpose, and pooling, and vectorized NHWC depthwise convolution across channels (#32497, #32498). - Enabled local-window flash attention for
GroupQueryAttention(#32462). - Optimized recurrent and chunked
GatedDeltaNetexecution (#32645, #33143). - Optimized sparse attention indexers and
SparsePagedAttentionsoftmax, and cached sparse-indexer QSA visibility and scores (#32613, #32656, #33017).
Operator and Model Support
- Added native
GatedDeltaNetandVarlenCausalConvWithStatekernels, including subsequent state-update-capacity support forGatedDeltaNet(#32510, #32477, #32767). - Added
SparseAttentionIndexer,DynamicSparseAttention, andSparsePagedAttention, plus a packed sparse attention indexer for continuous batching (#32528, #32529, #32533, #32618). - Extended
PagedAttentionwith full-context and local non-causal attention, and per-head Q/K normalization (#32763, #32792, #32808). - Added unquantized
MoEand expandedQMoEactivation, gating, routing, and packed-input support (#32447). - Added block-scaled FP8
QMoE, INT2 expert weights, and mixed-width integerQMoEexecution (#32794, #32878). - Added Qwen4-Exp Engram support and
VarlenNGramHashMappingfor packed and variable-length batching (#32285, #32358, #32467). - Extended
GatherBlockQuantizedto FP8 and FP4 data. Out-of-range indices now produce zero output slices for both floating-point and existing integer formats (#32480). - Added
GroupNorm,SkipGroupNorm, and 3DConvTransposesupport (#32463, #32688). - Added weightless hyper-connection primitives:
BranchwiseRMSNorm,ScaledSiLU,HyperConnectionPreMix, andHyperConnectionPostMix(#32687). - Added SiLU/Swish/Sigmoid activation modes to
GatedRMSNormand QuickGelu fusion in the im2col-matmul convolution path (#32512, #32560).
Runtime Integration and Configuration
- Added
adapterIndexto select a physical Dawn adapter independently of the ORT WebGPU context identifier,deviceId(#32319). - Added the opt-in
enableMatmulFp32Accumulationprovider option forMatMulNBitsand its fused variants; the default remainsfalse(#29599). - Added concurrent independent-Session execution on eligible ORT hosts, with Session-owned command recordings and separate buffer-reuse tracking; retained serialized compatibility for older hosts (#32587, #32874, #33082).
- Improved external-device integration with context-aware memory identity, host-owned cache coverage, and stateless shared data transfers (#33110, #33208).
Reliability and Correctness
- Fixed out-of-bounds stores in subgroup-matrix
MatMulNBitsand added bounds checks for writes based onseqlens_k(#32582, #32623). - Fixed grouped-convolution underflow and vectorization across group boundaries (#32478, #33129).
- Fixed mixed-type
LayerNormalizationshaders and retained FP32 arithmetic inLayerNormalization(#32629, #32896). - Fixed
DequantizeLinearscalar/vector shader-cache collisions and 1Dblock_sizehandling (#33122, #32734). - Fixed initializer uploads on GPUs without Resizable BAR (#32816).
- Fixed
OrtMemoryInfoABI mismatches across the plugin boundary and bundled Dawn platform cleanup (#33571, #33526).
Build and Native Hosting
- Added a statically linked WebGPU plugin EP build configuration (#32395).
- Isolated the bundled Dawn implementation and added standalone Dawn API package support for native hosts, with external-Dawn plugin CI coverage (#32964, #33006, #33077).
- Updated Dawn and fixed WebGPU builds with LTO enabled and subgroup-configuration header dependencies (#32686, #32813, #32672).
Runtime Compatibility
The minimum ORT version is 1.24.4. Concurrent independent Sessions are enabled on ORT 1.28.3 and later in the 1.28 series, 1.30.1 and later in the 1.30 series, and 1.31 or later. Other supported versions, including 1.29.x, use serialized compatibility. In serialized mode, callers must serialize all WebGPU operations on the same device, including Session creation/destruction, allocation, I/O binding, transfers, and Run; the plugin does not enforce this serialization. Concurrent mode does not permit overlapping I/O binding and Run on the same Session (#33082).
Known compatibility caveat: ORT 1.26.0 was reported to reject the plugin during kernel creation because of its host-side plugin-version check. Forcing serialized execution does not resolve that restriction (#33082).
Contributors
Thanks to everyone who contributed to this release:
@aciddelgado, @adrastogi, @AkZGhost, @apsonawane, @edgchen1, @feich-ms, @gramalingam, @gyagp, @jchen10, @jiafatom, @justinchuby, @kunal-vaishnavi, @kylo5aby, @linzuojian, @mei1127, @mustjab, @prathikr, @qjia7, @sayanshaw24, @SharmaRithik, @skottmckay, @tianleiwu, @xadupre, @xhcao, @xiaofeihan1.
This release covers changes affecting ONNX Runtime WebGPU Plugin EP code and packaging since 0.4.0.
These release notes were prepared with AI assistance from commit history and pull request metadata.