HI, @b-camacho and all PYNQ-based VTA users,
As I wrote above, I got runtime-error when I fixed cmake script and ran VTA on Xilinx device (ultra96).
I don’t know whether the error is occurring only in my environment or not, so could you let me know you succeeded to run VTA test-script or not?
My trial was ,
- checkout 36a83c7 (Mer 21, 2020)
- fix VTA.cmake
- build
- run apps/vta_rpc/start_rpc_server.sh on PYNQ device
- run matrix_multiply.py on HOST
And the error on PYNQ side was:
INFO:RPCServer:connection from ('192.168.174.8', 55040)
INFO:root:Skip reconfig_runtime due to same config.
INFO:root:Program FPGA with 1x16_i8w8a32_15_15_18_17.bit
INFO:root:Loading VTA library: /home/xilinx/tvm/vta/python/vta/../../../build/libvta.so
INFO:RPCServer:load_module /tmp/tmpjzo61om_/gemm.o
INFO:root:Loading VTA library: /home/xilinx/tvm/vta/python/vta/../../../build/libvta.so
(Repeat many times)
Process Process-1:4:
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/home/xilinx/tvm/python/tvm/rpc/server.py", line 84, in _serve_loop
base._ServerLoop(sockfd)
File "/home/xilinx/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 213, in __call__
raise get_last_ffi_error()
AttributeError: Traceback (most recent call last):
[bt] (5) /home/xilinx/tvm/build/libtvm_runtime.so(TVMFuncCall+0x70) [0x7fb0586ca8]
[bt] (4) /home/xilinx/tvm/build/libtvm_runtime.so(+0xab9b0) [0x7fb06029b0]
[bt] (3) /home/xilinx/tvm/build/libtvm_runtime.so(+0xaa508) [0x7fb0601508]
[bt] (2) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCServerLoop(int)+0xac) [0x7fb0600834]
[bt] (1) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCSession::ServerLoop()+0x1cc) [0x7fb05f641c]
[bt] (0) /home/xilinx/tvm/build/libtvm_runtime.so(+0x2bba0) [0x7fb0582ba0]
File "/home/xilinx/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 78, in cfun
rv = local_pyfunc(*pyargs)
File "/home/xilinx/tvm/vta/python/vta/exec/rpc_server.py", line 85, in server_shutdown
runtime_dll[0].VTARuntimeShutdown()
File "/usr/lib/python3.6/ctypes/__init__.py", line 361, in __getattr__
func = self.__getitem__(name)
File "/usr/lib/python3.6/ctypes/__init__.py", line 366, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /home/xilinx/tvm/vta/python/vta/../../../build/libvta.so: undefined symbol: VTARuntimeShutdown
And HOST side was:
~/git/tvm$ python3 vta/tutorials/matrix_multiply.py
Traceback (most recent call last):
File "vta/tutorials/matrix_multiply.py", line 437, in <module>
A_nd = tvm.nd.array(A_packed, ctx)
File "/home/blkcp/git/tvm/python/tvm/runtime/ndarray.py", line 487, in array
return empty(arr.shape, arr.dtype, ctx).copyfrom(arr)
File "/home/blkcp/git/tvm/python/tvm/runtime/ndarray.py", line 278, in empty
ctypes.byref(handle)))
File "/home/blkcp/git/tvm/python/tvm/_ffi/base.py", line 330, in check_call
raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
[bt] (8) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCSession::EventHandler::HandleNextEvent(tvm::runtime::TVMRetValue*, bool, tvm::runtime::PackedFunc const*)+0x3d8) [0x7fb05fcd40]
[bt] (7) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCSession::EventHandler::HandleRecvPackedSeqArg()+0x14c) [0x7fb05fc314]
[bt] (6) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCSession::EventHandler::SwitchToState(tvm::runtime::RPCSession::EventHandler::State)+0x320) [0x7fb05fb218]
[bt] (5) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCSession::EventHandler::HandlePackedCall()+0x628) [0x7fb05f5710]
[bt] (4) /home/xilinx/tvm/build/libtvm_runtime.so(void tvm::runtime::RPCSession::EventHandler::CallHandler<void (*)(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>(void (*)(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*))+0x7c) [0x7fb05faafc]
[bt] (3) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::RPCDevAllocData(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)+0xb0) [0x7fb05f45b8]
[bt] (2) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::DeviceAPIManager::GetAPI(int, bool)+0x168) [0x7fb058dc60]
[bt] (1) /home/xilinx/tvm/build/libtvm_runtime.so(tvm::runtime::DeviceAPIManager::GetAPI(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)+0xd0) [0x7fb058d728]
[bt] (0) /home/xilinx/tvm/build/libtvm_runtime.so(+0x2bba0) [0x7fb0582ba0]