-
Notifications
You must be signed in to change notification settings - Fork 25k
Description
Update Jan 13 2025:
Now that enablement in trunk has been done and 3.13/3.13t are officially released, revamping this to be a support matrix for what works today and what we plan on adding:
Source build
OS | 3.13 | 3.13t |
---|---|---|
Linux | ✅ | ✅ |
MacOS | ✅ | ✅ |
Windows | ✅ | ✅ |
Nightlies (As of Jan 13 2025):
OS | 3.13 | 3.13t |
---|---|---|
Linux | ✅ | ✅ |
Linux Aarch64 | ✅ | ❌ |
MacOS | ✅ | ❌ |
Windows | ✅ | ❌ |
Release 2.5.0
OS | 3.13 | 3.13t |
---|---|---|
Linux | ✅ | ❌ |
Linux Aarch64 | ❌ | ❌ |
MacOS | ❌ | ❌ |
Windows | ❌ | ❌ |
Release 2.5.1
OS | 3.13 | 3.13t |
---|---|---|
Linux | ✅ | ❌ |
Linux Aarch64 | ❌ | ❌ |
MacOS | ❌ | ❌ |
Windows | ❌ | ❌ |
Release 2.6
OS | 3.13 | 3.13t |
---|---|---|
Linux | ✅ | ✅ |
Linux Aarch64 | ✅ | ❌ |
MacOS | ✅ | ❌ |
Windows | ✅ | ❌ |
Release 2.7 (tentative)
OS | 3.13 | 3.13t |
---|---|---|
Linux | ✅ | ✅ |
Linux Aarch64 | ✅ | ✅ |
MacOS | ✅ | ✅ |
Windows | ✅ | ✅ |
Original post
Python 3.13 is coming out in the near future - RC1 is planned for July 30 (first point at which the ABI is stable and packages can start releasing wheels for 3.13), and the fina release is planned for 1 Oct 2024 (see PEP 719).
I see that work on supporting 3.13 has started (gh-121979, gh-130030; Cc @atalman), but I couldn't find a tracking issue for the current status of it, so I thought it'd be useful to have one. The other motivation to open an issue now: we're working on implementing support for free-threaded CPython (a.k.a. "no-GIL", PEP 703) and are interested to start work on a first package that depends on PyTorch. Support for the default CPython 3.13 is a pre-requisite for starting that work though.
Here is a hopefully useful breakdown in steps to support Python 3.13:
- PyTorch builds from source on 3.13 (done in Changes to compile with 3.13 #126033 )
- Nightly
cp313
wheels available for all platforms (waiting until final cpython rc) -
torch.compile
support for 3.13 (complete @williamwen42 ) - PyTorch builds from source with free-threaded CPython (blocked on dependency support + update in core, tracking PR [Not to be merged] Update to compile and run test_torch with 3.13t #130689)
-
cp313t
(free-threaded) nightly wheels available (blocked on ft build and dependencies)
Python 3.13 CD:
- Nightly
cp313
Linux wheels available: Add linux manywheel python 3.13 binary workflows #130030 - Windows python 3.13 update smoke_test builder#2035
- Nightly windows wheels : CD Enable Python 3.13 on windows #138095
- Nightly macos: [CD] Enable 3.13 triton build #140137
- Nightly aarch64 wheels : [Python 3.13 CD] Enable Aarch64 py3.13 builds #138629
- Add python 3.13.0t build to Docker images #136001
- Add py3.13t linux wheel build #137127
- Python 3.13t changes required to build python 3.13t wheel builder#2001
- Enable py3.13 wheels for ROCm #142294
Python 3.13 CI & torch.compile:
- Linux Wheels: Remove triton dependency python < 3.13 constraint #143162
- Python 3.11, 3.12 Remove tests covered by 3.13 #143078
- Python 3.13 CI add crossref test to existing linux-focal-py3_13-clang10-build #143074
- [CI, 3.13] enable dynamo_wrapped unittests in 3.13 #141264
- [ci, 3.13] disable segfaulting dynamo-wrapped profiler test #141951
- [ci, 3.13] fix/skip failing numpy 2.0+ dynamo-wrapped tests #141950
- [ci, 3.13] skip failing module tracker dynamo-wrapped test #141887
- [ci, 3.13] skip failing torch.package dynamo-wrapped test #141886
- [dynamo, 3.13] disable 3.13.0 warning in dynamo-wrapped tests #141860
- [dynamo, 3.13] add JUMP_BACKWARD_NO_INTERRUPT to terminal opcodes #141859
- [ci] add 3.13 inductor unittests to CI #140733
- [CI, 3.13] enable 3.13 CI #139533
- [ci, 3.13] skip dynamo-xpass'd numpy tests in numpy >= 2.0 #141862
- [dynamo, 3.13] support CONVERT_VALUE #141858
- [ci, 3.13] disable segfaulting profiler tests in 3.13 #141674
- [ci, 3.13] disable another failing cpp_extension test in 3.13 #141673
- [ci, 3.13] disable failing cpp_extension test due to weights_only error in numpy 2.1 #141623
- [ci, 3.13] disable some quantization tests affected by numpy 2.1 overflow error #141621
- [ci, 3.13] skip some parts of a failing jit test in 3.13 #141605
- [ci, 3.13] update test_testing.py usage of locals() for 3.13 #141577
- [ci, 3.13] update tensorboard version for 3.13 to fix broken tests #141572
- format test_monitor.py and test_tensorboard.py #142003
- [torch.package, 3.13] fixes to torch.package for 3.13 #141409
torch.compile
is broken out separately based on the history for Python 3.12 (see gh-110436 for general support, and gh-120233 for torch.compile
).
The status of dependencies should be fine AFAIK. E.g. Pybind11 2.13.1 has full support, and SymPy 1.13.0rc4
has too (xref sympy#26692).
For free-threaded support we should probably open a separate tracking issue once regular 3.13 support is in good shape. I'll note here that Pybind11 and NumPy already have mostly-complete support for it, and NumPy should release (experimental) wheels shortly after Python 3.13.0rc1).
cc @malfet @seemethere @pytorch/pytorch-dev-infra @albanD
Metadata
Metadata
Assignees
Labels
Type
Projects
Status