TVM 安装教程(踩坑大指南)

1.系统环境安装Ubuntu20.04

安装参考链接:这是一个安装链接
在这里插入图片描述

2.配置git、vim、gcc、g++、cmake、python等环境

1)安装git

sudo apt-get install git

2)安装vim

sudo apt-get install vim

3)安装gcc 11、g++11
①下面三行代码就可以在一个啥都没有的ubuntu上安装g++11的环境

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt install gcc-11 g++-11

②如何对运行环境默认使用的gcc、g++的版本进行更换?
可以参考这篇博客(这是一个链接)
4)安装cmake 3.12.4
可以参考这篇博客(这是一个链接)
①cmake下载网站:这是一个链接
②解压下载的文件:

tar -zxvf cmake-3.12.4.tar.gz

③进入cmake的源码目录:

cd cmake-3.12.4

④运行当前目录下的一个文件

./bootstrap

⑤运行命令(链接写的是gmake,应该是cmake,不用管它)

cmake

⑥进行安装

sudo cmake install

5)安装python 3.9
unbutu20.04如何安装20.9(这是一个链接,如果我没记错的话,我用的第二种方法)
②也可以试试这个方法,这是我写文章刚刚搜到的(未验证):

apt-get update && apt-get upgrage -y && apt-get dist-upgrade -y
apt-get install python3.9 -y
ls -s /usr/bin/python3.9 /usr/bin/python
python -V // 当前 python 版本

6)检查安装的版本
①gcc、g++检查:

gcc -v
g++ -v

②cmake检查:

cmake --version

③python3.9检查:

python3

3.LLVM安装

①下载
官方链接:https://releases.llvm.org/
选择自己需要的版本,点击后方download链接下载对应压缩包

②解压
注意刚下载下来的压缩包后缀是.tar.xz,比如我下载的是clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz。此处是二重压缩,将压缩包移动到自己指定的目录下后,单击右键–>在终端打开,键入以下代码解压:

#先解压第一层压缩,执行命令后生成.tar文件
xz -d clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz
 
#解压tar文件
tar -xvf clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04.tar

③配置llvm的全局环境,配置方法如下
vim的操作链接:这是一个链接
终端输入:

sudo vim ~/.bashrc

在打开文件的最后一行添加(具体咋操作看上面链接哈):

export LLVM_HOME=/home/xxx/llvm13.0.0/bin
#这是你的llvm的路径,每个人的不一样哈,自己看一下哈
export PATH=$LLVM_HOME:$PATH

关闭文档(看链接操作),输入命令让更改生效:

source ~/.bashrc

4.TVM安装

可以参考的链接:
链接①
链接②
链接③
1)下载源代码
①首先从TVM的Github仓库下载源码,注意添加–recursive选项,使得子模块代码可以一同下载。

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

②初始化子模块

$ git submodule init

③更新子模块源码

git submodule update

2)编译
TVM的核心代码都是C++编写,所以编译的目的是生成libtvm.so和libtvm_runtime.so等动态链接库,当使用python脚本进行模型编译优化时,实际上调用的libtvm.so,运行模型时调用libtvm_runtime.so。因此安装TVM的目的变成了正确生成对应平台的动态库并让python脚本找到它。
①依赖工具安装:

$ 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

②创建一个编译的文件目录:

$ mkdir build

③复制配置文件

$ cp cmake/config.cmake build

④修改配置文件

set(USE_CUDA OFF)              --->set(USE_CUDA ON)  
#如果你有GPU的话
set(USE_LLVM OFF)              --->set(USE_LLVM ON)
#这个是必须选的,切记
set(USE_GRAPH_EXECUTOR OFF)    --->set(USE_GRAPH_EXECUTOR ON)
set(USE_PROFILER OFF)          --->set(USE_PROFILER ON)

⑤编译

cd build
cmake ..
make -j4(线程数,自己根据电脑配置设置吧)

5.python包安装

①通过setup.py的形式(我自己用的这个)

#进入TVM的python文件目录下
cd python;
#运行一下代码
python setup.py install --user; 

②设置环境变量(相信你已经熟悉了吧)

#这是你的tvm的安装目录
export TVM_HOME=/path/to/tvm
export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH}

6.安装python依赖

pip3 install --user numpy decorator attrs
pip3 install --user tornado
pip3 install --user tornado psutil 'xgboost<1.6.0' cloudpickle

7.测试

终端输入:

python3
import tvm

如果没有报错,那么恭喜你就成功了。

备注:这是一篇关于TVM安装的回忆录,整理了一下资料,因为我自己安装了两次,趁现在还有点记忆就写了这篇博客,一个月之内欢迎问我问题,超过一个月就别问我了,因为可能我也忘记了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐