Skip to content

Commit 08c3a72

Browse files
authored
Arm backend: Create documents for the supported operators (pytorch#17847)
for the three Arm backends.
1 parent 48153fa commit 08c3a72

5 files changed

Lines changed: 411 additions & 0 deletions

File tree

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# EdgeIR Operator support for the U55 backend
2+
This list contains operators with silicon acceleration support.
3+
The ExecuTorch portable kernels allow running more operations with a fallback.
4+
8x8 designates 8-bit activation and 8-bit weight. 16x8 means 16-bit activation and 8-bit weight.
5+
Per-tensor and per-channel quantization are supported.
6+
7+
| EdgeIR operator | Compute DType | Quantization |
8+
| --------------- | ------------------------------| ------------ |
9+
| _log_softmax.default | Static integer quantization | 8x8 |
10+
| _softmax.default | Static integer quantization | 8x8 |
11+
| _to_copy.default | Static integer quantization | 8x8 |
12+
| abs.default | Static integer quantization | 8x8 |
13+
| acos.default | Static integer quantization | 8x8 |
14+
| adaptive_avg_pool2d.default | Static integer quantization | 16x8 / 8x8 |
15+
| add.Tensor | Static integer quantization | 16x8 / 8x8 |
16+
| alias_copy.default | Static integer quantization | 8x8 |
17+
| any.default | Static integer quantization | 8x8 |
18+
| arange.start_step | Static integer quantization | 8x8 |
19+
| asin.default | Static integer quantization | 8x8 |
20+
| asinh.default | Static integer quantization | 8x8 |
21+
| atan.default | Static integer quantization | 8x8 |
22+
| atanh.default | Static integer quantization | 8x8 |
23+
| bitwise_and.Scalar | Static integer quantization | 8x8 |
24+
| bitwise_and.Tensor | Static integer quantization | 8x8 |
25+
| bitwise_left_shift.Scalar | Static integer quantization | 8x8 |
26+
| bitwise_left_shift.Tensor | Static integer quantization | 8x8 |
27+
| bitwise_not.default | Static integer quantization | 8x8 |
28+
| bitwise_or.Scalar | Static integer quantization | 8x8 |
29+
| bitwise_or.Tensor | Static integer quantization | 8x8 |
30+
| bitwise_right_shift.Scalar | Static integer quantization | 8x8 |
31+
| bitwise_right_shift.Tensor | Static integer quantization | 8x8 |
32+
| bitwise_xor.Scalar | Static integer quantization | 8x8 |
33+
| bitwise_xor.Tensor | Static integer quantization | 8x8 |
34+
| bmm.default | Static integer quantization | 8x8 |
35+
| cat.default | Static integer quantization | 16x8 / 8x8 |
36+
| ceil.default | Static integer quantization | 8x8 |
37+
| clamp.default | Static integer quantization | 16x8 / 8x8 |
38+
| clone.default | Static integer quantization | 8x8 |
39+
| cond.default | Static integer quantization | 8x8 |
40+
| convolution.default | Static integer quantization | 16x8 / 8x8 |
41+
| copy.default | Static integer quantization | 8x8 |
42+
| cos.default | Static integer quantization | 8x8 |
43+
| cosh.default | Static integer quantization | 8x8 |
44+
| cumsum.default | Static integer quantization | 8x8 |
45+
| div.Tensor | Static integer quantization | 8x8 |
46+
| elu.default | Static integer quantization | 8x8 |
47+
| eq.Scalar | Static integer quantization | 8x8 |
48+
| erf.default | Static integer quantization | 8x8 |
49+
| exp.default | Static integer quantization | 8x8 |
50+
| expm1.default | Static integer quantization | 8x8 |
51+
| eye.default | Static integer quantization | 8x8 |
52+
| fill.Scalar | Static integer quantization | 8x8 |
53+
| floor.default | Static integer quantization | 8x8 |
54+
| floor_divide.default | Static integer quantization | 8x8 |
55+
| full.default | Static integer quantization | 8x8 |
56+
| gather.default | Static integer quantization | 8x8 |
57+
| ge.Scalar | Static integer quantization | 8x8 |
58+
| ge.Tensor | Static integer quantization | 8x8 |
59+
| gelu.default | Static integer quantization | 8x8 |
60+
| glu.default | Static integer quantization | 8x8 |
61+
| gt.Scalar | Static integer quantization | 8x8 |
62+
| gt.Tensor | Static integer quantization | 8x8 |
63+
| hardsigmoid.default | Static integer quantization | 8x8 |
64+
| hardswish.default | Static integer quantization | 8x8 |
65+
| hardtanh.default | Static integer quantization | 8x8 |
66+
| index_put.default | Static integer quantization | 8x8 |
67+
| leaky_relu.default | Static integer quantization | 8x8 |
68+
| linear.default | Static integer quantization | 16x8 / 8x8 |
69+
| log.default | Static integer quantization | 8x8 |
70+
| logit.default | Static integer quantization | 8x8 |
71+
| masked_fill.Scalar | Static integer quantization | 8x8 |
72+
| maximum.default | Static integer quantization | 16x8 / 8x8 |
73+
| mean.dim | Static integer quantization | 8x8 |
74+
| minimum.default | Static integer quantization | 16x8 / 8x8 |
75+
| mm.default | Static integer quantization | 8x8 |
76+
| mul.Tensor | Static integer quantization | 16x8 / 8x8 |
77+
| multihead_attention.default | Static integer quantization | 8x8 |
78+
| native_group_norm.default | Static integer quantization | 8x8 |
79+
| ne.Scalar | Static integer quantization | 8x8 |
80+
| ne.Tensor | Static integer quantization | 8x8 |
81+
| neg.default | Static integer quantization | 16x8 / 8x8 |
82+
| ones.default | Static integer quantization | 8x8 |
83+
| pixel_shuffle.default | Static integer quantization | 8x8 |
84+
| pixel_unshuffle.default | Static integer quantization | 8x8 |
85+
| pow.Tensor_Scalar | Static integer quantization | 8x8 |
86+
| reciprocal.default | Static integer quantization | 8x8 |
87+
| relu.default | Static integer quantization | 8x8 |
88+
| remainder.Scalar | Static integer quantization | 8x8 |
89+
| remainder.Tensor | Static integer quantization | 8x8 |
90+
| rsqrt.default | Static integer quantization | 16x8 / 8x8 |
91+
| rsub.Scalar | Static integer quantization | 8x8 |
92+
| scalar_tensor.default | Static integer quantization | 8x8 |
93+
| sdpa.default | Static integer quantization | 8x8 |
94+
| select_scatter.default | Static integer quantization | 8x8 |
95+
| sigmoid.default | Static integer quantization | 16x8 / 8x8 |
96+
| silu.default | Static integer quantization | 8x8 |
97+
| sin.default | Static integer quantization | 8x8 |
98+
| sinh.default | Static integer quantization | 8x8 |
99+
| slice_scatter.default | Static integer quantization | 8x8 |
100+
| split_copy.Tensor | Static integer quantization | 8x8 |
101+
| split_with_sizes_copy.default | Static integer quantization | 8x8 |
102+
| sqrt.default | Static integer quantization | 8x8 |
103+
| squeeze_copy.dim | Static integer quantization | 8x8 |
104+
| squeeze_copy.dims | Static integer quantization | 8x8 |
105+
| stack.default | Static integer quantization | 8x8 |
106+
| sub.Tensor | Static integer quantization | 16x8 / 8x8 |
107+
| sum.default | Static integer quantization | 8x8 |
108+
| t_copy.default | Static integer quantization | 8x8 |
109+
| tan.default | Static integer quantization | 8x8 |
110+
| tanh.default | Static integer quantization | 16x8 / 8x8 |
111+
| transpose_copy.int | Static integer quantization | 8x8 |
112+
| unflatten.int | Static integer quantization | 8x8 |
113+
| unsqueeze_copy.default | Static integer quantization | 8x8 |
114+
| var.dim | Static integer quantization | 8x8 |
115+
| vector_norm.default | Static integer quantization | 8x8 |
116+
| while_loop.default | Static integer quantization | 8x8 |
117+
| zeros.default | Static integer quantization | 8x8 |
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# EdgeIR Operator support for the U85 backend
2+
This list contains operators with silicon acceleration support.
3+
The ExecuTorch portable kernels allow running more operations with a fallback.
4+
8x8 designates 8-bit activation and 8-bit weight. 16x8 means 16-bit activation and 8-bit weight.
5+
Per-tensor and per-channel quantization are supported.
6+
7+
| EdgeIR operator | Compute DType | Quantization |
8+
| --------------- | ------------------------------| ------------ |
9+
| _log_softmax.default | Static integer quantization | 8x8 |
10+
| _softmax.default | Static integer quantization | 8x8 |
11+
| abs.default | Static integer quantization | 8x8 |
12+
| acos.default | Static integer quantization | 8x8 |
13+
| adaptive_avg_pool2d.default | Static integer quantization | 16x8 / 8x8 |
14+
| add.Tensor | Static integer quantization | 16x8 / 8x8 |
15+
| addmm.default | Static integer quantization | 16x8 / 8x8 |
16+
| alias_copy.default | Static integer quantization | 8x8 |
17+
| amax.default | Static integer quantization | 16x8 / 8x8 |
18+
| amin.default | Static integer quantization | 16x8 / 8x8 |
19+
| any.default | Static integer quantization | 8x8 |
20+
| arange.start_step | Static integer quantization | 8x8 |
21+
| asin.default | Static integer quantization | 8x8 |
22+
| asinh.default | Static integer quantization | 8x8 |
23+
| atan.default | Static integer quantization | 8x8 |
24+
| atanh.default | Static integer quantization | 8x8 |
25+
| avg_pool2d.default | Static integer quantization | 16x8 / 8x8 |
26+
| bitwise_and.Scalar | Static integer quantization | 8x8 |
27+
| bitwise_left_shift.Scalar | Static integer quantization | 8x8 |
28+
| bitwise_left_shift.Tensor | Static integer quantization | 8x8 |
29+
| bitwise_not.default | Static integer quantization | 8x8 |
30+
| bitwise_or.Scalar | Static integer quantization | 8x8 |
31+
| bitwise_right_shift.Scalar | Static integer quantization | 8x8 |
32+
| bitwise_right_shift.Tensor | Static integer quantization | 8x8 |
33+
| bitwise_xor.Scalar | Static integer quantization | 8x8 |
34+
| bmm.default | Static integer quantization | 8x8 |
35+
| cat.default | Static integer quantization | 16x8 / 8x8 |
36+
| ceil.default | Static integer quantization | 8x8 |
37+
| clamp.default | Static integer quantization | 16x8 / 8x8 |
38+
| clone.default | Static integer quantization | 8x8 |
39+
| conv_transpose2d.default | Static integer quantization | 8x8 |
40+
| convolution.default | Static integer quantization | 16x8 / 8x8 |
41+
| copy.default | Static integer quantization | 8x8 |
42+
| cos.default | Static integer quantization | 8x8 |
43+
| cosh.default | Static integer quantization | 8x8 |
44+
| cumsum.default | Static integer quantization | 8x8 |
45+
| div.Tensor | Static integer quantization | 8x8 |
46+
| div.Tensor_mode | Static integer quantization | 8x8 |
47+
| elu.default | Static integer quantization | 8x8 |
48+
| eq.Scalar | Static integer quantization | 16x8 / 8x8 |
49+
| erf.default | Static integer quantization | 8x8 |
50+
| exp.default | Static integer quantization | 8x8 |
51+
| expand_copy.default | Static integer quantization | 8x8 |
52+
| expm1.default | Static integer quantization | 8x8 |
53+
| eye.default | Static integer quantization | 8x8 |
54+
| fill.Scalar | Static integer quantization | 8x8 |
55+
| floor.default | Static integer quantization | 8x8 |
56+
| floor_divide.default | Static integer quantization | 8x8 |
57+
| full.default | Static integer quantization | 8x8 |
58+
| gather.default | Static integer quantization | 8x8 |
59+
| ge.Scalar | Static integer quantization | 16x8 / 8x8 |
60+
| ge.Tensor | Static integer quantization | 16x8 / 8x8 |
61+
| gelu.default | Static integer quantization | 8x8 |
62+
| glu.default | Static integer quantization | 8x8 |
63+
| gt.Scalar | Static integer quantization | 16x8 / 8x8 |
64+
| gt.Tensor | Static integer quantization | 16x8 / 8x8 |
65+
| hardsigmoid.default | Static integer quantization | 8x8 |
66+
| hardswish.default | Static integer quantization | 8x8 |
67+
| hardtanh.default | Static integer quantization | 8x8 |
68+
| index_put.default | Static integer quantization | 8x8 |
69+
| index_select.default | Static integer quantization | 8x8 |
70+
| le.Scalar | Static integer quantization | 16x8 / 8x8 |
71+
| le.Tensor | Static integer quantization | 16x8 / 8x8 |
72+
| leaky_relu.default | Static integer quantization | 8x8 |
73+
| linear.default | Static integer quantization | 16x8 / 8x8 |
74+
| log.default | Static integer quantization | 8x8 |
75+
| logical_and.default | Static integer quantization | 8x8 |
76+
| logical_not.default | Static integer quantization | 8x8 |
77+
| logical_or.default | Static integer quantization | 8x8 |
78+
| logical_xor.default | Static integer quantization | 8x8 |
79+
| logit.default | Static integer quantization | 8x8 |
80+
| lt.Scalar | Static integer quantization | 16x8 / 8x8 |
81+
| lt.Tensor | Static integer quantization | 16x8 / 8x8 |
82+
| masked_fill.Scalar | Static integer quantization | 8x8 |
83+
| maximum.default | Static integer quantization | 16x8 / 8x8 |
84+
| mean.dim | Static integer quantization | 8x8 |
85+
| minimum.default | Static integer quantization | 16x8 / 8x8 |
86+
| mm.default | Static integer quantization | 8x8 |
87+
| mul.Tensor | Static integer quantization | 16x8 / 8x8 |
88+
| multihead_attention.default | Static integer quantization | 8x8 |
89+
| native_group_norm.default | Static integer quantization | 8x8 |
90+
| ne.Scalar | Static integer quantization | 8x8 |
91+
| ne.Tensor | Static integer quantization | 8x8 |
92+
| neg.default | Static integer quantization | 16x8 / 8x8 |
93+
| ones.default | Static integer quantization | 8x8 |
94+
| permute_copy.default | Static integer quantization | 16x8 / 8x8 |
95+
| pow.Tensor_Scalar | Static integer quantization | 8x8 |
96+
| reciprocal.default | Static integer quantization | 8x8 |
97+
| relu.default | Static integer quantization | 8x8 |
98+
| remainder.Scalar | Static integer quantization | 8x8 |
99+
| remainder.Tensor | Static integer quantization | 8x8 |
100+
| repeat.default | Static integer quantization | 16x8 / 8x8 |
101+
| round.default | Static integer quantization | 8x8 |
102+
| rsqrt.default | Static integer quantization | 16x8 / 8x8 |
103+
| rsub.Scalar | Static integer quantization | 8x8 |
104+
| scalar_tensor.default | Static integer quantization | 8x8 |
105+
| sdpa.default | Static integer quantization | 8x8 |
106+
| select_copy.int | Static integer quantization | 8x8 |
107+
| select_scatter.default | Static integer quantization | 8x8 |
108+
| sigmoid.default | Static integer quantization | 16x8 / 8x8 |
109+
| sign.default | Static integer quantization | 8x8 |
110+
| silu.default | Static integer quantization | 8x8 |
111+
| sin.default | Static integer quantization | 8x8 |
112+
| sinh.default | Static integer quantization | 8x8 |
113+
| slice_copy.Tensor | Static integer quantization | 16x8 / 8x8 |
114+
| slice_scatter.default | Static integer quantization | 8x8 |
115+
| split_copy.Tensor | Static integer quantization | 8x8 |
116+
| split_with_sizes_copy.default | Static integer quantization | 8x8 |
117+
| sqrt.default | Static integer quantization | 8x8 |
118+
| squeeze_copy.dim | Static integer quantization | 8x8 |
119+
| squeeze_copy.dims | Static integer quantization | 8x8 |
120+
| stack.default | Static integer quantization | 8x8 |
121+
| sub.Tensor | Static integer quantization | 16x8 / 8x8 |
122+
| sum.default | Static integer quantization | 8x8 |
123+
| t_copy.default | Static integer quantization | 8x8 |
124+
| tan.default | Static integer quantization | 8x8 |
125+
| tanh.default | Static integer quantization | 16x8 / 8x8 |
126+
| transpose_copy.int | Static integer quantization | 8x8 |
127+
| tril.default | Static integer quantization | 16x8 / 8x8 |
128+
| unflatten.int | Static integer quantization | 8x8 |
129+
| unsqueeze_copy.default | Static integer quantization | 8x8 |
130+
| upsample_bilinear2d.vec | Static integer quantization | 16x8 / 8x8 |
131+
| var.dim | Static integer quantization | 8x8 |
132+
| vector_norm.default | Static integer quantization | 8x8 |
133+
| view_copy.default | Static integer quantization | 16x8 / 8x8 |
134+
| where.self | Static integer quantization | 8x8 |
135+
| while_loop.default | Static integer quantization | 8x8 |
136+
| zeros.default | Static integer quantization | 8x8 |

docs/source/backends/arm-ethos-u/arm-ethos-u-overview.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@ ExecuTorch for the Ethos-U backend, you automatically install the compiler conta
225225

226226
**→{doc}`/backends/arm-ethos-u/tutorials/arm-ethos-u-tutorials` — Tutorials.**
227227

228+
**→{doc}`/backends/arm-ethos-u/U55_op_support` — Ethos-U55 supported operators.**
229+
230+
**→{doc}`/backends/arm-ethos-u/U85_op_support` — Ethos-U85 supported operators.**
228231

229232
```{toctree}
230233
:maxdepth: 2
@@ -235,4 +238,6 @@ arm-ethos-u-partitioner
235238
arm-ethos-u-quantization
236239
arm-ethos-u-troubleshooting
237240
tutorials/arm-ethos-u-tutorials
241+
U55_op_support
242+
U85_op_support
238243
```

0 commit comments

Comments
 (0)