Commit 94f9719
authored
[exir] Materialize alloc shapes in ToOutVarPass (pytorch#19806)
Fix a dynamic-shape lowering bug in exir.
ConstraintBasedSymShapeEvalPass concretizes TensorSpec metadata, but
ToOutVarPass was still building memory.alloc nodes from symbolic
FakeTensor/tensor_meta shapes. That let symbolic dims leak into the
generated ExecuTorch GraphModule and caused runtime failures when the
lowered module was executed in Python.
Build memory.alloc specs from concrete upper-bounded integer shapes
instead. If an alloc shape is still not concretely bounded, raise a
clear error.
Add an EXIR regression test that exports a dynamic-shape model, runs
ConstraintBasedSymShapeEvalPass + ToOutVarPass, and verifies that
memory.alloc shapes are concrete integers.
cc @digantdesai @freddan80 @per @zingo @mansnils @Sebastian-Larsson
@robell @rascani
---------
Signed-off-by: Oscar Andersson <oscar.andersson@arm.com>1 parent c505aa5 commit 94f9719
3 files changed
Lines changed: 67 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
101 | | - | |
102 | 100 | | |
103 | 101 | | |
104 | 102 | | |
| |||
124 | 122 | | |
125 | 123 | | |
126 | 124 | | |
127 | | - | |
128 | | - | |
129 | 125 | | |
130 | 126 | | |
131 | 127 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
281 | 282 | | |
282 | 283 | | |
283 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
284 | 298 | | |
285 | 299 | | |
286 | 300 | | |
287 | | - | |
| 301 | + | |
288 | 302 | | |
289 | 303 | | |
290 | 304 | | |
291 | 305 | | |
292 | 306 | | |
293 | | - | |
| 307 | + | |
294 | 308 | | |
295 | 309 | | |
296 | 310 | | |
297 | 311 | | |
298 | 312 | | |
299 | 313 | | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
| 314 | + | |
304 | 315 | | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
| 316 | + | |
309 | 317 | | |
310 | 318 | | |
311 | 319 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| 78 | + | |
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
| |||
1036 | 1038 | | |
1037 | 1039 | | |
1038 | 1040 | | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
1039 | 1088 | | |
1040 | 1089 | | |
1041 | 1090 | | |
| |||
0 commit comments