Commit aa06dbc
authored
Skip torch random ops in CoreML partitioner (pytorch#19246)
### Summary
coremltools' MIL converter fails the input-count check for the torch
random
ops (`rand` / `randn` / `rand_like` / `randn_like` / `randint` /
`randint_like`) and aborts during compilation with an internal error
(see issue for the full traceback).
Add these ops to `should_override_support` so the partitioner refuses to
delegate them and they fall back to the portable backend, the same way
`acosh` / `asinh` are handled today.
Fixes pytorch#11722.
### Test plan
Added `test_random_ops_are_skipped` which lowers a model that adds
`torch.randn` + `torch.rand` outputs and asserts the random ops remain
in
the top-level graph (not delegated). Also reproduced the original
`randn_like` repro from the issue and confirmed it now lowers without
crashing:
```
$ python -m unittest -v executorch.backends.apple.coreml.test.test_coreml_partitioner.TestCoreMLPartitioner.test_random_ops_are_skipped
Ran 1 test in 0.475s
OK
```
Authored with Claude.
cc @metascroy1 parent 4c474af commit aa06dbc
2 files changed
Lines changed: 86 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
36 | 66 | | |
37 | 67 | | |
38 | 68 | | |
| |||
92 | 122 | | |
93 | 123 | | |
94 | 124 | | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
114 | 130 | | |
115 | | - | |
| 131 | + | |
116 | 132 | | |
117 | 133 | | |
118 | 134 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
341 | 389 | | |
342 | 390 | | |
343 | 391 | | |
| |||
435 | 483 | | |
436 | 484 | | |
437 | 485 | | |
| 486 | + | |
| 487 | + | |
438 | 488 | | |
439 | 489 | | |
0 commit comments