lightning-thunder icon indicating copy to clipboard operation
lightning-thunder copied to clipboard

Document Python+PyTorch version compatibility matrix in README

Open mjmikulski opened this issue 1 year ago • 2 comments

🚀 Feature

Add a matrix that defines which python versions are supported.

Motivation

Going through the installation guide 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 <module>
          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.

Additional context

mjmikulski avatar Oct 15 '24 11:10 mjmikulski

The Python versions Thunder supports are 3.10, 3.11, 3.12. Not sure what this means for NVFuser.

t-vi avatar Nov 14 '24 08:11 t-vi

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Apr 16 '25 06:04 stale[bot]