TVM安装
****下载TVM安装包地址(0.8版本缺少文件vta-hw)
Download
一、从github上下载TVM
git clone --recursive https://github.com/apache/tvm tvm
注:下载完tvm后最好与源码对照一下有没有下完整,我在下载时 3rdparty 目录下缺少文件,下图蓝色链接的文件都没有下载,下载后放到3rdparty对应的文件夹下即可,若文件下载不完整会导致编译报错!!!!
tvm源码压缩文件下载地址:https://download.csdn.net/download/m0_50907280/24407817(免费)
二、构建共享库
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
三、在tvm目录下创建build文件夹,并将tvm目录下的cmake中的config.cmake文件拷贝到build中 (也可以手动在tvm下创建build,然后将config.cmake粘贴复制到build中)
cd tvm
mkdir build #创建build
cp cmake/config.cmake build #复制文件
打开build下的config.cmake文件,根据需要找到下面的配置并设置ON(也可以直接找到build下的config.cmake双击打开,修改后要点击保存)
#若需要用到cuda则设置为ON
set(USE_CUDA ON)
#为了帮助调试,请确保启用嵌入式图形执行器和调试功能
set(USE_GRAPH_EXECUTOR ON)
set(USE_PROFILER ON)
#用 IR 调试
set(USE_RELAY_DEBUG ON)
四、安装llvm
安装版本 clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz
下载地址清华镜像
https://mirrors.tuna.tsinghua.edu.cn/github-release/llvm/llvm-project/LLVM%2012.0.1/
解压
tar -xvf clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz
我解压后将文件放在了tvm下(这个可以自己选择)
添加环境变量
cd tvm
cd clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-
pwd #查看当前目录,记住这个路径
#例如我的路径是 /home/xyz/tvm/clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-
vim ~/.bashrc #进入文件后拉到文件底部 按 i 出现 插入 字样
export PATH=$PATH:/home/xyz/tvm/clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-/bin
#添加环境变量后,按Esc 再按 :x
source ~/.bashrc
五、编译
进入tvm目录下的build
cd build
cmake ..
make -j4
-------------------------------------------------------------------------------------
(安装0.9版本时,报错和解决办法如下)
报错:
/bin/sh: 1: /home/xilinx/tvm-0.9/cmake/libs/../../3rdparty/libbacktrace/configure: Permission denied
解决办法:
参考cmake在非foot时安装教程及Permission denied解决方案_superdan5的博客-CSDN博客
cd /path/to/tvm/3rdparty/libbacktrace
chmod +x configure
重新编译
make clean; make -j4
-------------------------------------------------------------------------------------
添加环境变量
vim ~/.bashrc
添加:
export TVM_HOME=/path/to/tvm #添加你自己tvm所放的目录
#例如我的目录 export TVM_HOME=/home/xyz/tvm
export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH}
source ~/.bashrc
Python 依赖关系
pip3 install --user numpy decorator attrs #必须安装
pip3 install --user tornado #可选
pip3 install --user tornado psutil xgboost cloudpickle #可选
检测tvm是否安装成功
#在终端 输入 python
>>import tvm
>>tvm.__version__
#若输出
0.8.dev0
#恭喜安装成功
参考资料
TVM(一):简介与安装_u014448054的博客-CSDN博客_tvm 安装
在Ubuntu18.04上安装tvm_Laputa的博客-CSDN博客
在ubuntu16.04上配置llvm_ab_cdef_的博客-CSDN博客
从源安装-tvm 0.8.dev0文档 (apache.org)(官网安装教程)
记录报错及解决方法
运行 test_benchmark_topi_conv2d.py
报错 PermissionError: [Errno 13] Permission denied: '.pkl_memoize_py3'
解决方法:Could not import tvm.relay - Questions - Apache TVM Discuss
通过授予 tvm 目录的权限解决了问题
cd ~/tvm
chmod 777 *