Ubuntu下TVM的编译安装

官方安装文档地址: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
上一篇:c – Clang,LLVM和g


下一篇:c – 在LLVM中直接跳转的分支指令