When running the start_rpc_server.sh
script i get the following error:
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 25, in <module> from .autotvm import module_loader File "/home/xilinx/tvm/vta/python/vta/autotvm.py", line 21, in <module> from . import rpc_client File "/home/xilinx/tvm/vta/python/vta/rpc_client.py", line 22, in <module> from .environment import get_env File "/home/xilinx/tvm/vta/python/vta/environment.py", line 296, in <module> @register_intrin_lowering("tir.vta.coproc_sync", "default") File "/home/xilinx/tvm/python/tvm/ir/op.py", line 151, in _register _ffi_api.RegisterOpLowerIntrinsic(op_name, f, target, level) AttributeError: module 'tvm.ir._ffi_api' has no attribute 'RegisterOpLowerIntrinsic'
Found a similar issue in Problemďźstart RPC server in Pynq-Z1 but looking at the fix I canât find a simmilar solution.
Using a ZCU104 board and running pynq image 2.6 but found the same issue with 2.5 as well.
Actually a similar thing as in the linked post did solve it. Moving
`@register_intrin_lowering(âtir.vta.coproc_syncâ, âdefaultâ)
def coproc_sync(op):
_ = op
return tvm.tir.call_extern(
âint32â,
âVTASynchronizeâ,
get_env().dev.command_handle,
tvm.runtime.const(1 << 31, dtype=âuint32â),
)
@register_intrin_lowering(âtir.vta.coproc_dep_pushâ, âdefaultâ)
def coproc_dep_push(op):
return tvm.tir.call_extern(
âint32â, âVTADepPushâ, get_env().dev.command_handle, op.args[0], op.args[1]
)
@register_intrin_lowering(âtir.vta.coproc_dep_popâ, âdefaultâ)
def coproc_dep_pop(op):
return tvm.tir.call_extern(
âint32â, âVTADepPopâ, get_env().dev.command_handle, op.args[0], op.args[1]
)
`
From vta/python/vta/environment.py
to vta/python/vta/build_module.py
seems to be working.
Hi Bliipie,
Iâm using a zcu104 and PYNQ boards also and I can successfully connect my pynq but the zcu104 board shows the same problem just like yours.
I followed your recommendation and the error with âRegisterOpLowerIntrinsicâ is now gone but thereâs this new error âNo module named âcloudpickleââ.
Installing cloudpickle with pip does not solve the problem. Did you encounter any of these problems?
Thanks,
you have to install cloudpickle on you board using sudo pip3 install cloudpickle. if your board cannot connect to internet you have to download the whl file on pypi then install it manually.
yes I did both pip and pip3 and installed cloudpickle on both python2 and python3 versions. Doesnât work 
check where you install cloudpickle by pip3 list -v and see if the path is in PYTHONPATH.
1 Like
Doesnât work for me.
I just copied and pasted tvm stack that I downloaded on another board about a month ago and itâs solved for both ZCU and PYNQ. (New tvm stack didnât work on the PYNQ either and made same error)
Thanks anyways.
(for anyone who runs into this problem) - I ran into what I believe is the problem where I couldnât import cloudpickle when calling ./start_rpc_server.sh. Realised this was due to the sudo requirement needed to use the rpc server and âpip3 install clouldpickleâ didnât install cloudpickle for the sudo user. You can check if it is the same problem by running "sudo python3 -c âimport cloudpickleâ. Fixed problem by simply âsudo python3 -c âimport cloudpickleââ