VTA download application problems on zcu104

Hi,
Installed TVM and VTA on my PC, and Pynq 2.5.0 on zcu104 board, and I am following the below tutorial
https://tvm.apache.org/docs/topic/vta/install.html#xilinx-pynq-fpga-setup

I can’t download the VTA tutorial to the Zynq board.

Here all details.
I connected the board to the router and it has the following IP : 192.168.1.172
which is different from the tutorial address 192.168.2.99

I Run a terminal and connected to the board and run all the command to the Zynq board zcu104 and I have the following reply in a terminal a the end
xilinx@pynq:~/tvm/apps/vta_rpc$ INFO:RPCServer:bind to 0.0.0.0:9091

I open another terminal in the PC and I exported the following variables
export VTA_RPC_HOST=192.168.1.172
export VTA_RPC_PORT=9091
export PYTHONPATH=/media/gianpiero/lx/tvm_vta/tvm/vta/python:${PYTHONPATH}

the file vta_config.json was already configured

I have to test the following application by the terminal
python /vta/tests/python/pynq/test_program_rpc.py

I used the python3 command and I issued one command at time inside the different functions I found inside test_program_rpc.py and here below is my error

print(os.path.basename(bitstream))
1x16_i8w8a32_15_15_18_17.bit

fprogram(os.path.basename(bitstream))
Traceback (most recent call last):
File “”, line 1, in
File “/home/gianpiero/.local/lib/python3.8/site-packages/tvm-0.9.dev740+gac6607282-py3.8-linux-x86_64.egg/tvm/_ffi/_ctypes/packed_func.py”, line 237, in call
raise get_last_ffi_error()
tvm.error.RPCError: Traceback (most recent call last):
4: TVMFuncCall
3: tvm::runtime::RPCWrappedFunc::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
2: tvm::runtime::RPCClientSession::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)> const&)
1: tvm::runtime::RPCEndpoint::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)>)
0: tvm::runtime::RPCEndpoint::HandleUntilReturnEvent(bool, std::function<void (tvm::runtime::TVMArgs)>)
9: TVMFuncCall
8: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
7: tvm::runtime::RPCServerLoop(int)
6: tvm::runtime::RPCEndpoint::ServerLoop()
5: tvm::runtime::RPCEndpoint::HandleUntilReturnEvent(bool, std::function<void (tvm::runtime::TVMArgs)>)
4: tvm::runtime::RPCEndpoint::EventHandler::HandleNextEvent(bool, bool, std::function<void (tvm::runtime::TVMArgs)>)
3: tvm::runtime::RPCEndpoint::EventHandler::HandleProcessPacket(std::function<void (tvm::runtime::TVMArgs)>)
2: tvm::runtime::RPCSession::AsyncCallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::RPCCode, tvm::runtime::TVMArgs)>)
1: tvm::runtime::LocalSession::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)> const&)
0: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
File “/home/xilinx/tvm/python/tvm/_ffi/_ctypes/packed_func.py”, line 81, in cfun
rv = local_pyfunc(*pyargs)
File “/home/xilinx/tvm/vta/python/vta/exec/rpc_server.py”, line 69, in program_fpga
from pynq import xlnk
File “/usr/local/lib/python3.6/dist-packages/pynq/init.py”, line 33, in
from .pl import PL
File “/usr/local/lib/python3.6/dist-packages/pynq/pl.py”, line 39, in
from .ps import CPU_ARCH_IS_SUPPORTED, CPU_ARCH, ZYNQ_ARCH, ZU_ARCH
File “/usr/local/lib/python3.6/dist-packages/pynq/ps.py”, line 322, in
class _ClocksUltrascale(_ClocksMeta):
File “/usr/local/lib/python3.6/dist-packages/pynq/ps.py”, line 382, in _ClocksUltrascale
IOPLL_CTRL = Register(CRL_APB_ADDRESS + IOPLL_CTRL_OFFSET)
File “/usr/local/lib/python3.6/dist-packages/pynq/registers.py”, line 115, in init
array = MMIO(address, np.dtype(register_type).itemsize).array
File “/usr/local/lib/python3.6/dist-packages/pynq/mmio.py”, line 82, in init
device = Device.active_device
File “/usr/local/lib/python3.6/dist-packages/pynq/pl_server/device.py”, line 91, in active_device
raise RuntimeError(“No Devices Found”)
File “/media/gianpiero/lx/tvm_vta/tvm/src/runtime/rpc/rpc_endpoint.cc”, line 376
RPCError: Error caught from RPC call:
RuntimeError: No Devices Found

In the terminal I have the below response which tells that we established a connection, after than an error is rised and at the last we closed that connection

xilinx@pynq:~/tvm/apps/vta_rpc$ INFO:RPCServer:connection from (‘192.168.1.218’, 41142)
Exception ignored in: <bound method Xlnk.del of <pynq.xlnk.Xlnk object at 0x7f7d983f60>>
Traceback (most recent call last):
File “/usr/local/lib/python3.6/dist-packages/pynq/xlnk.py”, line 150, in del
for key in self.bufmap.keys():
AttributeError: ‘Xlnk’ object has no attribute ‘bufmap’
INFO:RPCServer:Finish serving (‘192.168.1.218’, 41142)
INFO:RPCServer:connection from (‘192.168.1.218’, 41144)
Exception ignored in: <bound method Xlnk.del of <pynq.xlnk.Xlnk object at 0x7f7d983f98>>
Traceback (most recent call last):
File “/usr/local/lib/python3.6/dist-packages/pynq/xlnk.py”, line 150, in del
for key in self.bufmap.keys():
AttributeError: ‘Xlnk’ object has no attribute ‘bufmap’
INFO:RPCServer:Finish serving (‘192.168.1.218’, 41144)

xilinx@pynq:~/tvm/apps/vta_rpc$ exit

1 Like