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:
entry: clang-format -i
args: ["-style=file"]
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
import shutil
import subprocess
import sys
import platform
from pathlib import Path
from importlib.metadata import version as get_version
from subprocess import CalledProcessError
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)
def debug_build_enabled() -> bool:
"""Whether to build with a debug configuration"""
......
......@@ -20,6 +20,7 @@ from build_tools.utils import (
cuda_version,
get_frameworks,
remove_dups,
min_python_version_str,
)
frameworks = get_frameworks()
......@@ -190,7 +191,7 @@ if __name__ == "__main__":
long_description_content_type="text/x-rst",
ext_modules=ext_modules,
cmdclass={"build_ext": CMakeBuildExtension, "bdist_wheel": TimedBdist},
python_requires=">=3.8",
python_requires=f">={min_python_version_str()}",
classifiers=["Programming Language :: Python :: 3"],
install_requires=install_requires,
license_files=("LICENSE",),
......
......@@ -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.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.jax import setup_jax_extension, install_requirements, test_requirements
......@@ -100,6 +100,7 @@ if __name__ == "__main__":
description="Transformer acceleration library - Jax Lib",
ext_modules=ext_modules,
cmdclass={"build_ext": CMakeBuildExtension},
python_requires=f">={min_python_version_str()}",
install_requires=install_requirements(),
tests_require=test_requirements(),
)
......
......@@ -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.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.pytorch import (
setup_pytorch_extension,
......@@ -152,6 +152,7 @@ if __name__ == "__main__":
description="Transformer acceleration library - Torch Lib",
ext_modules=ext_modules,
cmdclass={"build_ext": CMakeBuildExtension, "bdist_wheel": CachedWheelsCommand},
python_requires=f">={min_python_version_str()}",
install_requires=install_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