官方安装文档地址:https://docs.tvm.ai/install/index.html
系统环境:Ubuntu 18.04 LTS 64-bit,其他环境或需求可参考官方文档。
TVM编译安装
LLVM部分
虽然LLVM对于TVM是可选项,但是如果要部署到CPU端,那么LLVM几乎是必须的,所以建议安装LLVM。本次安装LLVM6.0。
第一步,添加相关源
编辑/etc/apt/sources.list
,将以下源加入:
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main
加入完成后需取得数字证书
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
然后务必进行apt-get update
第二步,安装LLVM
apt-get install clang-6.0 lldb-6.0
其他操作系统和LLVM版本参考:https://apt.llvm.org/
TVM部分
第一步,从GitHub克隆TVM的repo
git clone --recursive https://github.com/dmlc/tvm
注意此处的--recursive
是必须的,否则在编译时会出错。
第二步,安装前准备
sudo apt-get update
sudo apt-get install -y python python-dev python-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake
第三步,修改config.cmake配置
建立build文件夹,复制config.cmake
。
mkdir build
cp cmake/config.cmake build
然后修改LLVM配置,将set(USE_LLVM OFF)
改为set(USE_LLVM ON)
第四步,启动编译
cd build
cmake ..
make -j4
如果顺利完成,即可进入Python包安装
Python包安装
此处使用官方文档推荐的第一种方法进行Python包安装。这种方法可以使我们更改源代码并重新编译后,无需对Python端进行任何更改。
第一步,编辑~/.bashrc
,在文件末尾添加:
export TVM_HOME=/path/to/tvm
export PYTHONPATH=$TVM_HOME/python:$TVM_HOME/topi/python:$TVM_HOME/nnvm/python:${PYTHONPATH}
其中/path/to/tvm
为tvm目录。
第二步,使修改立即生效
source ~/.bashrc
最后安装其他Python依赖
必须的依赖:
pip install --user numpy decorator attrs
如果需要RPC Tracker:
pip install --user tornado
如果需要auto-tuning模块:
pip install --user tornado psutil xgboost
解析Relay text format程序必须使用Python 3并安装:
pip install --user mypy orderedset antlr4-python3-runtime