在Ubuntu18.04上安装tvm

工欲善其事,必先利其器。
在开始学习和使用tvm之前,必定是要先安装一个的…
不过直至2020年8月,tvm发布的最新版本还是0.* 的,尚未发布正式版。安装上也有许多坑要填,不过按照官方文档上操作也基本是稳的。
本文接下来的内容将简要介绍一下笔者安装tvm的过程。

平台及版本

前排建议:如果不喜欢折腾,尽量别在windows上安装,会有很多莫名其妙的坑要填,而且未必有比较好的解决方案(亲测在win10上安装失败了5555)

硬件:x86服务器 + GTX1080Ti GPU
系统:Ubuntu18.04

tvm版本:0.7.dev1
llvm版本:10.0.0

安装过程

ubuntu上安装tvm只要根据官网教程说明操作就基本没啥问题了。官方提供了从源码安装和Docker镜像两种安装方法,这里介绍从源码安装的方法。

STEP1:从github上下载tvm源码

先cd到你想存放tvm的目录下

再终端执行如下指令:

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

记得需要加上–recursive

然后cd tvm进入到tvm的目录后,建议再执行一次git pull,确保下载的tvm版本是最新版的。如果不是最新版的,在看官方的文档时,可能有一些包并没有在旧版里面出现,运行例程会报错。

STEP2:安装依赖包

执行以下两条语句即可,实际上大多数包应该都已经在之前安装过了,没有啥特殊的依赖。

sudo apt-get update
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev

如果需要提供CUDA支持,还需要先安装好CUDA(最低版本需求是8.0),这个就不做具体安装方法的介绍了,网上一搜一堆,有nvidia显卡的还是尽量安一个吧。

官网还强烈推荐安装LLVM,这是一个能够优化以任何语言编写的程序的编译效率的工具,tvm本身也是一个深度学习编译器,因此需要LLVM帮助提升效率。但LLVM的编译安装也是很让人头大的事情,接下来介绍如何快速有效地安装LLVM。

STEP3:安装LLVM(和clang)

LLVM也有两种安装方式。一种是从源码编译,但会比较麻烦,耗时也长;另一种是直接下载安装在相应平台上预先编译好的包(同时包含了clang等其他依赖工具),这个会轻松很多。

首先进入LLVM的官网下载页面:https://releases.llvm.org/download.html#10.0.0
找到提供Pre-Built Binaries的最新LLVM版本,根据自己的平台点击相应的下载链接,这里我们选择Ubuntu 18.04的,直接点前面的平台名称,不用点后面(.sig)括号部分,这是两个不同的下载链接。
LLVM Pre-Built Binaries列表
这里多说一句,LLVM发布新版本时也会有接口发生变化的可能性,所以未必是越新越好,这里笔者亲测tvm0.7.dev1+LLVM10.0.0是可用的。

然后再把下载的文件解压到你的安装目录下,并记下其目录位置

接下来需要添加一些ubuntu的环境变量,在/etc/profile/文件中添加以下两行:

export LLVM_HOME=你刚解压的LLVM文件夹的绝对路径/bin
export PATH=$LLVM_HOME:$PATH
STEP4:配置并编译tvm

再回到刚刚用git clone下载下来的tvm目录,执行以下命令:

mkdir build
cp cmake/config.cmake build

然后进行编译配置,修改build/config.cmake文件内容:

  • 如果使用了CUDA的话,找到set(USE_CUDA OFF)这条,将OFF改成ON
  • 为了方便debug,找到set(USE_GRAPH_RUNTIME OFF)set(USE_GRAPH_RUNTIME_DEBUG OFF)这两条,把OFF改成ON
  • 找到set(USE_LLVM OFF)这条,将OFF改成ON(因为添加了系统环境变量了,所以改成ON,编译时候会自动找到LLVM的位置)

接下来就可以进行编译了:

cd build
cmake ..
make -j4	# 也可以设为-j8,提升编译速度

如果出现类似如下的提示,则说明编译成功了
tvm编译成功界面

安装tvm

官网提供了两种tvm的安装方法,一种是设置系统环境变量,这种适合打算修改tvm源码的开发者,另一种是用提供的python脚本安装,这里介绍使用python脚本的安装。

分别用python解释器运行tvm目录下python文件夹内的setup.py,以及topi/python目录下的setup.py,具体指令如下:

cd python	# 这里指的是git clone得到的tvm文件夹下的python文件夹
python setup.py install --user	# 如果打算用python虚拟环境,得先把虚拟环境开了再执行这条
cd ..
cd topi/python
python setup.py install --user

再用pip安装一些依赖的python包:

pip3 install --user numpy decorator attrs		# 必须安装
pip3 install --user tornado psutil xgboost	# 可选

sudo apt install antlr4									# 可选
pip3 install --user mypy orderedset antlr4-python3-runtime	# 可选

如果你的python环境是虚拟环境,则不需要加上–user

测试tvm是否安装成功

打开你的python解释器,运行如下指令:

>>> import tvm
>>> tvm.__version__

如果导入tvm时候没有报错,并且正确输出了tvm的版本,那么恭喜你,安装成功!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值