Skip to content
Snippets Groups Projects
Commit 1ad9f7d1 authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Installer checks for Python version by checking the python it's running on

parent 535c471e
No related branches found
No related tags found
No related merge requests found
...@@ -14,11 +14,8 @@ LLVM_DIR = f"llvm-{VERSION}.src" ...@@ -14,11 +14,8 @@ LLVM_DIR = f"llvm-{VERSION}.src"
LLVM_TARBALL = f"{LLVM_DIR}.tar.xz" LLVM_TARBALL = f"{LLVM_DIR}.tar.xz"
ROOT_DIR = (Path(__file__).parent / "..").absolute().resolve() ROOT_DIR = (Path(__file__).parent / "..").absolute().resolve()
TEST_DIR = ROOT_DIR / "test"
LLVM_LIT = "bin/llvm-lit" # rel to build dir
MODEL_PARAMS_DIR = TEST_DIR / "dnn_benchmarks/model_params"
MODEL_PARAMS_TAR = ROOT_DIR / "model_params.tar.gz" MODEL_PARAMS_TAR = ROOT_DIR / "model_params.tar.gz"
MODEL_PARAMS_DIR = ROOT_DIR / "test/dnn_benchmarks/model_params"
MODEL_PARAMS_LINK = "https://databank.illinois.edu/datafiles/o3izd/download" MODEL_PARAMS_LINK = "https://databank.illinois.edu/datafiles/o3izd/download"
LINKS = [ LINKS = [
...@@ -41,6 +38,8 @@ PY_PACKAGES = [ ...@@ -41,6 +38,8 @@ PY_PACKAGES = [
"projects/keras", "projects/keras",
] ]
PYTHON_REQ = ((3, 6), (3, 7)) # This means >= 3.6, < 3.7
def parse_args(args=None): def parse_args(args=None):
parser = ArgumentParser( parser = ArgumentParser(
...@@ -186,6 +185,22 @@ def print_args(args): ...@@ -186,6 +185,22 @@ def print_args(args):
print(f" CMake arguments: {args.cmake_args}") print(f" CMake arguments: {args.cmake_args}")
def check_python_version():
from sys import version_info, version, executable
lowest, highest = PYTHON_REQ
if not (lowest <= version_info < highest):
lowest_str = ".".join([str(n) for n in lowest])
highest_str = ".".join([str(n) for n in highest])
version_short_str = ".".join([str(n) for n in version_info])
raise RuntimeError(
f"You are using Python {version_short_str}, unsupported by HPVM. "
f"HPVM requires Python version '{lowest_str} <= version < {highest_str}'.\n"
f"(Current Python binary: {executable})\n"
f"Detailed version info:\n{version}"
)
def check_download_llvm_clang(): def check_download_llvm_clang():
if Path("llvm/").is_dir(): if Path("llvm/").is_dir():
print("Found LLVM directory, not extracting it again.") print("Found LLVM directory, not extracting it again.")
...@@ -339,6 +354,7 @@ def main(): ...@@ -339,6 +354,7 @@ def main():
# Don't parse args if no args given -- use prompt mode # Don't parse args if no args given -- use prompt mode
args = prompt_args() if len(argv) == 1 else parse_args() args = prompt_args() if len(argv) == 1 else parse_args()
print_args(args) print_args(args)
check_python_version()
check_download_llvm_clang() check_download_llvm_clang()
link_and_patch() link_and_patch()
if not args.no_params: if not args.no_params:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment