"git@developer.sourcefind.cn:kecinstone/2024-pra-vllm.git" did not exist on "a255885f83b8d302fa684d4c972b2c69c44d47eb"
Unverified Commit e99be1b6 authored by Kirthi Shankar Sivamani's avatar Kirthi Shankar Sivamani Committed by GitHub
Browse files

Update minimum python version to 3.10 and add checks in CI (#2247)



* Update minimum python version to 3.10 and update CI
Signed-off-by: default avatarKirthi Shankar Sivamani <ksivamani@nvidia.com>

* review
Signed-off-by: default avatarKirthi Shankar Sivamani <ksivamani@nvidia.com>

* fix
Signed-off-by: default avatarKirthi Shankar Sivamani <ksivamani@nvidia.com>

---------
Signed-off-by: default avatarKirthi Shankar Sivamani <ksivamani@nvidia.com>
parent 9bf4175f
...@@ -38,3 +38,9 @@ repos: ...@@ -38,3 +38,9 @@ repos:
entry: clang-format -i entry: clang-format -i
args: ["-style=file"] args: ["-style=file"]
files: ^transformer_engine.*\.(c|cc|cxx|cpp|cu|cuh|h|hpp)$ files: ^transformer_engine.*\.(c|cc|cxx|cpp|cu|cuh|h|hpp)$
- repo: https://github.com/netromdk/vermin
rev: c75aca72f4e85c6e47252139e8695f1c8b5f9ae3
hooks:
- id: vermin
args: ['-t=3.10', '--violations']
...@@ -12,12 +12,31 @@ import re ...@@ -12,12 +12,31 @@ import re
import shutil import shutil
import subprocess import subprocess
import sys import sys
import platform
from pathlib import Path from pathlib import Path
from importlib.metadata import version as get_version from importlib.metadata import version as get_version
from subprocess import CalledProcessError from subprocess import CalledProcessError
from typing import List, Optional, Tuple, Union from typing import List, Optional, Tuple, Union
# Needs to stay consistent with .pre-commit-config.yaml config.
def min_python_version() -> Tuple[int]:
"""Minimum supported Python version."""
return (3, 10, 0)
def min_python_version_str() -> str:
"""String representing minimum supported Python version."""
return ".".join(map(str, min_python_version()))
if sys.version_info < min_python_version():
raise RuntimeError(
f"Transformer Engine requires Python {min_python_version_str()} or newer, "
f"but found Python {platform.python_version()}."
)
@functools.lru_cache(maxsize=None) @functools.lru_cache(maxsize=None)
def debug_build_enabled() -> bool: def debug_build_enabled() -> bool:
"""Whether to build with a debug configuration""" """Whether to build with a debug configuration"""
......
...@@ -20,6 +20,7 @@ from build_tools.utils import ( ...@@ -20,6 +20,7 @@ from build_tools.utils import (
cuda_version, cuda_version,
get_frameworks, get_frameworks,
remove_dups, remove_dups,
min_python_version_str,
) )
frameworks = get_frameworks() frameworks = get_frameworks()
...@@ -190,7 +191,7 @@ if __name__ == "__main__": ...@@ -190,7 +191,7 @@ if __name__ == "__main__":
long_description_content_type="text/x-rst", long_description_content_type="text/x-rst",
ext_modules=ext_modules, ext_modules=ext_modules,
cmdclass={"build_ext": CMakeBuildExtension, "bdist_wheel": TimedBdist}, cmdclass={"build_ext": CMakeBuildExtension, "bdist_wheel": TimedBdist},
python_requires=">=3.8", python_requires=f">={min_python_version_str()}",
classifiers=["Programming Language :: Python :: 3"], classifiers=["Programming Language :: Python :: 3"],
install_requires=install_requires, install_requires=install_requires,
license_files=("LICENSE",), license_files=("LICENSE",),
......
...@@ -44,7 +44,7 @@ if bool(int(os.getenv("NVTE_RELEASE_BUILD", "0"))) or os.path.isdir(build_tools_ ...@@ -44,7 +44,7 @@ if bool(int(os.getenv("NVTE_RELEASE_BUILD", "0"))) or os.path.isdir(build_tools_
from build_tools.build_ext import get_build_ext from build_tools.build_ext import get_build_ext
from build_tools.utils import copy_common_headers from build_tools.utils import copy_common_headers, min_python_version_str
from build_tools.te_version import te_version from build_tools.te_version import te_version
from build_tools.jax import setup_jax_extension, install_requirements, test_requirements from build_tools.jax import setup_jax_extension, install_requirements, test_requirements
...@@ -100,6 +100,7 @@ if __name__ == "__main__": ...@@ -100,6 +100,7 @@ if __name__ == "__main__":
description="Transformer acceleration library - Jax Lib", description="Transformer acceleration library - Jax Lib",
ext_modules=ext_modules, ext_modules=ext_modules,
cmdclass={"build_ext": CMakeBuildExtension}, cmdclass={"build_ext": CMakeBuildExtension},
python_requires=f">={min_python_version_str()}",
install_requires=install_requirements(), install_requires=install_requirements(),
tests_require=test_requirements(), tests_require=test_requirements(),
) )
......
...@@ -45,7 +45,7 @@ if bool(int(os.getenv("NVTE_RELEASE_BUILD", "0"))) or os.path.isdir(build_tools_ ...@@ -45,7 +45,7 @@ if bool(int(os.getenv("NVTE_RELEASE_BUILD", "0"))) or os.path.isdir(build_tools_
from build_tools.build_ext import get_build_ext from build_tools.build_ext import get_build_ext
from build_tools.utils import copy_common_headers from build_tools.utils import copy_common_headers, min_python_version_str
from build_tools.te_version import te_version from build_tools.te_version import te_version
from build_tools.pytorch import ( from build_tools.pytorch import (
setup_pytorch_extension, setup_pytorch_extension,
...@@ -152,6 +152,7 @@ if __name__ == "__main__": ...@@ -152,6 +152,7 @@ if __name__ == "__main__":
description="Transformer acceleration library - Torch Lib", description="Transformer acceleration library - Torch Lib",
ext_modules=ext_modules, ext_modules=ext_modules,
cmdclass={"build_ext": CMakeBuildExtension, "bdist_wheel": CachedWheelsCommand}, cmdclass={"build_ext": CMakeBuildExtension, "bdist_wheel": CachedWheelsCommand},
python_requires=f">={min_python_version_str()}",
install_requires=install_requirements(), install_requires=install_requirements(),
tests_require=test_requirements(), tests_require=test_requirements(),
) )
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment