Commit fbd14e6
authored
Arm backend: Avoid unnecessary lowering pass retraces (pytorch#21138)
Add cheap applicability checks before selected Arm passes enter the
ExportPass retracing path. Skip InsertRescalePass for profiles without
integer support and graphs without DQ nodes. Move symbolic shape and
adaptive pool passes to ArmOpTargetedPass, and pre-scan
RemoveGetItemPass producers.
These checks preserve target-present transformations while avoiding
retraces on non-applicable graphs.
Lowering times are medians of three fresh-process exports with no
warm-up. Regular models use TOSA FP with FP32; full Qwen uses BF16.
| Model | Base (s) | Updated (s) | Speedup |
|-------------------|---------:|------------:|--------:|
| ResNet-18 | 3.633 | 3.519 | 3.16% |
| MobileNetV3 | 11.063 | 10.100 | 8.70% |
| DeiT-tiny | 33.323 | 31.137 | 6.56% |
| Conformer | 13.121 | 12.204 | 6.98% |
| Test Qwen text | 11.582 | 10.962 | 5.35% |
| Test Qwen vision | 11.979 | 11.388 | 4.93% |
| Full Qwen text | 155.825 | 146.824 | 5.78% |
| Full Qwen vision | 126.671 | 120.153 | 5.15% |
Change-Id: I3c539e023efb5d1e59a725e531c850a897758002
cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils
@Sebastian-Larsson @robell @rascani
Signed-off-by: Yufeng Shi <yufeng.shi@arm.com>1 parent e2c9a48 commit fbd14e6
5 files changed
Lines changed: 54 additions & 5 deletions
File tree
- backends/arm
- _passes
- test/passes
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
110 | 111 | | |
111 | 112 | | |
112 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
113 | 122 | | |
114 | 123 | | |
115 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
126 | 153 | | |
127 | 154 | | |
128 | 155 | | |
| |||
0 commit comments