Xuehai Pan
1b70366957
[dynamo][itertools] refactor itertools.chain and itertools.chain.from_iterable to use polyfills ( #133864 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133864
Approved by: https://github.com/jansel
ghstack dependencies: #133769 , #133778 , #133779
2024-08-29 20:56:16 +00:00
Xuehai Pan
eaa449fbf0
[dynamo] simplify implementation for builtins.sum ( #133779 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133779
Approved by: https://github.com/jansel , https://github.com/anijain2305
ghstack dependencies: #133769 , #133778
2024-08-29 20:56:16 +00:00
Xuehai Pan
b5f1ffa7ab
[dynamo] simplify implementation for functools.reduce ( #133778 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133778
Approved by: https://github.com/jansel , https://github.com/anijain2305
ghstack dependencies: #133769
2024-08-29 20:56:16 +00:00
Xuehai Pan
e09324e7da
[dynamo] simplify polyfill registration for builtins.all and builtins.any ( #133769 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133769
Approved by: https://github.com/jansel
2024-08-29 20:56:16 +00:00
Animesh Jain
594162f7ab
[dynamo] Support reading attributes from pybind objects ( #134630 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134630
Approved by: https://github.com/jansel
2024-08-29 15:06:52 +00:00
Xuehai Pan
9e806c1a60
[dynamo] simplify implementation for os.fspath ( #133801 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133801
Approved by: https://github.com/anijain2305
2024-08-29 13:36:52 +00:00
Animesh Jain
d01a7a9faa
[dynamo] Graph break on FSDP flat_param inconsistent tensor and grad dtype ( #134614 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134614
Approved by: https://github.com/awgu , https://github.com/yf225
ghstack dependencies: #134610 , #134590 , #134621
2024-08-29 09:14:42 +00:00
Animesh Jain
2bf622685d
[dynamo][dicts] Support hasattr on dicts ( #134590 )
...
Fixes - https://github.com/pytorch/pytorch/issues/134577
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134590
Approved by: https://github.com/Skylion007
ghstack dependencies: #134610
2024-08-29 09:14:42 +00:00
PyTorch MergeBot
4811dc3de9
Revert "[dynamo] simplify polyfill registration for builtins.all and builtins.any ( #133769 )"
...
This reverts commit cc3a76edba .
Reverted https://github.com/pytorch/pytorch/pull/133769 on behalf of https://github.com/ZainRizvi due to Sorry but this has been discovered to be causing a performance regression internally ([comment](https://github.com/pytorch/pytorch/pull/133769#issuecomment-2316620213 ))
2024-08-29 03:00:47 +00:00
PyTorch MergeBot
eaec9e80b8
Revert "[dynamo] simplify implementation for os.fspath ( #133801 )"
...
This reverts commit 74341e1150 .
Reverted https://github.com/pytorch/pytorch/pull/133801 on behalf of https://github.com/ZainRizvi due to Sorry, have to revert this in order to be able to revert https://github.com/pytorch/pytorch/pull/133769 ([comment](https://github.com/pytorch/pytorch/pull/133771#issuecomment-2316611158 ))
2024-08-29 02:49:30 +00:00
PyTorch MergeBot
67d7040fce
Revert "[dynamo][dicts] Support hasattr on dicts ( #134590 )"
...
This reverts commit c566f2465f .
Reverted https://github.com/pytorch/pytorch/pull/134590 on behalf of https://github.com/ZainRizvi due to Sorry, I had to revert this in order to revert another PR ([comment](https://github.com/pytorch/pytorch/pull/134610#issuecomment-2316568553 ))
2024-08-29 02:02:12 +00:00
PyTorch MergeBot
c35d1f7b3a
Revert "[dynamo] Graph break on FSDP flat_param inconsistent tensor and grad dtype ( #134614 )"
...
This reverts commit e4a5958ab5 .
Reverted https://github.com/pytorch/pytorch/pull/134614 on behalf of https://github.com/ZainRizvi due to Sorry, I had to revert this in order to revert another PR ([comment](https://github.com/pytorch/pytorch/pull/134610#issuecomment-2316568553 ))
2024-08-29 02:02:12 +00:00
Animesh Jain
042b733ddd
[dynamo][freezing] Set is_static_type to false after marking an input static ( #134653 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134653
Approved by: https://github.com/mlazos
2024-08-28 19:22:37 +00:00
Yanbo Liang
97c8a0739e
[Dynamo] Support inspect.signature.Parameter getattr ( #134636 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134636
Approved by: https://github.com/Chillee , https://github.com/anijain2305
2024-08-28 09:59:41 +00:00
Yanbo Liang
8693322ef0
[Dynamo][autograd.Function] Support mark_non_differentiable ( #134087 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134087
Approved by: https://github.com/zou3519
2024-08-28 08:12:37 +00:00
Animesh Jain
e4a5958ab5
[dynamo] Graph break on FSDP flat_param inconsistent tensor and grad dtype ( #134614 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134614
Approved by: https://github.com/awgu , https://github.com/yf225
ghstack dependencies: #134610 , #134590 , #134621
2024-08-28 07:35:24 +00:00
Animesh Jain
c566f2465f
[dynamo][dicts] Support hasattr on dicts ( #134590 )
...
Fixes - https://github.com/pytorch/pytorch/issues/134577
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134590
Approved by: https://github.com/Skylion007
ghstack dependencies: #134610
2024-08-28 07:35:18 +00:00
PyTorch MergeBot
30094bedbc
Revert "[dynamo][dicts] Support hasattr on dicts ( #134590 )"
...
This reverts commit d23c0150f3 .
Reverted https://github.com/pytorch/pytorch/pull/134590 on behalf of https://github.com/anijain2305 due to causing trunk CI failures ([comment](https://github.com/pytorch/pytorch/pull/134590#issuecomment-2313705582 ))
2024-08-27 22:52:52 +00:00
Animesh Jain
d23c0150f3
[dynamo][dicts] Support hasattr on dicts ( #134590 )
...
Fixes - https://github.com/pytorch/pytorch/issues/134577
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134590
Approved by: https://github.com/Skylion007
ghstack dependencies: #134039
2024-08-27 20:43:40 +00:00
Xuehai Pan
74341e1150
[dynamo] simplify implementation for os.fspath ( #133801 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133801
Approved by: https://github.com/anijain2305
ghstack dependencies: #133771
2024-08-27 00:08:04 +00:00
Wuxun Zhang
1d231ff8ba
[HOO] add hints_wrapper to support passing context hints ( #132860 )
...
Fixes #126393
The implementation code is based on feedback here (https://github.com/pytorch/pytorch/pull/121639#issuecomment-2223948842 ).
Hints are passed as kwargs of hints_wrapper op. It also supports nested hints.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/132860
Approved by: https://github.com/ydwu4 , https://github.com/zou3519
2024-08-26 18:21:22 +00:00
Animesh Jain
1ccc8f0200
[dynamo][super] Improve handling of getattr on super ( #134039 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134039
Approved by: https://github.com/yanboliang , https://github.com/jansel
2024-08-26 18:20:39 +00:00
PyTorch MergeBot
50e90d7203
Revert "[dynamo] simplify implementation for functools.reduce ( #133778 )"
...
This reverts commit 6c0b15e382 .
Reverted https://github.com/pytorch/pytorch/pull/133778 on behalf of https://github.com/ZainRizvi due to Sorry, but this breaks internal tests because of using functools ([comment](https://github.com/pytorch/pytorch/pull/133778#issuecomment-2310445169 ))
2024-08-26 15:16:17 +00:00
PyTorch MergeBot
472c7cf962
Revert "[dynamo] simplify implementation for builtins.sum ( #133779 )"
...
This reverts commit 8d90392fb0 .
Reverted https://github.com/pytorch/pytorch/pull/133779 on behalf of https://github.com/ZainRizvi due to Sorry, but this breaks internal tests because of using functools ([comment](https://github.com/pytorch/pytorch/pull/133778#issuecomment-2310445169 ))
2024-08-26 15:16:17 +00:00
PyTorch MergeBot
e1fc4362fb
Revert "[dynamo] simplify implementation for os.fspath ( #133801 )"
...
This reverts commit c5f6b72041 .
Reverted https://github.com/pytorch/pytorch/pull/133801 on behalf of https://github.com/ZainRizvi due to Sorry, but this breaks internal tests because of using functools ([comment](https://github.com/pytorch/pytorch/pull/133778#issuecomment-2310445169 ))
2024-08-26 15:16:17 +00:00
Xuehai Pan
c5f6b72041
[dynamo] simplify implementation for os.fspath ( #133801 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133801
Approved by: https://github.com/anijain2305
ghstack dependencies: #133769 , #133778 , #133779 , #133771
2024-08-26 07:12:15 +00:00
Yidi Wu
4ff1a4dd0f
[export] support set_grad_enabled hop in dynamo to enable re-tracing ( #134281 )
...
As titled. We added dynamo support for wrap_with_set_grad_enabled hop to support re-trace an exported program.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134281
Approved by: https://github.com/tugsbayasgalan
2024-08-24 00:35:53 +00:00
PyTorch MergeBot
7fd3b69886
Revert "[dynamo][super] Improve handling of getattr on super ( #134039 )"
...
This reverts commit 1da3a049da .
Reverted https://github.com/pytorch/pytorch/pull/134039 on behalf of https://github.com/jeanschmidt due to broke internal torchrec signals, see [D61670727](https://www.internalfb.com/diff/D61670727 ) ([comment](https://github.com/pytorch/pytorch/pull/134039#issuecomment-2307151643 ))
2024-08-23 13:57:04 +00:00
Xuehai Pan
8d90392fb0
[dynamo] simplify implementation for builtins.sum ( #133779 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133779
Approved by: https://github.com/jansel
ghstack dependencies: #133769 , #133778
2024-08-23 10:10:19 +00:00
Xuehai Pan
6c0b15e382
[dynamo] simplify implementation for functools.reduce ( #133778 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133778
Approved by: https://github.com/jansel
ghstack dependencies: #133769
2024-08-23 09:10:44 +00:00
Xuehai Pan
cc3a76edba
[dynamo] simplify polyfill registration for builtins.all and builtins.any ( #133769 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133769
Approved by: https://github.com/jansel
2024-08-23 09:05:24 +00:00
Xuehai Pan
25b2e46573
[dynamo] add max iterator limit while inlining generators ( #134233 )
...
Related:
- #133879
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134233
Approved by: https://github.com/jansel
2024-08-23 07:03:31 +00:00
Animesh Jain
fee677eeb6
[fbode-testing][dynamo][reland][inline-inbuilt-nn-modules] Mark attri… ( #134136 )
...
Shuai wants to test this internally before https://github.com/pytorch/pytorch/pull/133713 can go in. Creating a separate PR for ghmport.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134136
Approved by: https://github.com/yanboliang
2024-08-22 17:54:58 +00:00
Xuehai Pan
b6abac68ec
[BE][dynamo] reorganize polyfill module hierarchy ( #133977 )
...
Changes:
1. Move `polyfill.py` -> `polyfills/__init__.py`. It can be used as `polyfill.xxx` -> `polyfills.xxx`.
2. Move submodule loading from `polyfills/__init__.py` to `polyfills/loader.py`.
Merge `polyfill.py` and `polyfills/` packages. Each polyfill module have its own namespace for better code organization.
The ultimate goal is make `polyfills/__init__.py` empty and all polyfill functions move to its own namespace.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133977
Approved by: https://github.com/jansel
2024-08-22 16:42:29 +00:00
Avik Chaudhuri
0d7ac1966a
kill sharing of constraints ( #134045 )
...
Summary:
Previously, reuse of the same `Dim` was encoded by "sharing" internal constraints among constraint targets. This kind of sharing, implemented using `shared` fields between `_Constraint`s, was originally motivated by `dynamic_dim`, specifically to support `==` between `dynamic_dim`s, but we no longer need to maintain this overcomplicated structure: we can simply use names of `Dims` to directly encode sharing information.
Thus this PR vastly simplifies the structure of `_Constraint` by removing `shared` fields. As a result, both `_Constraint` and its moral subclass, `_DerivedConstraint`, are 1-1 with `Dim` and its moral subclass, `DerivedDim`.
Note that this will break `==` over `dynamic_dim`, so an immediate follow-up will be to remove `dynamic_dim` entirely from our public API. (It's been more than 6 months since the deprecation warning anyway.) I just didn't want to deal with that process in the same PR.
Test Plan: existing
Differential Revision: D61559413
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134045
Approved by: https://github.com/pianpwk
2024-08-22 04:40:47 +00:00
Yanbo Liang
7868b65c4d
[Dynamo] Support dict.setdefault ( #134083 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134083
Approved by: https://github.com/williamwen42
2024-08-22 01:57:33 +00:00
Animesh Jain
1da3a049da
[dynamo][super] Improve handling of getattr on super ( #134039 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134039
Approved by: https://github.com/yanboliang
ghstack dependencies: #133742 , #134016
2024-08-21 16:50:35 +00:00
PyTorch MergeBot
68425e68fe
Revert "[dynamo][reland][inline-inbuilt-nn-modules] Mark attributes of nn mod… ( #133714 )"
...
This reverts commit e8d3c4be36 .
Reverted https://github.com/pytorch/pytorch/pull/133714 on behalf of https://github.com/anijain2305 due to fails internally ([comment](https://github.com/pytorch/pytorch/pull/133714#issuecomment-2302171472 ))
2024-08-21 14:21:06 +00:00
Xuehai Pan
539be0a769
[dynamo] support ClassMethodDescriptorType ( #133862 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133862
Approved by: https://github.com/jansel
2024-08-21 12:56:19 +00:00
Animesh Jain
bd0db490bf
[dynamo][set] Fix EQUALS_MATCH guard for constant sets and lists ( #134016 )
...
Fixes https://github.com/pytorch/pytorch/issues/133509
Pull Request resolved: https://github.com/pytorch/pytorch/pull/134016
Approved by: https://github.com/laithsakka , https://github.com/jansel
ghstack dependencies: #133742
2024-08-21 12:41:52 +00:00
Xuehai Pan
c929e1e11f
[dynamo] fix polyfill for user defined constructor __new__ ( #133822 )
...
In `cls->tp_call`, if `cls->tp_new` does not return an instance of class `cls`, then `cls->tp_init` is not called on the new instance.
Related PR:
- #132977
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133822
Approved by: https://github.com/jansel
2024-08-21 12:41:19 +00:00
Xuehai Pan
022cd7c9aa
[RFC][dynamo] add decorator to register polyfill for unsupported C++ function to avoid graph break ( #133712 )
...
Add decorator `torch.compiler.substitute_in_graph` to register polyfill for unsupported C++ function to avoid graph break. This API provides an official way to add support for dynamo for third-party C extensions. Also, it can be used to simplify our implementation for `torch._dynamo.polyfill`.
5ee070266f/torch/_dynamo/variables/builtin.py (L97-L107)
Example:
```python
>>> import operator
>>> operator.indexOf([1, 2, 3, 4, 5], 3)
2
>>> torch.compile(operator.indexOf, fullgraph=True)([1, 2, 3, 4, 5], 3)
Unsupported: ...
>>> @torch.compiler.substitute_in_graph(operator.indexOf)
... def indexOf(sequence, x):
... for i, item in enumerate(sequence):
... if item is x or item == x:
... return i
... raise ValueError("sequence.index(x): x not in sequence")
>>> torch.compile(operator.indexOf, fullgraph=True)([1, 2, 3, 4, 5], 3)
2
```
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133712
Approved by: https://github.com/jansel
2024-08-21 06:36:41 +00:00
Animesh Jain
1ae5d5bb62
[dynamo][user-defined] Improve getattr_static for user_defined objects ( #133742 )
...
Fixes https://github.com/pytorch/pytorch/issues/133607
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133742
Approved by: https://github.com/Skylion007 , https://github.com/jansel
2024-08-20 21:51:03 +00:00
PyTorch MergeBot
15b5a0b67f
Revert "[RFC][dynamo] add decorator to register polyfill for unsupported C++ function to avoid graph break ( #133712 )"
...
This reverts commit 71dd52f51a .
Reverted https://github.com/pytorch/pytorch/pull/133712 on behalf of https://github.com/ZainRizvi due to breaking main windows cpu tests - this stack still causes that windows test to fail ([comment](https://github.com/pytorch/pytorch/pull/133712#issuecomment-2299776241 ))
2024-08-20 21:14:45 +00:00
PyTorch MergeBot
88ead0afc6
Revert "[dynamo] simplify polyfill registration for builtins.all and builtins.any ( #133769 )"
...
This reverts commit 178e8563b8 .
Reverted https://github.com/pytorch/pytorch/pull/133769 on behalf of https://github.com/ZainRizvi due to breaking main windows cpu tests - this stack still causes that windows test to fail ([comment](https://github.com/pytorch/pytorch/pull/133712#issuecomment-2299776241 ))
2024-08-20 21:14:45 +00:00
PyTorch MergeBot
3fa874abbe
Revert "[dynamo] simplify implementation for functools.reduce ( #133778 )"
...
This reverts commit 37b4bc60a4 .
Reverted https://github.com/pytorch/pytorch/pull/133778 on behalf of https://github.com/ZainRizvi due to breaking main windows cpu tests - this stack still causes that windows test to fail ([comment](https://github.com/pytorch/pytorch/pull/133712#issuecomment-2299776241 ))
2024-08-20 21:14:45 +00:00
PyTorch MergeBot
98e6a1d8ff
Revert "[dynamo] simplify implementation for builtins.sum ( #133779 )"
...
This reverts commit 3f58a8051a .
Reverted https://github.com/pytorch/pytorch/pull/133779 on behalf of https://github.com/ZainRizvi due to breaking main windows cpu tests - this stack still causes that windows test to fail ([comment](https://github.com/pytorch/pytorch/pull/133712#issuecomment-2299776241 ))
2024-08-20 21:14:44 +00:00
Xuehai Pan
b03381cac2
[dynamo] support cls.__flags__ ( #133970 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133970
Approved by: https://github.com/jansel
ghstack dependencies: #133969
2024-08-20 20:03:31 +00:00
Xuehai Pan
5229b52bf2
[dynamo] support cls.__base__ ( #133969 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133969
Approved by: https://github.com/jansel
2024-08-20 20:03:31 +00:00
Xuehai Pan
3f58a8051a
[dynamo] simplify implementation for builtins.sum ( #133779 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/133779
Approved by: https://github.com/jansel
ghstack dependencies: #133712 , #133769 , #133778
2024-08-20 19:48:57 +00:00