diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d615eb9231e4..d1934eade49a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,11 +44,20 @@ jobs: submodules: 'recursive' - name: Set up environment uses: ./.github/actions/setup - - name: Conda Build + - name: Install LLVM dependencies shell: bash -l {0} - run: >- - conda build --output-folder=conda/pkg conda/recipe && - conda install tvm -c ./conda/pkg + run: | + conda install -c conda-forge llvmdev cmake ninja zlib + - name: Build TVM wheel + shell: bash -l {0} + run: | + pip install scikit-build-core + export CMAKE_ARGS="-DUSE_LLVM=ON -DBUILD_TESTING=OFF" + pip wheel --no-deps -w dist . -v + - name: Install TVM from wheel + shell: bash -l {0} + run: | + pip install dist/*.whl # - name: Build iOS RPC # run: | # IOS_VERSION="14.0" @@ -98,11 +107,20 @@ jobs: submodules: 'recursive' - name: Set up environment uses: ./.github/actions/setup - - name: Conda Build + - name: Install LLVM dependencies shell: cmd /C call {0} - run: >- - conda build --output-folder=conda/pkg conda/recipe && - conda install tvm -c ./conda/pkg + run: | + conda install -c conda-forge llvmdev cmake ninja zlib + - name: Install TVM + shell: cmd /C call {0} + run: | + pip install scikit-build-core + set CMAKE_ARGS=-DUSE_LLVM=ON -DBUILD_TESTING=OFF + pip install --no-deps . -v + - name: Install test dependencies + shell: cmd /C call {0} + run: | + pip install psutil cloudpickle ml_dtypes numpy packaging scipy tornado typing_extensions - name: Test shell: cmd /C call {0} run: >- diff --git a/conda/build-environment.yaml b/conda/build-environment.yaml index 5b38599c5614..f421404b347b 100644 --- a/conda/build-environment.yaml +++ b/conda/build-environment.yaml @@ -11,12 +11,12 @@ # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. +# KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. -# Build environment that can be used to build tvm. -name: tvm-build +# Build environment for TVM wheel building. +# This environment provides the necessary dependencies for building TVM wheels. +name: tvm-wheel-build # The conda channels to lookup the dependencies channels: @@ -24,16 +24,16 @@ channels: # The packages to install to the environment dependencies: - - conda < 24.9.0 - - conda-build < 24.9.0 - - git + # Core build tools + - cmake >=3.24 + - ninja + - make - llvmdev >=11 - - numpy - - pytest - - cython - - cmake + - python >=3.9 + - pip + - git - bzip2 - - make + - pytest + - numpy - scipy - - pillow - - pip + - cython diff --git a/conda/recipe/install_tvm_python.bat b/conda/recipe/install_tvm_python.bat index 07c0465b8443..635897266cf6 100644 --- a/conda/recipe/install_tvm_python.bat +++ b/conda/recipe/install_tvm_python.bat @@ -16,5 +16,5 @@ :: under the License. echo on -cd %SRC_DIR%\python || exit /b -%PYTHON% setup.py install --single-version-externally-managed --record=%SRC_DIR%\record.txt || exit /b +cd %SRC_DIR% || exit /b +%PYTHON% -m pip install . --no-deps --no-build-isolation --record=%SRC_DIR%\record.txt || exit /b diff --git a/conda/recipe/install_tvm_python.sh b/conda/recipe/install_tvm_python.sh index 2c721c64a156..ca9f7767173f 100755 --- a/conda/recipe/install_tvm_python.sh +++ b/conda/recipe/install_tvm_python.sh @@ -19,5 +19,5 @@ set -e set -u -cd ${SRC_DIR}/python -${PYTHON} setup.py install --single-version-externally-managed --record=/tmp/record.txt +cd ${SRC_DIR} +${PYTHON} -m pip install . --no-deps --no-build-isolation --record=/tmp/record.txt diff --git a/docker/Dockerfile.demo_android b/docker/Dockerfile.demo_android deleted file mode 100644 index bbe8f7d82b01..000000000000 --- a/docker/Dockerfile.demo_android +++ /dev/null @@ -1,82 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Minimum docker image for demo purposes -FROM ubuntu:22.04 - -COPY utils/apt-install-and-clear.sh /usr/local/bin/apt-install-and-clear - -RUN apt-get update --fix-missing - -COPY install/ubuntu_setup_tz.sh /install/ubuntu_setup_tz.sh -RUN bash /install/ubuntu_setup_tz.sh - -COPY install/ubuntu_install_core.sh /install/ubuntu_install_core.sh -RUN bash /install/ubuntu_install_core.sh - -ENV TVM_VENV /venv/apache-tvm-py3.9 -COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh 3.9 -ENV PATH ${TVM_VENV}/bin:$PATH -ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI. - -COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh -RUN bash /install/ubuntu_install_python_package.sh - -COPY install/ubuntu_install_tensorflow.sh /install/ubuntu_install_tensorflow.sh -RUN bash /install/ubuntu_install_tensorflow.sh - -COPY install/ubuntu_install_java.sh /install/ubuntu_install_java.sh -RUN bash /install/ubuntu_install_java.sh - -COPY install/ubuntu2204_install_llvm.sh /install/ubuntu2204_install_llvm.sh -RUN bash /install/ubuntu2204_install_llvm.sh - -COPY install/ubuntu_install_gradle.sh /install/ubuntu_install_gradle.sh -RUN bash /install/ubuntu_install_gradle.sh - -COPY install/ubuntu_install_androidsdk.sh /install/ubuntu_install_androidsdk.sh -RUN bash /install/ubuntu_install_androidsdk.sh - -COPY install/ubuntu_install_vulkan.sh /install/ubuntu_install_vulkan.sh -RUN bash /install/ubuntu_install_vulkan.sh - -ENV VULKAN_SDK=/usr - -COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh -RUN bash /install/ubuntu_install_cmake_source.sh - -RUN git clone https://github.com/KhronosGroup/OpenCL-Headers /usr/local/OpenCL-Headers/ - -# Build TVM -RUN cd /usr && \ - git clone --depth=1 https://github.com/apache/tvm tvm --recursive && \ - cd /usr/tvm && \ - mkdir -p build && \ - cd build && \ - cmake \ - -DUSE_LLVM=llvm-config-15 \ - -DUSE_RPC=ON \ - -DUSE_SORT=ON \ - -DUSE_VULKAN=ON \ - .. && \ - make -j10 - -# Environment variables -ENV PYTHONPATH=/usr/tvm/python:/usr/tvm/vta/python:${PYTHONPATH} -ENV ANDROID_HOME=/opt/android-sdk-linux/ diff --git a/docker/Dockerfile.demo_cpu b/docker/Dockerfile.demo_cpu deleted file mode 100644 index 778d21ea781b..000000000000 --- a/docker/Dockerfile.demo_cpu +++ /dev/null @@ -1,35 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Minimum docker image for demo purposes -# prebuilt-image: tvmai/demo-cpu -FROM tlcpack/ci-cpu:v0.55 - -COPY utils/apt-install-and-clear.sh /usr/local/bin/apt-install-and-clear - -# Jupyter notebook. -RUN pip3 install matplotlib Image Pillow jupyter[notebook] - -# Deep learning frameworks -RUN pip3 install tensorflow keras gluoncv dgl - -# Build TVM -COPY install/install_tvm_cpu.sh /install/install_tvm_cpu.sh -RUN bash /install/install_tvm_cpu.sh - -# Environment variables -ENV PYTHONPATH=/usr/tvm/python:/usr/tvm/vta/python:${PYTHONPATH} diff --git a/docker/Dockerfile.demo_gpu b/docker/Dockerfile.demo_gpu deleted file mode 100644 index 4ef6b0c29cbc..000000000000 --- a/docker/Dockerfile.demo_gpu +++ /dev/null @@ -1,36 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Minimum docker image for demo purposes -# CI docker GPU env -# tag: v0.54 -FROM tlcpack/ci-gpu:v0.55 - -COPY utils/apt-install-and-clear.sh /usr/local/bin/apt-install-and-clear - -# Jupyter notebook. -RUN pip3 install matplotlib Image "Pillow<7" jupyter[notebook] - -# Build TVM -COPY install/install_tvm_gpu.sh /install/install_tvm_gpu.sh -RUN bash /install/install_tvm_gpu.sh - -# Environment variables -ENV PYTHONPATH=/usr/tvm/python:/usr/tvm/vta/python:${PYTHONPATH} -ENV PATH=/usr/local/nvidia/bin:${PATH} -ENV PATH=/usr/local/cuda/bin:${PATH} -ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH} diff --git a/docker/Dockerfile.demo_mrvl b/docker/Dockerfile.demo_mrvl deleted file mode 100644 index b50944d2c20e..000000000000 --- a/docker/Dockerfile.demo_mrvl +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# prebuild ci-cpu image -FROM tlcpack/ci-cpu:20230604-060130-0af9ff90e - -# Cloning TVM's main repo -RUN echo "Cloning TVM source & submodules" -ENV TVM_PAR_DIR="/usr" -RUN mkdir -p TVM_PAR_DIR && \ - cd ${TVM_PAR_DIR} && \ - git clone --depth=1 https://github.com/apache/tvm tvm --recursive - -# Building TVM -RUN echo "Building TVM" -ENV TVM_HOME="/usr/tvm" -ENV TVM_BUILD_DIR="${TVM_HOME}/build" -RUN mkdir -p ${TVM_BUILD_DIR} && \ - cd ${TVM_HOME} && \ - ./tests/scripts/task_config_build_mrvl.sh build && \ - cd ${TVM_BUILD_DIR} && \ - cmake .. && \ - make -j$(nproc) - -RUN echo "Building Python package" -ENV PYTHONPATH=${TVM_HOME}/python:${PYTHONPATH} -RUN cd ${TVM_HOME}/python && python3 setup.py install --user - -# Fetching Marvell binaries -RUN cd /opt && \ - git clone https://github.com/MarvellEmbeddedProcessors/MarvellMLTools.git - -ENV PATH="/opt/MarvellMLTools/bin:$PATH" diff --git a/docker/Dockerfile.demo_opencl b/docker/Dockerfile.demo_opencl deleted file mode 100644 index 9112ccc0d8ea..000000000000 --- a/docker/Dockerfile.demo_opencl +++ /dev/null @@ -1,74 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# USAGE: sudo docker build libs/tvm -f libs/tvm/docker/Dockerfile.ocl -t l4b/tvm:ocl - -# REFERENCE: https://docs.docker.com/engine/reference/builder - -FROM ubuntu:22.04 - -COPY utils/apt-install-and-clear.sh /usr/local/bin/apt-install-and-clear - -RUN echo "Labelling this image" -LABEL Description="Docker image for TVM built with OpenCL support" - -RUN echo "Preparing to install dependencies" -RUN apt-get update -# ENV DEBIAN_FRONTEND noninteractive -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections - -RUN echo "Installing utility libraries" -RUN apt-install-and-clear -y apt-utils sudo cmake g++ llvm git libopenblas-dev - -# RUN echo "Installing gtest" -# RUN apt-install-and-clear -y libgtest-dev -# RUN cd /usr/src/gtest && cmake CMakeLists.txt && make && cp *.a /usr/lib - -RUN echo "Installing Python" -RUN apt-install-and-clear -y python3-dev python3-pip -RUN pip3 install setuptools numpy pytest cython scipy tornado psutil xgboost - -RUN echo "Installing Jupyter notebook" -RUN pip3 install matplotlib Image "Pillow<7" jupyter[notebook] - -RUN echo "Installing OpenCL libraries" -RUN apt-install-and-clear -y libviennacl-dev mesa-opencl-icd ocl-icd-opencl-dev clinfo -RUN apt-install-and-clear -y libclblas-dev libclfft-dev libclsparse-dev - -RUN echo "Upgrading dependencies" -RUN apt-get upgrade -y - -RUN echo "Cloning TVM source & submodules" -ENV TVM_PAR_DIR="/usr" -RUN mkdir -p TVM_PAR_DIR && \ - cd ${TVM_PAR_DIR} && \ - git clone --depth=1 https://github.com/apache/tvm tvm --recursive -#RUN git submodule update --init --recursive - - -RUN echo "Building TVM" -#USE_BLAS: "openblas" | "mkl" | "atlas" | "apple" | "none" -ENV TVM_HOME="/usr/tvm" -ENV TVM_BUILD_DIR="${TVM_HOME}/build" -RUN mkdir -p ${TVM_BUILD_DIR} && \ - cd ${TVM_BUILD_DIR} && \ - cmake .. -DUSE_BLAS=openblas -DUSE_LLVM=ON -DUSE_OPENCL=ON && \ - make -j6 - -RUN echo "Building Python package" -ENV PYTHONPATH=${TVM_HOME}/python:${PYTHONPATH} -RUN cd ${TVM_HOME}/python && python3 setup.py install --user diff --git a/docker/Dockerfile.demo_rocm b/docker/Dockerfile.demo_rocm deleted file mode 100644 index 4c6095ec4802..000000000000 --- a/docker/Dockerfile.demo_rocm +++ /dev/null @@ -1,45 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Demo docker for ROCm -FROM ubuntu:22.04 - -COPY utils/apt-install-and-clear.sh /usr/local/bin/apt-install-and-clear - -COPY install/ubuntu_setup_tz.sh /install/ubuntu_setup_tz.sh -RUN bash /install/ubuntu_setup_tz.sh - -COPY install/ubuntu_install_core.sh /install/ubuntu_install_core.sh -RUN bash /install/ubuntu_install_core.sh - -ENV TVM_VENV /venv/apache-tvm-py3.9 -COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh -RUN bash /install/ubuntu_install_python.sh 3.9 -ENV PATH ${TVM_VENV}/bin:$PATH -ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI. - -COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh -RUN bash /install/ubuntu_install_python_package.sh - -COPY install/ubuntu2204_install_llvm.sh /install/ubuntu2204_install_llvm.sh -RUN bash /install/ubuntu2204_install_llvm.sh - -COPY install/ubuntu_install_rocm.sh /install/ubuntu_install_rocm.sh -RUN bash /install/ubuntu_install_rocm.sh - -ENV PATH "${PATH}:/opt/rocm/bin" diff --git a/python/setup.py b/python/setup.py deleted file mode 100644 index a83ad8185676..000000000000 --- a/python/setup.py +++ /dev/null @@ -1,210 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# pylint: disable=invalid-name, exec-used -"""Setup TVM package.""" -import os -import pathlib -import shutil -import sys - -from setuptools import find_packages -from setuptools.dist import Distribution -from setuptools import setup -from setuptools.extension import Extension - -CURRENT_DIR = os.path.dirname(__file__) -FFI_MODE = os.environ.get("TVM_FFI", "auto") -CONDA_BUILD = os.getenv("CONDA_BUILD") is not None -INPLACE_BUILD = "--inplace" in sys.argv - - -def get_lib_path(): - """Get library path, name and version""" - # We can not import `libinfo.py` in setup.py directly since __init__.py - # Will be invoked which introduces dependencies - libinfo_py = os.path.join(CURRENT_DIR, "./tvm/libinfo.py") - libinfo = {"__file__": libinfo_py} - exec(compile(open(libinfo_py, "rb").read(), libinfo_py, "exec"), libinfo, libinfo) - version = libinfo["__version__"] - if not CONDA_BUILD and not INPLACE_BUILD: - lib_path = libinfo["find_lib_path"]() - libs = [lib_path[0]] - if "runtime" not in libs[0]: - for name in lib_path[1:]: - if "runtime" in name: - libs.append(name) - break - - # Add byoc shared libraries, if present - for name in lib_path: - if "3rdparty" in name: - libs.append(name) - - # Add tvmc configuration json files - for name in lib_path: - candidate_path = os.path.abspath(os.path.join(os.path.dirname(name), "..", "configs")) - if os.path.isdir(candidate_path): - libs.append(candidate_path) - break - - for dir in [ - "3rdparty", - "jvm", - "web", - "rust", - "golang", - "include", - "src", - "cmake", - "CMakeLists.txt", - ]: - for name in lib_path: - candidate_path = os.path.abspath(os.path.join(os.path.dirname(name), "..", dir)) - if os.path.exists(candidate_path): - libs.append(candidate_path) - if dir == "3rdparty": - # remove large files - _remove_path(os.path.join(candidate_path, "cutlass", "docs")) - _remove_path(os.path.join(candidate_path, "cutlass", "media")) - _remove_path( - os.path.join(candidate_path, "cutlass_fpA_intB_gemm", "cutlass", "docs") - ) - _remove_path( - os.path.join( - candidate_path, "cutlass_fpA_intB_gemm", "cutlass", "media" - ) - ) - _remove_path( - os.path.join(candidate_path, "libflash_attn", "cutlass", "docs") - ) - _remove_path( - os.path.join(candidate_path, "libflash_attn", "cutlass", "media") - ) - break - else: - libs = None - - return libs, version - - -def git_describe_version(original_version): - """Get git describe version.""" - ver_py = os.path.join(CURRENT_DIR, "..", "version.py") - libver = {"__file__": ver_py} - exec(compile(open(ver_py, "rb").read(), ver_py, "exec"), libver, libver) - _, gd_version = libver["git_describe_version"]() - if gd_version != original_version and "--inplace" not in sys.argv: - print("Use git describe based version %s" % gd_version) - return gd_version - - -def _remove_path(path): - if os.path.exists(path): - if os.path.isfile(path): - os.remove(path) - elif os.path.isdir(path): - shutil.rmtree(path) - - -LIB_LIST, __version__ = get_lib_path() -__version__ = git_describe_version(__version__) - -if not CONDA_BUILD and not INPLACE_BUILD: - # Wheel cleanup - for path in LIB_LIST: - libname = os.path.basename(path) - _remove_path(f"tvm/{libname}") - - -class BinaryDistribution(Distribution): - def has_ext_modules(self): - return True - - def is_pure(self): - return False - - -setup_kwargs = {} -if not CONDA_BUILD and not INPLACE_BUILD: - with open("MANIFEST.in", "w") as fo: - for path in LIB_LIST: - if os.path.isfile(path): - shutil.copy(path, os.path.join(CURRENT_DIR, "tvm")) - _, libname = os.path.split(path) - fo.write(f"include tvm/{libname}\n") - - if os.path.isdir(path): - _, libname = os.path.split(path) - shutil.copytree(path, os.path.join(CURRENT_DIR, "tvm", libname)) - fo.write(f"recursive-include tvm/{libname} *\n") - - setup_kwargs = {"include_package_data": True} - - -def long_description_contents(): - with open(pathlib.Path(CURRENT_DIR).resolve().parent / "README.md", encoding="utf-8") as readme: - description = readme.read() - - return description - - -# Temporarily add this directory to the path so we can import the requirements generator -# tool. -sys.path.insert(0, os.path.dirname(__file__)) -import gen_requirements - -sys.path.pop(0) - -requirements = gen_requirements.join_requirements() -extras_require = { - piece: deps for piece, (_, deps) in requirements.items() if piece not in ("all", "core") -} - -setup( - name="tvm", - version=__version__, - description="TVM: An End to End Tensor IR/DSL Stack for Deep Learning Systems", - long_description=long_description_contents(), - long_description_content_type="text/markdown", - url="https://tvm.apache.org/", - download_url="https://github.com/apache/tvm/tags", - author="Apache TVM", - license="Apache", - # See https://pypi.org/classifiers/ - classifiers=[ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: Education", - "Intended Audience :: Science/Research", - ], - keywords="machine learning", - zip_safe=False, - install_requires=requirements["core"][1], - extras_require=extras_require, - packages=find_packages(), - package_dir={"tvm": "tvm"}, - distclass=BinaryDistribution, - **setup_kwargs, -) - - -if not CONDA_BUILD and not INPLACE_BUILD: - # Wheel cleanup - os.remove("MANIFEST.in") - for path in LIB_LIST: - libname = os.path.basename(path) - _remove_path(f"tvm/{libname}")