2023-05-20 19:20:41 +00:00
## Operators Support Table
The following table shows ONNX
operators and the supported opset domain/versions in WebGPU EP by ONNX Runtime Web. For example,
`4-6, 8+` means ONNX Runtime Web currently support opset version 4 to 6, 8 and above.
*This file is automatically generated from the
def files via [this script ](../script/generate-webgpu-operator-md.ts ).
Do not modify directly.*
| Operator | Opset | Comments |
|:--------:|:-------------:|-----|
| Abs | ai.onnx(6-12,13+) | |
| Acos | ai.onnx(7+) | |
| Acosh | ai.onnx(9+) | |
| Add | ai.onnx(7-12,13,14+) | |
2023-08-03 01:16:19 +00:00
| ArgMax | ai.onnx(1-10,11-12,13+) | |
| ArgMin | ai.onnx(1-10,11-12,13+) | |
2023-05-20 19:20:41 +00:00
| Asin | ai.onnx(7+) | |
| Asinh | ai.onnx(9+) | |
| Atan | ai.onnx(7+) | |
| Atanh | ai.onnx(9+) | |
2023-11-17 20:23:52 +00:00
| Attention | com.microsoft(1+) | need implementing mask and past/present |
2024-10-30 00:44:38 +00:00
| AveragePool | ai.onnx(7-9,10,11-18,19+); com.ms.internal.nhwc(7-9,10,11-18,19+) | need perf optimization; need implementing activation |
2023-11-22 23:58:06 +00:00
| BatchNormalization | ai.onnx(7-8,9-13,14,15+); com.ms.internal.nhwc(7-8,9-13,14,15+) | |
2023-10-03 19:20:20 +00:00
| BiasAdd | com.microsoft(1+) | |
| BiasSplitGelu | com.microsoft(1+) | |
2024-10-30 00:44:38 +00:00
| Cast | ai.onnx(6-8,9-12,13-18,19-20,21+) | |
2023-05-20 19:20:41 +00:00
| Ceil | ai.onnx(6-12,13+) | |
| Clip | ai.onnx(6-10,11,12,13+) | |
2023-07-05 18:59:45 +00:00
| Concat | ai.onnx(1-3,4-10,11-12,13+) | |
2023-11-03 16:04:28 +00:00
| Conv | ai.onnx(1-10,11+); com.ms.internal.nhwc(1-10,11+) | need perf optimization; conv3d is not supported; need implementing activation |
| ConvTranspose | ai.onnx(1-10,11+); com.ms.internal.nhwc(1-10,11+) | need perf optimization; ConvTranspose3d is not supported; need implementing activation |
2023-05-20 19:20:41 +00:00
| Cos | ai.onnx(7+) | |
| Cosh | ai.onnx(9+) | |
2023-12-05 15:51:53 +00:00
| CumSum | ai.onnx(11-13,14+) | |
2024-04-10 19:13:46 +00:00
| DepthToSpace | ai.onnx(11-12,13+); com.ms.internal.nhwc(11-12,13+) | |
2024-08-09 21:44:19 +00:00
| DequantizeLinear | ai.onnx(10-12,13-18,19-20,21+) | |
2023-05-20 19:20:41 +00:00
| Div | ai.onnx(7-12,13,14+) | |
2023-09-11 22:57:15 +00:00
| Einsum | ai.onnx(12+) | |
2023-05-20 19:20:41 +00:00
| Elu | ai.onnx(6+) | |
2023-08-28 02:50:17 +00:00
| Equal | ai.onnx(7-10,11-12,13-18,19+) | |
2023-05-20 19:20:41 +00:00
| Erf | ai.onnx(9-12,13+) | |
| Exp | ai.onnx(6-12,13+) | |
2023-07-11 16:38:16 +00:00
| Expand | ai.onnx(8-12,13+) | |
2024-02-06 17:07:31 +00:00
| FastGelu | com.microsoft(1+) | |
2024-10-30 00:44:38 +00:00
| Flatten | ai.onnx(1-8,9-10,11-12,13-20,21+) | |
2023-05-20 19:20:41 +00:00
| Floor | ai.onnx(6-12,13+) | |
2023-11-01 22:34:51 +00:00
| FusedConv | com.microsoft(1+) | |
2023-08-03 21:09:37 +00:00
| Gather | ai.onnx(1-10,11-12,13+) | |
2024-08-26 21:46:04 +00:00
| GatherBlockQuantized | com.microsoft(1+) | |
2023-08-28 16:55:25 +00:00
| GatherElements | ai.onnx(11-12,13+) | |
2024-12-04 17:57:32 +00:00
| GatherND | ai.onnx(11,12,13+) | |
2024-08-14 16:45:05 +00:00
| Gelu | ai.onnx(20+); com.microsoft(1+) | |
2023-08-23 01:13:20 +00:00
| Gemm | ai.onnx(7-8,9-10,11-12,13+) | |
2023-05-20 19:20:41 +00:00
| GlobalAveragePool | ai.onnx(1+); com.ms.internal.nhwc(1+) | |
| GlobalMaxPool | ai.onnx(1+); com.ms.internal.nhwc(1+) | |
2023-08-25 19:11:25 +00:00
| Greater | ai.onnx(7-8,9-12,13+) | |
2023-09-08 00:41:16 +00:00
| GreaterOrEqual | ai.onnx(12-15,16+) | |
2024-11-08 19:02:36 +00:00
| GridSample | ai.onnx(16-19); com.ms.internal.nhwc(16-19) | |
2024-05-13 16:43:37 +00:00
| GroupQueryAttention | com.microsoft(1+) | |
2024-01-22 23:53:26 +00:00
| HardSigmoid | ai.onnx(6+) | |
2024-10-30 00:44:38 +00:00
| If | ai.onnx(1-10,11-12,13-18,19-20,21+) | |
2023-08-08 16:09:37 +00:00
| InstanceNormalization | ai.onnx(6+); com.ms.internal.nhwc(6+) | |
2024-06-27 17:20:48 +00:00
| LayerNormalization | ai.onnx(1-16,17+) | |
2023-05-20 19:20:41 +00:00
| LeakyRelu | ai.onnx(6-15,16+) | |
2023-08-25 19:11:25 +00:00
| Less | ai.onnx(7-8,9-12,13+) | |
2023-09-08 00:41:16 +00:00
| LessOrEqual | ai.onnx(12-15,16+) | |
2023-08-15 01:04:12 +00:00
| Log | ai.onnx(6-12,13+) | |
2023-05-20 19:20:41 +00:00
| MatMul | ai.onnx(1-12,13+) | |
2024-02-17 17:19:17 +00:00
| MatMulNBits | com.microsoft(1+) | |
2023-11-03 16:04:28 +00:00
| MaxPool | ai.onnx(1-7,8-9,10,11,12+); com.ms.internal.nhwc(1-7,8-9,10,11,12+) | need perf optimization; need implementing activation |
2023-05-20 19:20:41 +00:00
| MemcpyFromHost | ai.onnx(1+) | |
| MemcpyToHost | ai.onnx(1+) | |
| Mul | ai.onnx(7-12,13,14+) | |
2023-11-17 20:23:52 +00:00
| MultiHeadAttention | com.microsoft(1+) | need implementing mask and past/present |
2023-05-20 19:20:41 +00:00
| Neg | ai.onnx(6-12,13+) | |
2023-08-28 02:50:17 +00:00
| Not | ai.onnx(1+) | |
2024-10-30 00:44:38 +00:00
| Pad | ai.onnx(2-10,11-12,13-17,18,19-20,21+) | |
2023-05-20 19:20:41 +00:00
| Pow | ai.onnx(7-11,12,13-14,15+) | |
2024-06-06 15:21:33 +00:00
| QuickGelu | com.microsoft(1+) | |
2023-09-30 09:05:32 +00:00
| Range | ai.onnx(11+) | |
2023-05-20 19:20:41 +00:00
| Reciprocal | ai.onnx(6-12,13+) | |
2023-06-12 14:46:27 +00:00
| ReduceL1 | ai.onnx(1-10,11-12,13-17,18+) | |
| ReduceL2 | ai.onnx(1-10,11-12,13-17,18+) | |
| ReduceLogSum | ai.onnx(1-10,11-12,13-17,18+) | |
| ReduceLogSumExp | ai.onnx(1-10,11-12,13-17,18+) | |
2024-10-30 00:44:38 +00:00
| ReduceMax | ai.onnx(1-10,11,12,13-17,18-19,20+) | |
2023-06-12 14:46:27 +00:00
| ReduceMean | ai.onnx(1-10,11-12,13-17,18+) | |
2024-10-30 00:44:38 +00:00
| ReduceMin | ai.onnx(1-10,11,12,13-17,18-19,20+) | |
2023-06-12 14:46:27 +00:00
| ReduceProd | ai.onnx(1-10,11-12,13-17,18+) | |
| ReduceSum | ai.onnx(1-10,11-12,13+) | |
| ReduceSumSquare | ai.onnx(1-10,11-12,13-17,18+) | |
2023-05-20 19:20:41 +00:00
| Relu | ai.onnx(6-12,13,14+) | |
2024-08-27 16:02:39 +00:00
| Reshape | ai.onnx(5-12,13,14-18,19-20,21+) | no GPU kernel |
2023-11-03 16:04:28 +00:00
| Resize | ai.onnx(10,11-12,13-17,18,19+); com.ms.internal.nhwc(10,11-12,13-17,18,19+) | CoordinateTransformMode align_corners is not supported with downsampling |
2024-04-08 16:11:26 +00:00
| RotaryEmbedding | com.microsoft(1+) | |
2024-11-13 17:13:00 +00:00
| ScatterND | ai.onnx(11-12,13-15,16-17,18+) | |
2024-08-27 16:02:39 +00:00
| Shape | ai.onnx(1-12,13-14,15-18,19-20,21+) | no GPU kernel; an ORT warning is generated - need to fix |
2023-05-20 19:20:41 +00:00
| Sigmoid | ai.onnx(6-12,13+) | |
2024-04-11 21:08:50 +00:00
| SimplifiedLayerNormalization | ai.onnx(1+) | |
2023-05-20 19:20:41 +00:00
| Sin | ai.onnx(7+) | |
| Sinh | ai.onnx(9+) | |
2023-08-18 16:59:03 +00:00
| SkipLayerNormalization | com.microsoft(1+) | |
2024-04-11 21:08:50 +00:00
| SkipSimplifiedLayerNormalization | com.microsoft(1+) | |
2023-07-25 21:19:20 +00:00
| Slice | ai.onnx(1-9,10,11-12,13+) | |
2023-08-03 01:16:19 +00:00
| Softmax | ai.onnx(1-10,11-12,13+) | |
2023-07-07 19:16:10 +00:00
| Split | ai.onnx(1,2-10,11-12,13-17,18+) | |
2023-05-20 19:20:41 +00:00
| Sqrt | ai.onnx(6-12,13+) | |
2024-10-30 00:44:38 +00:00
| Squeeze | ai.onnx(1-10,11-12,13-20,21+) | |
2023-05-20 19:20:41 +00:00
| Sub | ai.onnx(7-12,13,14+) | |
| Tan | ai.onnx(7+) | |
2023-08-12 18:43:39 +00:00
| Tanh | ai.onnx(6-12,13+) | |
2023-05-20 19:20:41 +00:00
| ThresholdedRelu | ai.onnx(10+) | |
2023-08-18 17:07:21 +00:00
| Tile | ai.onnx(6-12,13+) | |
2024-10-30 00:44:38 +00:00
| Transpose | ai.onnx(1-12,13-20,21+) | need perf optimization |
| Unsqueeze | ai.onnx(1-10,11-12,13-20,21+) | |
2023-10-03 21:28:21 +00:00
| Where | ai.onnx(9-15,16+) | |