Lightning-AI / Lightning-AI/lightning-thunder
Document Python+PyTorch version compatibility matrix in README
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 121
- PR merge metrics
- No merged PRs in 30d
Description
## 🚀 Feature
Add a matrix that defines which python versions are supported.
### Motivation
Going through [the installation guide](https://github.com/Lightning-AI/lightning-thunder?tab=readme-ov-file#install-thunder) with python 3.11 leads to errors when installing `nvfuser`
Error message
Error message depends on which package is used.
**The version recommended in Thunder readme:**
```
$ conda create -n thunder3 python=3.11
...
$ conda activate thunder3
$ pip install --pre nvfuser-cu121-torch24
ERROR: Could not find a version that satisfies the requirement nvfuser-cu121-torch24 (from versions: none)
ERROR: No matching distribution found for nvfuser-cu121-torch24
```
**The version recommended in nvfuser readme (i.e. with the extra index flag:**
```
$ pip install --pre 'nvfuser-cu121[torch]' --extra-index-url https://pypi.nvidia.com
Looking in indexes: https://pypi.org/simple, https://pypi.nvidia.com
Collecting nvfuser-cu121[torch]
Downloading nvfuser_cu121-0.2.10.dev20240819.tar.gz (544 bytes)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [41 lines of output]
Traceback (most recent call last):
File "/home/mmikulski/miniconda3/envs/report/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/home/mmikulski/miniconda3/envs/report/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mmikulski/miniconda3/envs/report/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel
whl_basename = backend.build_wheel(metadata_directory, config_settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-jvsfi906/overlay/lib/python3.11/site-packages/nvidia_stub/buildapi.py", line 29, in build_wheel
return download_wheel(pathlib.Path(wheel_directory), config_settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-jvsfi906/overlay/lib/python3.11/site-packages/nvidia_stub/wheel.py", line 175, in download_wheel
report_install_failure(distribution, version, None)
File "/tmp/pip-build-env-jvsfi906/overlay/lib/python3.11/site-packages/nvidia_stub/error.py", line 63, in report_install_failure
raise InstallFailedError(
nvidia_stub.error.InstallFailedError:
*******************************************************************************
The installation of nvfuser-cu121 for version 0.2.10.dev20240819 failed.
This is a special placeholder package which downloads a real wheel package
from https://pypi.nvidia.com. If https://pypi.nvidia.com is not reachable, we
cannot download the real wheel file to install.
You might try installing this package via
$ pip install --extra-index-url https://pypi.nvidia.com nvfuser-cu121
Here is some debug information about your platform to include in any bug
report:
Python Version: CPython 3.11.9
Operating System: Linux 6.5.0-44-generic
CPU Architecture: x86_64
Driver Version: 550.90
CUDA Version: 12.4
*******************************************************************************
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
```
Python 3.10 works fine.
### Pitch
Write explicite which versions of python are supported, e.g.:
| python | status |
|--------|----------------|
| 3.9 | ✅ |
| 3.10 | ✅ |
| 3.11 | coming soon |
### Alternatives
Add badges with python version at the top of the readme, like [here](https://github.com/mjmikulski/horology/blob/master/README.md).
### Additional context
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the README's Install Thunder section and review the reported Python 3.10 and 3.11 installation behavior for nvfuser. Document the supported Python and PyTorch combinations in a compatibility matrix, including statuses for versions that are not yet supported, and verify the README renders correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100