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 构建共享库

  1. 更新源
sudo apt-get update
  1. 安装必要的依赖,这一步已经安装了cmake
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev
  1. 建立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

安装结果:

android TV多语言源码_LLVM

1.4 自定义编译选项

编辑 build/config.cmake自定义编译选项 ,打开config.cmake文件

  1. (GPU配置,可选)如果,您想使用(OpenCL、RCOM、METAL、VULKAN 等)构建。找到 set(USE_CUDA OFF)改为set(USE_CUDA ON),即为启用 CUDA 后端。 对其他后端和库执行相同操作。
  2. (方便debug)为了帮助调试,请确保已启用嵌入式图形执行器和调试功能 set(USE_GRAPH_EXECUTOR ON)set(USE_PROFILER ON)
  3. (配置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)测试

android TV多语言源码_linux_02


至此,成功在Ubuntu上安装TVM。

参考文档:
【1】 学习 Ubuntu 18.04 TVM安装教程 【2】 cmake升级、更新(ubuntu18.04)