TVM学习Ubuntu18.04TVM安装教程
ubuntu安装教程
1.安装组件说明 (以本⼈安装为例,适配版本)
ubuntu 18.04
LLVM version 10.0.0
TVM 0.7dev (最新0.8版本会在cmake ..步骤有错误,0.7版本⽐较成熟,建议安装0.7dev)
cmake version 3.10.2
python 3.8
conda 4.10.3
以及pycharm安装包,LLVM安装包,本⼈会附在⽂后
2.TVM源码
因为tvm版本变化较⼤,v5.0-v6.0⽬录结构都不⼀样,所以安装要参照官⽅⽂档
TVM官⽅⽂档
2.1 从GitHub获取tvm源码下载
注意加上recursive
因为⽹络关系,我⼀直下不到tvm官⽹的安装包,所以我采⽤了⼿动下载的⽅式,具体来说,就是进⼊到github(www.github),然后搜索TVM的开源项⽬,到第⼀个就是啦。因为我们要下载0.7dev,所以在tags到0.7的版本进⾏下载.zip格式的⽂件。如图1:
图1 0.7 版本tvm图⽰下载
2.构建共享库
2.1 更新⼀下源,必须更新,不然安装依赖时会出错,打开终端,输⼊
sudo apt-get update
安装必要的依赖,这⼀步已经对cmake进⾏了安装。
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev
2.2 建⽴build选项
进⾏tvm⽬录⽂件夹,⾸先创建⼀个build⽬录,复制 ake到⽬录 **
cd tvm
mkdir build
cp ake build
此时,我们可以看到,在tvm⽂件夹下⾯出现了build的⽂件夹,中存在ake的⽂件。
3. LLVM下载
由于 LLVM 从源代码构建需要很长时间,您可以从以下位置下载 LLVM 的预构建版本 LLVM 下载页⾯ 。
图2 llvm下载⽰意图
注解:因为L L VM下载也是⽐较费事的,所以我直接把下载好的L L VM解压后的⽂件夹和T VM0.7的源⽂件放在阿⾥云盘中,只需要下载到本地,放到需要安装的⽬录,需要的⾃取。有兴趣⾃⼰⼀步⼀步安装的,参考下⾯安装⽅法ub untu 安装L L VM
注意配置llvm的全局环境,配置⽅法如下,终端输⼊:
sudo vim ~/.bashrc
export PATH=$PATH:/home/xu/llvm/bin(输⼊⾃⼰llvm的bin路径)
source ~/.bashrc (让环境⽣效)
llvm-config --version
xu@xu:~$ llvm-config --version
10.0.0
这样说明LLVM配置好了。
4. ⾃定义编译选项
编辑 ake⾃定义编译选项 ,打开ake⽂件
1. (GPU配置,可选)如果,您想使⽤(OpenCL、RCOM、METAL、VULKAN 等)构建。到 set(USE_CUDA OFF)改为(USE_CUDA ON),
即为启⽤ CUDA 后端。 对其他后端和库执⾏相同操作。
2. (⽅便debug)为了帮助调试,请确保已启⽤嵌⼊式图形执⾏器和调试功能 set(USE_GRAPH_EXECUTOR ON)和 set(USE_PROFILER ON)
3. (配置LLVM,必选)TVM 需要 LLVM ⽤于 CPU 代码⽣成。 强烈建议您使⽤ LLVM ⽀持进⾏构建。
解压到某个位置,修改 ake添加 set(USE_LLVM /path/to/your/llvm/bin/llvm-config)(⾃⼰llvm的存放绝对路径,也是LLVM编译通不过,路径查不到问题解决⽅法)
也可以直接设置 set(USE_LLVM ON)并让 cmake 搜索可⽤版本的 LLVM
5.编译
我们进⼊到tvm⽂件夹下
cd build
cmake ..
make -j4(线程数,也可以设置8)
**注释:这⼀步会是⼤多数⼈出问题的地⽅,我当时困了好久在这,百度好多教程也不到原因,最后在对编译问题log检查时,发现TVM本⾝下载的⽂件,会出现⽂件夹缺失的情况,我进⼊github到缺失⽂件的⽬录,下载了缺失的⽂件夹,再次重新编译,完美通过!!!
缺失⽂件及LLVM安装包等
⽂件⽬录 TVM0.7dev tvm/3rdparty 缺少4个⽂件夹