Ubuntu 20.04.5 源码安装TVM
首先在VMWare上安装Ubuntu系统,然后进行TVM源码安装。全文干货,记得点赞收藏,谢谢支持~
(1)TVM源码安装
1.1 github获取TVM源码
git clone --recursive https://github.com/apache/tvm tvm
有些会出现TVM中文件夹缺失的情况,可以直接进入github找到缺失文件的目录,转到该github网址下载缺失的文件夹。一般情况下,添加--recursive
会将所有TVM源码下载下来。
1.2 构建共享库
- 更新源
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
- 建立build选项:进行tvm目录文件夹,首先创建一个build目录,复制 cmake/config.cmake到build目录
cd tvm
mkdir build
cp cmake/config.cmake build
1.3 LLVM下载
网上有其他各种安装配置LLVM的方法,我直接使用apt安装:
sudo apt-get install llvm
安装结果:
1.4 自定义编译选项
编辑 build/config.cmake自定义编译选项 ,打开config.cmake文件
-
(GPU配置,可选)如果,您想使用(OpenCL、RCOM、METAL、VULKAN 等)构建。找到
set(USE_CUDA OFF)
改为set(USE_CUDA ON)
,即为启用 CUDA 后端。 对其他后端和库执行相同操作。 -
(方便debug)为了帮助调试,请确保已启用嵌入式图形执行器和调试功能
set(USE_GRAPH_EXECUTOR ON)
和set(USE_PROFILER ON)
-
(配置LLVM,必选)TVM 需要 LLVM 用于 CPU 代码生成。 强烈建议您使用 LLVM 支持进行构建。
- 解压到某个位置,修改
build/config.cmake
添加set(USE_LLVM /path/to/your/llvm/bin/llvm-config)
(自己llvm的存放绝对路径,也是LLVM编译通不过,路径查找不到问题解决方法) - 也可以直接设置
set(USE_LLVM ON)
并让 cmake 搜索可用版本的 LLVM
- 解压到某个位置,修改
1.5 编译
cd build
cmake ..
make -j4(线程数,也可以设置8)
这里编译可能会报cmake版本不够的错误,由于我们用apt-get获得的cmake版本过低,需要进行cmake版本升级。参考博文:cmake版本升级
1、首先下载cmake压缩包,然后再建立软链接覆盖系统原来的cmake即可。
# 下载cmake源码包
wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.tar.gz
tar -xzvf cmake-3.21.4-linux-x86_64.tar.gz
# 将解压出来的包移到 /opt 目录下
sudo mv cmake-3.21.4-linux-x86_64 /opt/cmake-3.21.4
# 建立软链接
sudo ln -sf /opt/cmake-3.21.4/bin/* /usr/bin/
cmake --version
2、cmake安装成功之后,不要忘记将cmake的文件路径添加至 .bashrc
里面:
# 进入~/.bashrc
sudo gedit ~/.bashrc
# 输入以下内容
export PATH=$PATH:/opt/cmake-3.21.4/bin
保存.bashrc
的更改并更新source
一下
source ~/.bashrc
1.6 Python包安装
# 进入~/.bashrc
sudo gedit ~/.bashrc
# 输入以下内容
export TVM_HOME=/path/to/tvm(自己tvm的路径)
export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH}
记得保存.bashrc
的更改并更新source
一下
source ~/.bashrc
1.7 安装Python依赖
必要的依赖(必选):
pip3 install --user numpy decorator attrs
如果你想使用 RPC Tracker(可选)
pip3 install --user tornado
如果要使用自动调整模块(可选,建议选择)
pip3 install --user tornado psutil xgboost cloudpickle
(2)测试
至此,成功在Ubuntu上安装TVM。
参考文档:
【1】 学习 Ubuntu 18.04 TVM安装教程
【2】 cmake升级、更新(ubuntu18.04)