Jason Ansel
43dd043ea7
Revert "[inductor] Improve error messages ( #95567 )" ( #96014 )
...
This reverts commit 62b775583f .
Pull Request resolved: https://github.com/pytorch/pytorch/pull/96014
Approved by: https://github.com/Chillee
2023-03-04 04:03:31 +00:00
Jason Ansel
62b775583f
[inductor] Improve error messages ( #95567 )
...
Example error message before/after (710 to 131 lines):
https://gist.github.com/jansel/6fecad057738089fa95bf08c3de9fc8a
Pull Request resolved: https://github.com/pytorch/pytorch/pull/95567
Approved by: https://github.com/mlazos
2023-03-02 02:20:55 +00:00
Wang, Eikan
9895c19a7a
To vectorize long datatype as mask index ( #91076 )
...
In this PR, we record the current fx node being executed to cache additional information to simply the vectorization checker. In addition, we supported `masked` in this PR by simplifying it as `mask_load` to support `max_pool2d`.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/91076
Approved by: https://github.com/jgong5 , https://github.com/desertfire , https://github.com/jansel
2023-02-05 03:36:22 +00:00
Jason Ansel
8c09a005c5
[inductor] Pattern matching engine (copy) ( #93291 )
...
This is an exact duplicate of https://github.com/pytorch/pytorch/pull/90739
The fbcode workflow for landing that diff seems buggy. The github-export-checks task is failing with credentials errors. Plan to try to land it using GH1.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/93291
Approved by: https://github.com/desertfire
2023-01-31 04:51:00 +00:00
Mark Saroufim
15af4b1cee
Dynamo, FX, Inductor Progress Bars ( #88384 )
...
There are 3 progress bars each gated behind their own config, all off by default for now
1. Dynamo: Macro level config for dynamo, AOT, inductor
2. FX: Progress bar for each pass, with their names
3. Inductor
Pull Request resolved: https://github.com/pytorch/pytorch/pull/88384
Approved by: https://github.com/wconstab , https://github.com/mlazos , https://github.com/malfet
2022-12-21 11:56:58 +00:00
Peter Bell
81f351acd7
[inductor] Prevent blowup in inner_fn_str and extract_read_writes ( #88933 )
...
Currently the default `ops` handler expects strings as arguments and
just formats them into a function call template string. For complex
expressions, this can lead to exponential growth in terms. Say for
example you have:
```python
def fn(a):
for _ in range(3)
a = ops.mul(a, a)
return a
```
You might expect `inner_fn_str` to contain 1 load and 3 multiplies,
but instead you find 8 loads and 7 multiplies:
```python
load(arg_0, i0) * load(arg_0, i0) * load(arg_0, i0) * load(arg_0, i0) * load(arg_0, i0) * load(arg_0, i0) * load(arg_0, i0) * load(arg_0, i0)
```
This type of blowup is present in the lowering for
`max_pool2d_with_indices_backward` which in #pytorch/torchdynamo#1352
was reported to have caused the entire compilation to hang.
This PR fixes the issue by formatting the string as a series of assignments to
variables, so for the example above, we now get:
```
tmp0 = load(arg_0, i0)
tmp1 = tmp0 * tmp0
tmp2 = tmp1 * tmp1
tmp3 = tmp2 * tmp2
return tmp3
```
Which corresponds to sequence of `ops` calls made.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/88933
Approved by: https://github.com/jansel
2022-12-15 15:36:52 +00:00
PyTorch MergeBot
6581063583
Revert "Dynamo, FX, Inductor Progress Bars ( #88384 )"
...
This reverts commit db0ce4acf3 .
Reverted https://github.com/pytorch/pytorch/pull/88384 on behalf of https://github.com/malfet due to Broke test_public_bindings across the board
2022-12-09 16:32:25 +00:00
Mark Saroufim
db0ce4acf3
Dynamo, FX, Inductor Progress Bars ( #88384 )
...
There are 3 progress bars each gated behind their own config, all off by default for now
1. Dynamo: Macro level config for dynamo, AOT, inductor
2. FX: Progress bar for each pass, with their names
3. Inductor
Pull Request resolved: https://github.com/pytorch/pytorch/pull/88384
Approved by: https://github.com/wconstab , https://github.com/mlazos
2022-12-09 04:32:31 +00:00
Jean Schmidt
f62e54df8f
Reland "Dynamo, FX, Inductor Progress Bars ( #88384 )" … ( #90055 )
...
This commit had inconsistent internal land and pr merged. This caused merge conflicts that required revert in both places, normalize the internal commit stack, and then re-land properly.
Original commit: #88384 (011452a2a1 )
Inconsistent revert: #90018 (8566aa7c0b4bdca50bf85ca14705b4304de030b3)
Revert of the inconsistent revert to restore healthy state (or re-land of the original commit): cf3c3f2280
Landing the correct, internally congruent revert of the original commit: (This PR) #90055 (TBD)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/90055
Approved by: https://github.com/DanilBaibak , https://github.com/malfet
2022-12-02 13:28:00 +00:00
PyTorch MergeBot
cf3c3f2280
Revert "Revert "Dynamo, FX, Inductor Progress Bars ( #88384 )" ( #90018 )"
...
This reverts commit bcf4292f04 .
Reverted https://github.com/pytorch/pytorch/pull/90018 on behalf of https://github.com/jeanschmidt due to landed internal commit does not match with this one, causing merge conflict and preventing import and land new commits
2022-12-02 09:57:31 +00:00
Eli Uriegas
bcf4292f04
Revert "Dynamo, FX, Inductor Progress Bars ( #88384 )" ( #90018 )
...
This breaks in environments that use the fake tqdm 015b05af18/torch/hub.py (L26) which doesn't support the 'desc' kwarg and is not iterable
Original try using pytorchbot did not go through because of a merge
conflict: https://github.com/pytorch/pytorch/pull/88384#issuecomment-1334272489
This reverts commit 011452a2a1 .
Fixes #ISSUE_NUMBER
Pull Request resolved: https://github.com/pytorch/pytorch/pull/90018
Approved by: https://github.com/drisspg , https://github.com/dbort
2022-12-01 20:17:07 +00:00
Mark Saroufim
011452a2a1
Dynamo, FX, Inductor Progress Bars ( #88384 )
...
There are 3 progress bars each gated behind their own config, all off by default for now
1. Dynamo: Macro level config for dynamo, AOT, inductor
2. FX: Progress bar for each pass, with their names
3. Inductor
Pull Request resolved: https://github.com/pytorch/pytorch/pull/88384
Approved by: https://github.com/wconstab , https://github.com/mlazos
2022-11-30 06:07:14 +00:00
Horace He
419ef2cdcf
Added utility to count memory reads/written in Inductor ( #89203 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/89203
Approved by: https://github.com/jansel , https://github.com/ngimel
2022-11-19 04:18:26 +00:00
Yanbo Liang
98f40af7e3
[Inductor] Truncate function expr str if it's too long at RecordLoadStore ( #87248 )
...
See context at https://github.com/pytorch/torchdynamo/issues/1352#issuecomment-1283131872
Fixes https://github.com/pytorch/torchdynamo/issues/1352
cc @jansel @lezcano @fdrocha @mlazos @soumith @voznesenskym @penguinwu
Pull Request resolved: https://github.com/pytorch/pytorch/pull/87248
Approved by: https://github.com/jansel
2022-10-25 03:22:27 +00:00
Horace He
2418ddb1ec
Unified symbolic shape variables between Inductor and AOTDispatcher ( #87161 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/87161
Approved by: https://github.com/jansel
2022-10-19 04:50:34 +00:00
Jason Ansel
c7c09722ad
Move TorchDynamo into PyTorch core ( #86461 )
...
Context:
https://github.com/pytorch/torchdynamo/issues/1588
This PR moves [TorchDynamo](https://github.com/pytorch/torchdynamo ) and TorchInductor into PyTorch core.
- `torchdynamo` becomes `torch._dynamo`
- `torchinductor` becomes `torch._inductor`
This PR was generated by running `copy_to_core.sh` in https://github.com/pytorch/torchdynamo/pull/1538
Pull Request resolved: https://github.com/pytorch/pytorch/pull/86461
Approved by: https://github.com/voznesenskym
2022-10-13 23:18:06 +00:00