开发板信息:
正点原子-领航者ZYNQ7000
PYNQ-Z2
官方教程:VTA Installation Guide — tvm 0.8.dev0 documentation
可以按照官方教程使用ssh,也可以使用串口助手或是静态链接完成对开发板的设置
本文使用静态链接:
1、下载TVM源码到本地,注意查看下载是否完整!!!!一定要检查!!!!
压缩包下载地址:https://download.csdn.net/download/m0_50907280/24407817(免费)
2、打开浏览器输入192.168.2.99,进入Jupyter notebook,点击upload,上传本地tvm.tar文件
点击new->terminal 进入终端
如图:
3、将tvm.tar复制到/home/xilinx
cd jupyter_notebooks
sudo cp -r tvm.tar /home/xilinx
解压
tar -zxvf tvm.tar
4、构建RPC服务器
cd /home/xilinx/tvm
mkdir build
cp cmake/config.cmake build/.
echo 'set(USE_VTA_FPGA ON)' >> build/config.cmake
# Copy pynq specific configuration
cp 3rdparty/vta-hw/config/pynq_sample.json 3rdparty/vta-hw/config/vta_config.json
cd build
cmake ..
make runtime vta -j2
# FIXME (tmoreau89): remove this step by fixing the cmake build
make clean; make runtime vta -j2 (这一步一定要有,不然会报错!!!!!!!)
# Build VTA RPC server (takes 1 min)
cd ..
sudo ./apps/vta_rpc/start_rpc_server.sh
如果构建完成,使用vta时出现错误,开发版端显示:
AttributeError: /home/xilinx/tvm/vta/python/vta/../../../build/libvta.so: undefined symbol: VTARuntimeShutdown
重新执行命令 make clean; make runtime vta -j2
多重构几次就能成功了!!!!!!!
出现的错误:
(安装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 runtime vta -j2
(1)运行 make runtime vta -j2 报错,时钟错误(开发板的时间与主机时间不同)
报错内容:make[3]: warning: Clock skew detected. Your build may be incomplete.
解决方法:参考ARM板更改系统时期和时间_君子性非异-CSDN博客
在开发板终端输入:
查看系统时间:date
修改系统时间:date -s "2021-09-15 11:15:35"(主机此时的时间)
重新 make runtime vta -j2 编译通过
(2)启动RPC服务时报错,显示没有模块 cloudpickle
解决方法:
sudo apt-get install cloudpickle
或者
pip install cloudpickle
下载cloudpickle,手动安装
本地下载后传到jupyter
ls
cd jupyter_notebooks
sudo cp -r cloudpickle-1.6.0-py3-none-any.whl /home/xilinx
cd /home/xilinx
pip3 install cloudpickle-1.6.0-py3-none-any.whl
cloudpickle下载链接(Python cloudpickle项目安装包(第三方库)下载详情页面 - PyPI - Python中文网)
此时cloudpickle模块被安装在/home/xilinx/.local/lib/python3.6/site-package
(3)在终端执行 pip3 list 显示cloudpickle存在,但是执行sudo ./apps/vta_rpc/start_rpc_server.sh依然报错没有cloudpickle模块
解决方法:查看 import 路径,参考linux中安装包安装成功但是无法import_Devil-CSDN博客
cd /home/xilinx/.local/lib/python3.6/site-packages
sudo cp -r cloudpickle /usr/lib/python3.6/
再次执行 sudo ./apps/vta_rpc/start_rpc_server.sh
出现 INFO:root:RPCServer: bind to 0.0.0.0:9091
成功!!!!!!!!!