Problem:start RPC server in Pynq-Z1

when i builded VTA RPC server in Pynq, got this question. followed this tutorials https://tvm.apache.org/docs/vta/install.html and in this part Pynq-Side RPC Server Build & Deployment

xilinx@pynq:~/tvm$ sudo ./apps/vta_rpc/start_rpc_server.sh [sudo] password for xilinx: Traceback (most recent call last): File “/usr/lib/python3.6/runpy.py”, line 183, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File “/usr/lib/python3.6/runpy.py”, line 109, in _get_module_details import(pkg_name) File “/home/xilinx/tvm/vta/python/vta/init.py”, line 27, in from .bitstream import get_bitstream_path, download_bitstream File “/home/xilinx/tvm/vta/python/vta/bitstream.py”, line 24, in from .environment import get_env File “/home/xilinx/tvm/vta/python/vta/environment.py”, line 318, in tvm.ir.register_op_attr(“tir.vta.coproc_sync”, “TCallEffectKind”, tvm.tir.CallEffectKind.Opaque) File “/home/xilinx/tvm/python/tvm/ir/op.py”, line 114, in register_op_attr return _register(value) if value is not None else _register File “/home/xilinx/tvm/python/tvm/ir/op.py”, line 112, in _register _ffi_api.RegisterOpAttr(op_name, attr_key, v, level) AttributeError: module ‘tvm.ir._ffi_api’ has no attribute ‘RegisterOpAttr’

I meet same error, are you use pynq image v2.4?

NO, i used image pynq image v2.5

I encountered the same issue in Pynq-Z2 with pynq image v2.5. Any update to solve this bug?

Thanks for reporting, please see if https://github.com/apache/incubator-tvm/pull/6012 solves the problem

Thanks a lot! Now i can build RPC server on pynq-z1 successfully! :smile:

Hi @tqchen, I didn’t encounter the same issue as @lhf1997 but trying the test_benchmark_topi_conv2d.py script I encountered the following error:

File "/tvm/src/target/target_id.cc", line 191
TVMError: Check failed: next_pos >= str.size() || str.find_first_of(substr, next_pos) == std: :string::npos: ValueError: At most one "=" is allowed in the the given string "mtriple=armv7a-linux-eabi -mattr=+neon"

From commit 67a7497ad304d128f2b0d32a16718f432e33044b I found that function FindUniqueSubstr fails as one of the arguments from target->attrs = id->ParseAttrsFromRaw(options); in tvm/src/target/target.cc is a substring containing two "=" instead of one. Quickes solution in my case was replacing the string "mtriple=armv7a-linux-eabi -mattr=+neon" inside trans_table list from tvm/python/tvm/target/target.py for two sepate substrings "mtriple=armv7a-linux-eabi", "-mattr=+neon". cc @junrushao.

Yes, you are right. See also the patch: https://github.com/apache/incubator-tvm/pull/5988

1 Like

when i run the 2D convolution testbench in pynq-z1, there came a bug.

RPCError: Error caught from RPC call: RecursionError: maximum recursion depth exceeded in comparison

I tried to use sys.setrecursionlimit but it’s uselwss.

I encountered the same issue, I though it was a problem with my board but apparently it’s not. CPU execution works fine but the VTA workload fails.

Any update this problem?