Repository navigation
Commit 5be88d0
authored
Claim getitem when its producer is claimed
Summary:
NativeSupportedOperators now claims operator.getitem, so a supported
multi-output op and the getitems that unpack it stay in one partition. Without
this every getitem is a partition boundary, and fused-projection models (chunked
gate_up / qkv) fragment into many delegates.
The claim is conditional on the producer also being claimed. partition() passes
allows_single_node_partition=True, which disables the capability partitioner's
filter that would otherwise drop getitem-only partitions -- getitem is in its
default non-compute set, so such a partition normally scores zero compute nodes
and is deleted (see torch/fx/passes/infra/partitioner.py). With that filter off,
claiming getitem unconditionally can emit a delegate that holds no computation
and is fed by a tuple crossing the delegate boundary, where boundaries carry
tensors. Backends that claim getitem unconditionally (Qualcomm, OpenVINO) leave
the filter enabled and rely on it.
Reviewed By: digantdesai
Differential Revision: D117907800
Pull Request resolved: pytorch#229741 parent 3b065a6 commit 5be88d0
2 files changed
Lines changed: 52 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
74 | 92 | | |
75 | 93 | | |
76 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | | - | |
36 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
37 | 40 | | |
38 | 41 | | |
| 42 | + | |
39 | 43 | | |
40 | 44 | | |
41 | 45 | | |
| |||
88 | 92 | | |
89 | 93 | | |
90 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
91 | 123 | | |
92 | 124 | | |
93 | 125 | | |
| |||
0 commit comments