Commit 00aafe53 authored by “qianyj”'s avatar “qianyj”
Browse files

ADD __dcu_version_ attribute

parent ba7b456b
...@@ -6,6 +6,11 @@ try: ...@@ -6,6 +6,11 @@ try:
except ModuleNotFoundError: except ModuleNotFoundError:
__version__ = '999.dev0' __version__ = '999.dev0'
try:
from .version import __dcu_version__
except ImportError:
pass
from .runtime.log import _init_logger from .runtime.log import _init_logger
_init_logger() _init_logger()
......
import subprocess
from pathlib import Path
import os
UNKNOWN = "Unknown"
def sha_value(tf_root):
try:
return (
subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=tf_root)
.decode("ascii")
.strip()
)
except Exception:
return UNKNOWN
def abi_value():
try:
return (
subprocess.check_output("echo '#include <string>' | gcc -x c++ -E -dM - | fgrep _GLIBCXX_USE_CXX11_ABI", shell=True)
.decode('ascii')
.strip()[-1]
)
except Exception:
return UNKNOWN
def dtk_version_value():
try:
dtk_path=os.getenv('ROCM_PATH')
dtk_version_path = os.path.join(dtk_path, '.info', "version-dev")
with open(dtk_version_path, 'r',encoding='utf-8') as file:
lines = file.readlines()
dtk_version="dtk"+lines[0][:-2].replace(".", "")
return dtk_version
except Exception:
return UNKNOWN
def nni_whl_name():
try:
tf_root = Path(__file__).parent.parent
sha = "git" + sha_value(tf_root)[0:7]
abi = "abi" + abi_value()
dtk_version = dtk_version_value()
whl_name = "+" + sha + "." + abi + "." + dtk_version
return whl_name
except Exception:
return UNKNOWN
def dcu_version():
try:
release = os.environ.get('NNI_RELEASE')
nni_version = release or UNKNOWN
dcu_version = nni_version + nni_whl_name()
return dcu_version
except Exception:
return UNKNOWN
...@@ -67,7 +67,13 @@ from setuptools.command.develop import develop ...@@ -67,7 +67,13 @@ from setuptools.command.develop import develop
import setup_ts import setup_ts
from nni.common import get_dcu_version
release = os.environ.get('NNI_RELEASE') release = os.environ.get('NNI_RELEASE')
if (release):
release_nni = release + get_dcu_version.nni_whl_name()
else:
release_nni = release
def _get_jupyter_lab_version(): def _get_jupyter_lab_version():
try: try:
...@@ -92,7 +98,7 @@ def check_jupyter_lab_version(): ...@@ -92,7 +98,7 @@ def check_jupyter_lab_version():
def _setup(): def _setup():
setuptools.setup( setuptools.setup(
name = 'nni', name = 'nni',
version = release or '999.dev0', version = release_nni or '999.dev0',
description = 'Neural Network Intelligence project', description = 'Neural Network Intelligence project',
long_description = open('README.md', encoding='utf-8').read(), long_description = open('README.md', encoding='utf-8').read(),
long_description_content_type = 'text/markdown', long_description_content_type = 'text/markdown',
...@@ -232,7 +238,11 @@ class Build(build): ...@@ -232,7 +238,11 @@ class Build(build):
if os.path.islink('nni_node/main.js'): if os.path.islink('nni_node/main.js'):
sys.exit('A development build already exists. Please uninstall NNI and run "python3 setup.py clean".') sys.exit('A development build already exists. Please uninstall NNI and run "python3 setup.py clean".')
open('nni/version.py', 'w').write(f"__version__ = '{release}'") dcu_version = get_dcu_version.dcu_version()
version_path = "nni/version.py"
with open(version_path, "w") as f:
f.write(f"__version__ = '{release}'\n")
f.write(f"__dcu_version__ = '{dcu_version}'")
super().run() super().run()
class Develop(develop): class Develop(develop):
......
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