教程地址:Auto-tuning a convolutional network on VTA — tvm 0.8.dev1706+gdc2f70e3c documentationz
配置信息
主机:ubuntu 16.04 tvm=0.8 llvm=12.0
pynq: v2.5 pynq-z2 IP:192.168.2.99 端口号:9091
默认主机和pynq板已设置好
设置参考教程:
主机:Install from Source — tvm 0.8.dev1706+gdc2f70e3c documentation
pynq:VTA Installation Guide — tvm 0.8.dev1706+gdc2f70e3c documentation
启动 RPC 跟踪器
python -m tvm.exec.rpc_tracker --host=0.0.0.0 --port=9091
将设备注册到 RPC 跟踪器
更改/home/xilinx/tvm/apps/vta_rpc/start_rpc_server_to_tracker.sh文件,
使用命令打开文件:
vim tvm/apps/vta_rpc/start_rpc_server_to_tracker.sh
改为:
python3 -m vta.exec.rpc_server --tracker=192.168.2.99:9091 --key $TARGET
确保使用 root 启动远程设备服务器,因为写入比特流需要 root 权限!!!!!!
有时 0.00 GFLOPS 意味着没有比特流写入 FPGA
cd tvm
pushd apps/vta_rpc
sudo -E ./start_rpc_server_to_tracker.sh
显示如下
注册设备后,我们可以通过查询rpc_tracker来确认
python -m tvm.exec.query_rpc_tracker --host=0.0.0.0 --port=9091
注:我只用了一块pynq板
显示如下:
准备完成,在主机端运行程序
结果如下:运行成功!!!
参考:
https://discuss.tvm.apache.org/t/vta-workaround-for-autotuning-with-one-pynq-z1-board/8091/14