Another more question, what’s the difference between tvm.exec.rpc_server and vta.exec.rpc_server, there are two .py files called rpc_server.py in directory $TVM_PATH/tvm/python/tvm/exec and $TVM_PATH/tvm/vta/python/vta/exec
Which rpc_server.py should I use to register the pynq to the tracker?
That means, should I run
python3 -m tvm.exec.rpc_server --tracker=192.168.2.100:9190 --key=pynq
or
python3 -m vta.exec.rpc_server --tracker=192.168.2.100:9190 --key=pynq
on the pynq-side?
I use the rpc_server.py in $TVM_PATH/tvm/vta/python/vta/exec, and start RPC with commands:
# (Host-side) start a RPC tracker
python -m tvm.exec.rpc_tracker --host=192.168.2.100 --port=9190
# (PYNQ-side) Register devices
# add the following command to start_rpc_server_to_tracker.sh
# python3 -m vta.exec.rpc_server --tracker=192.168.2.100:9190 --key=pynq
sudo apps/vta_rpc/start_rpc_server_to_tracker.sh
# (Host-side) confirm devices
python -m tvm.exec.query_rpc_tracker --host=192.168.2.100 --port=9190
And now I can run:
python tune_relay_vta.py
If I run python -m tvm.exec.rpc_tracker --host=192.168.2.100 --port=9190, which defined in original start_rpc_server_to_tracker.sh it will call rpc_tracker in directory $TVM_PATH/tvm/python/tvm/exec and then failed.
I run python -m vta.exec.rpc_tracker --host=192.168.2.100 --port=9190 and it works.
I use random tuner, and it takes about 2 hours to tune the ResNet18 with one PYNQ board.
Finally, I got the log file vta.resnet18_v1.log.