[VTA PYNQ Z2] Error In running RPC Test Program

Hi, I am using the Pynq Z2 board with the latest image (v3.0.1) and trying to follow the VTA setup: https://tvm.apache.org/docs/topic/vta/install.html

I am using the latest TVM release v0.15.0 on PYNQ-Z2 side and release v0.14.0 on PC (Linux Ubuntu 22.04)

The build process completed successfully but the Test program after running the following step is throwing error (Logs below the following 2 lines). I ran:

On Pynq: sudo ./apps/vta_rpc/start_rpc_server.sh
On PC: python MTP2/tvm/vta/tests/python/pynq/test_program_rpc.py

The logs are as below

On Pynq Z2:

xilinx@pynq:~/tvm$ sudo ./apps/vta_rpc/start_rpc_server.sh # pw is 'xilinx'
[sudo] password for xilinx: 
2024-01-27 07:03:13.986 INFO bind to 0.0.0.0:9091
2024-01-27 07:03:21.869 INFO connected from ('192.168.2.1', 56814)
2024-01-27 07:03:21.873 INFO start serving at /tmp/tmpdwz5i7a4
2024-01-27 07:03:26.555 INFO finish serving ('192.168.2.1', 56814)

On PC side:

(MTP2) ada:~$ python MTP2/tvm/vta/tests/python/pynq/test_program_rpc.py
[12:33:21] /home/adarsh/MTP2/tvm/src/runtime/logging.cc:390: TVM_LOG_DEBUG enables VLOG statements in 'ir/transform.cc' up to level 1
[12:33:21] /home/adarsh/MTP2/tvm/src/runtime/logging.cc:390: TVM_LOG_DEBUG enables VLOG statements in 'relay/ir/transform.cc' up to level 1
Traceback (most recent call last):
  File "MTP2/tvm/vta/tests/python/pynq/test_program_rpc.py", line 46, in <module>
program_rpc_bitstream()
  File "MTP2/tvm/vta/tests/python/pynq/test_program_rpc.py", line 36, in program_rpc_bitstream
program_fpga(remote, path)
  File "/home/adarsh/MTP2/tvm/vta/python/vta/rpc_client.py", line 66, in program_fpga
fprogram(os.path.basename(bitstream))
  File "/home/adarsh/MTP2/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 239, in __call__
raise_last_ffi_error()
  File "/home/adarsh/MTP2/tvm/python/tvm/_ffi/base.py", line 481, in raise_last_ffi_error
raise py_err
tvm.error.RPCError: Traceback (most recent call last):
  5: tvm::runtime::RPCWrappedFunc::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
  4: tvm::runtime::RPCClientSession::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)> const&)
  3: tvm::runtime::RPCEndpoint::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)>)
  2: tvm::runtime::RPCEndpoint::HandleUntilReturnEvent(bool, std::function<void (tvm::runtime::TVMArgs)>)
  1: tvm::runtime::RPCEndpoint::EventHandler::HandleProcessPacket(std::function<void (tvm::runtime::TVMArgs)>)
  0: tvm::runtime::RPCEndpoint::EventHandler::HandleReturn(tvm::runtime::RPCCode, std::function<void (tvm::runtime::TVMArgs)>)
  File "/home/adarsh/MTP2/tvm/src/runtime/rpc/rpc_endpoint.cc", line 427
RPCError: Error caught from RPC call:

Can someone help me solve this issue? If any more detail is needed please let me know.

1 Like

Hi, have you solved the issue? I also have the same issue on Pynq Z1 board with the latest image (v3.0.1) now. I am looking for someone who had the same issue to provide information about this.

1 Like

I also have the same problem on Pynq Z1 with the image v2.7