How to install tvm

替换 apt 源

sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list; sed -i 's@//.*security.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list

安装依赖

apt update  ;
apt install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential

安装 cmake(apt 安装的版本太低)

wget https://github.com/Kitware/CMake/releases/download/v3.25.0-rc3/cmake-3.25.0-rc3-linux-x86_64.sh
cp cmake-3.25.0-rc3-linux-x86_64.sh /opt/
chmod +x /opt/cmake-3.25.0-rc3-linux-x86_64.sh
mkdir /opt/cmake-3.25.0-rc3-linux-x86_64
cd /opt/cmake-3.25.0-rc3-linux-x86_64
sudo bash /opt/cmake-3.25.0-rc3-linux-x86_64.sh --skip-license
sudo ln -s /opt/cmake-3.25.0-rc3-linux-x86_64/bin/* /usr/local/bin
cp cmake-3.25.0-rc3-linux-x86_64.sh /opt/; chmod +x /opt/cmake-3.25.0-rc3-linux-x86_64.sh; cd /opt; bash /opt/cmake-3.25.0-rc3-linux-x86_64.sh -y;  ln -s /opt/cmake-3.25.0-rc3-linux-x86_64/bin/* /usr/local/bin; cd ~

安装 LLVM

wget https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
tar -xf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz 
mv clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04 ~/clang-llvm

获取 tvm 源码

git clone --recursive https://github.com/apache/tvm tvm

配置 CMake

# 进入下载好的tvm目录中
cd tvm

# 在tvm下新建build文件夹,并将 cmake/config.cmake 文件复制进来
mkdir build
cp cmake/config.cmake build

# 根据需要修改build/config.cmake文件中的一些属性
cd build
apt install vim
vim config.cmake

修改

set(USE_LLVM $HOME/clang-llvm/bin/llvm-config)

编译tvm

cmake ..
make -j4

修改 .bashrc,指定 tvm 包位置

export TVM_HOME=<tvm path>
export PYTHONPATH=$TVM_HOME/python:$TVM_HOME/topi/python:$TVM_HOME/nnvm/python:${PYTHONPATH}

安装 python 依赖

apt install python3-pip
pip3 config set global.index-url  https://pypi.mirrors.ustc.edu.cn/simple/ 
pip3 install numpy decorator attrs
# 若要使用 rpc
pip3 install tornado
# 若要使用 auto-tuning
pip3 install tornado psutil 'xgboost<1.6.0' cloudpickle

other pagage

pip3 install pytest typing_extensions

汇总:

pip3 install numpy decorator attrs pytest typing_extensions tornado psutil 'xgboost<1.6.0' cloudpickle
transformers==4.18.0
torch==1.10.2+cu102
decorator==5.1.1
scipy==1.5.4
psutil==5.9.7
attr==22.2.0
import transformers
transformers.__version__
import torch
torch.__version__
import decorator
decorator.__version__
import scipy
scipy.__version__
import psutil
psutil.__version__
import attr
attr.__version__
transformers==4.18.0
torch==1.13.1+cu116
decorator==5.1.1
scipy==1.10.1 x
psutil==5.9.5 x
attr==23.1.0
pip install transformers==4.18.0
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html
pip install decorator==5.1.1
pip install scipy==1.5.4
pip install psutil==5.9.7
pip install --upgrade attrs
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html && pip install transformers==4.18.0 decorator==5.1.1 scipy==1.5.4 psutil==5.9.7 && pip install --upgrade attrs
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html && pip install transformers==4.18.0 decorator==5.1.1 scipy==1.5.4 psutil==5.9.7 && pip install --upgrade attrs

``` pip install torch transformers decorator scipy psutil && pip install --upgrade attrs