A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | V2 ops in red | Optimized: model optimized by ONNX Runtime before performing the inference (before webnn graph building as well) | ||||||||||||||||||||||||||||||||||
2 | Model Operations (ONNX) | W3C Spec | TOSA | Stable HLO | Op Usage Count of Optimized models | stable-diffusion-v1-5 | segment anything | whisper-tiny.en | t5-small | llama-2-7b | gpt2 | m2m100_418M | ||||||||||||||||||||||||
3 | unet (fp32) | text_encoder (fp32) | vae_encoder (fp32) | vae_decoder (fp32) | decoder (fp32) | encoder (fp32) | encoder (int8) | decoder (fp32) | decoder (int8) | encoder (fp32) | decoder (fp32) | decoder (fp16) | decoder (fp32) | encoder (fp32) | decoder (fp32) | |||||||||||||||||||||
4 | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | Original | Optimized | ||||||
5 | Abs | abs | 0 | 1 | 0 | |||||||||||||||||||||||||||||||
6 | Add | add | 15 | 361 | 345 | 160 | 160 | 39 | 38 | 49 | 49 | 68 | 66 | 53 | 53 | 55 | 55 | 80 | 79 | 80 | 79 | 35 | 32 | 52 | 49 | 737 | 226 | 123 | 111 | 160 | 160 | 257 | 256 | |||
7 | ArgMax | argMax | tosa.argmax | 2 | 1 | 1 | 1 | 1 | ||||||||||||||||||||||||||||
8 | Cast | cast | tosa.cast | stablehlo.convert | 9 | 514 | 1 | 3 | 0 | 6 | 0 | 2 | 0 | 54 | 7 | 24 | 24 | 4 | 0 | 41 | 41 | 24 | 1 | 38 | 0 | 706 | 809 | 38 | 1 | 7 | 4 | 10 | 4 | |||
9 | Clip | clamp | 1 | 1 | 1 | |||||||||||||||||||||||||||||||
10 | Concat | concat | 3 | 303 | 14 | 124 | 0 | 10 | 0 | 6 | 0 | 48 | 6 | 32 | 0 | 20 | 0 | 76 | 0 | 50 | 0 | 25 | 0 | 54 | 0 | 642 | 130 | 148 | 0 | 123 | 0 | 246 | 0 | |||
11 | Constant | constant | 0 | 2247 | 0 | 379 | 0 | 142 | 0 | 134 | 0 | 360 | 0 | 120 | 0 | 235 | 0 | 156 | 0 | 295 | 0 | 7526 | 0 | 1215 | 0 | 344 | 0 | 659 | 0 | |||||||
12 | ConstantOfShape | 0 | 1 | 0 | 2 | 0 | 4 | 0 | 5 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 6 | 0 | 512 | 0 | 12 | 0 | 1 | 0 | 3 | 0 | ||||||||||
13 | Conv | conv2d | 5 | 98 | 98 | 28 | 28 | 36 | 36 | 3 | 3 | 2 | 2 | |||||||||||||||||||||||
14 | ConvInteger | convInteger | 1 | 2 | 2 | |||||||||||||||||||||||||||||||
15 | ConvTranspose | convTranspose2d | 1 | 2 | 2 | |||||||||||||||||||||||||||||||
16 | Cos | cos | 2 | 1 | 1 | 2 | 1 | |||||||||||||||||||||||||||||
17 | CumSum | 2 | 1 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||
18 | DequantizeLinear | dequantizeLinear | 1 | 1 | 1 | |||||||||||||||||||||||||||||||
19 | Div | div | 13 | 358 | 64 | 25 | 25 | 12 | 0 | 15 | 0 | 36 | 15 | 15 | 15 | 17 | 17 | 17 | 17 | 17 | 17 | 15 | 13 | 21 | 19 | 97 | 97 | 37 | 37 | 25 | 25 | 37 | 37 | |||
20 | DynamicQuantizeLinear | dynamicQuantizeLinear | 2 | 14 | 14 | 26 | 26 | |||||||||||||||||||||||||||||
21 | Equal | equal | tosa.equal | stablehlo.compare EQ | 3 | 1 | 0 | 11 | 5 | 1 | 0 | 1 | 0 | 512 | 0 | 2 | 1 | 3 | 1 | |||||||||||||||||
22 | Erf | erf | tosa.erf | 6 | 16 | 16 | 4 | 4 | 6 | 6 | 6 | 6 | 4 | 4 | 4 | 4 | ||||||||||||||||||||
23 | Exp | exp | 1 | 1 | 1 | |||||||||||||||||||||||||||||||
24 | Expand | expand | tosa.tile(a, tosa.div(b.shape, a.shape)) | stablehlo.broadcast_in_dim? | 5 | 1 | 1 | 6 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 640 | 128 | 1 | 1 | 2 | 1 | |||||||||||||||
25 | Flatten | flattenTo2d | 2 | 1 | 1 | 2 | 2 | |||||||||||||||||||||||||||||
26 | Floor | floor | 1 | 2 | 2 | |||||||||||||||||||||||||||||||
27 | Gather | gather | tosa.gather | stablehlo.gather? (much more complicated) | 10 | 465 | 0 | 57 | 2 | 17 | 0 | 12 | 0 | 117 | 9 | 8 | 0 | 8 | 0 | 24 | 1 | 24 | 1 | 10 | 1 | 19 | 1 | 705 | 65 | 197 | 1 | 43 | 2 | 80 | 2 | |
28 | Gemm | gemm | 3 | 24 | 24 | 15 | 15 | 48 | 48 | |||||||||||||||||||||||||||
29 | Greater | greater | tosa.greater | stablehlo.compare GT | 0 | 1 | 0 | |||||||||||||||||||||||||||||
30 | Identity | identity | tosa.identity | 1 | 129 | 0 | 202 | 0 | 8 | 0 | 6 | 0 | 1 | 1 | 24 | 0 | 36 | 0 | ||||||||||||||||||
31 | InstanceNormalization | meanVarianceNormalization | --- (nearest is stablehlo.batch_norm_inference) | 3 | 61 | 61 | 22 | 22 | 30 | 30 | ||||||||||||||||||||||||||
32 | LayerNormalization | meanVarianceNormalization | --- (nearest is stablehlo.batch_norm_inference) | 1 | 9 | 9 | ||||||||||||||||||||||||||||||
33 | Less | lesser | stablehlo.compare LT | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | ||||||||||||||||||||||
34 | LessOrEqual | lesserOrEqual | stablehlo.compare LE | 0 | 1 | 0 | ||||||||||||||||||||||||||||||
35 | Log | log | 0 | 1 | 0 | 1 | 0 | |||||||||||||||||||||||||||||
36 | MatMul | matmul | 15 | 224 | 224 | 96 | 96 | 6 | 6 | 6 | 6 | 49 | 48 | 32 | 32 | 12 | 12 | 57 | 57 | 16 | 16 | 48 | 48 | 85 | 85 | 289 | 289 | 25 | 25 | 96 | 96 | 169 | 169 | |||
37 | MatMulInteger | matmulInteger | 2 | 20 | 20 | 41 | 41 | |||||||||||||||||||||||||||||
38 | Min | min | 0 | 1 | 0 | 2 | 0 | |||||||||||||||||||||||||||||
39 | Mul | mul | 15 | 435 | 237 | 86 | 61 | 50 | 47 | 62 | 61 | 38 | 21 | 29 | 25 | 75 | 69 | 38 | 29 | 119 | 111 | 29 | 14 | 43 | 20 | 994 | 385 | 74 | 74 | 52 | 39 | 89 | 63 | |||
40 | Neg | neg | 0 | 1 | 0 | |||||||||||||||||||||||||||||||
41 | Not | logicalNot | tosa.logical_not | stablehlo.not | 3 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||
42 | Pad | pad | 1 | 3 | 3 | |||||||||||||||||||||||||||||||
43 | Pow | pow | 14 | 48 | 48 | 25 | 25 | 3 | 3 | 9 | 9 | 9 | 9 | 13 | 13 | 13 | 13 | 13 | 13 | 19 | 19 | 65 | 65 | 49 | 37 | 25 | 25 | 37 | 37 | |||||||
44 | RandomNormalLike | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
45 | Range | fillSequence | stablehlo.iota (lacks start and step) | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 512 | 0 | 1 | 0 | 1 | 0 | ||||||||||||||
46 | ReduceMean | reduceMean | 13 | 96 | 96 | 50 | 50 | 6 | 6 | 18 | 18 | 18 | 18 | 26 | 26 | 26 | 26 | 13 | 13 | 19 | 19 | 65 | 65 | 50 | 50 | 50 | 50 | 74 | 74 | |||||||
47 | Relu | relu | 5 | 12 | 12 | 6 | 6 | 6 | 6 | 12 | 12 | 12 | 12 | |||||||||||||||||||||||
48 | Reshape | reshape | tosa.reshape | stablehlo.reshape | 15 | 411 | 410 | 123 | 123 | 56 | 50 | 66 | 66 | 40 | 37 | 32 | 32 | 34 | 34 | 75 | 73 | 75 | 73 | 25 | 25 | 49 | 49 | 768 | 384 | 148 | 147 | 124 | 123 | 246 | 243 | |
49 | Resize | resample2d | 3 | 3 | 3 | 3 | 3 | 2 | 2 | |||||||||||||||||||||||||||
50 | ScatterND | 1 | 128 | 128 | ||||||||||||||||||||||||||||||||
51 | Shape | 0 | 527 | 0 | 55 | 0 | 39 | 0 | 42 | 0 | 116 | 0 | 8 | 0 | 4 | 0 | 26 | 0 | 15 | 0 | 9 | 0 | 20 | 0 | 1536 | 0 | 280 | 0 | 42 | 0 | 82 | 0 | ||||
52 | Sigmoid | sigmoid | 5 | 68 | 47 | 12 | 12 | 21 | 21 | 29 | 29 | 32 | 32 | |||||||||||||||||||||||
53 | Sin | sin | 2 | 1 | 1 | 2 | 1 | |||||||||||||||||||||||||||||
54 | Slice | slice | 4 | 34 | 34 | 1 | 0 | 5 | 2 | 7 | 3 | 3 | 0 | 2 | 0 | 832 | 260 | 109 | 0 | 2 | 0 | |||||||||||||||
55 | Softmax | softmax | 15 | 32 | 32 | 12 | 12 | 1 | 1 | 1 | 1 | 7 | 7 | 4 | 4 | 4 | 4 | 8 | 8 | 8 | 8 | 6 | 6 | 12 | 12 | 32 | 32 | 12 | 12 | 12 | 12 | 24 | 24 | |||
56 | Split | split | 2 | 4 | 1 | 12 | 12 | |||||||||||||||||||||||||||||
57 | Sqrt | sqrt | tosa.reciprocal(tosa.rsqrt) or tosa.pow | stablehlo.sqrt | 13 | 48 | 48 | 25 | 25 | 3 | 3 | 9 | 9 | 9 | 9 | 13 | 13 | 13 | 13 | 13 | 13 | 19 | 19 | 65 | 65 | 25 | 25 | 25 | 25 | 37 | 37 | |||||
58 | Squeeze | squeeze | 0 | 2 | 0 | 1 | 0 | 85 | 0 | 2 | 0 | |||||||||||||||||||||||||
59 | Sub | sub | 12 | 48 | 48 | 25 | 25 | 6 | 5 | 9 | 9 | 9 | 9 | 13 | 13 | 13 | 13 | 2 | 1 | 3 | 0 | 64 | 64 | 38 | 26 | 26 | 26 | 38 | 38 | |||||||
60 | Tanh | tanh | 1 | 12 | 12 | |||||||||||||||||||||||||||||||
61 | Tile | 0 | 1 | 0 | ||||||||||||||||||||||||||||||||
62 | Transpose | transpose | 15 | 192 | 192 | 60 | 60 | 9 | 6 | 6 | 6 | 32 | 30 | 21 | 21 | 21 | 21 | 40 | 40 | 40 | 40 | 25 | 24 | 61 | 60 | 128 | 128 | 60 | 60 | 60 | 60 | 121 | 120 | |||
63 | Trilu | triangularMatrix | 0 | 1 | 0 | |||||||||||||||||||||||||||||||
64 | Unsqueeze | 7 | 926 | 45 | 222 | 0 | 19 | 0 | 15 | 0 | 107 | 10 | 44 | 0 | 12 | 0 | 122 | 0 | 33 | 0 | 30 | 2 | 70 | 0 | 1440 | 66 | 285 | 2 | 212 | 2 | 424 | 2 | ||||
65 | Where | elementwiseIf | tosa.select | stablehlo.select | 3 | 1 | 0 | 5 | 0 | 2 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 512 | 0 | 12 | 12 | 2 | 1 | 4 | 1 | |||||||||||
66 | ||||||||||||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||||||||||||
100 |