当前位置: 首页 > news >正文

tvm android_rpc_test.py执行报错解决

执行 python3 tests/android_rpc_test.py

报错:

Run CPU test ...
Traceback (most recent call last):
  File "tests/android_rpc_test.py", line 129, in <module>
    test_rpc_module()
  File "tests/android_rpc_test.py", line 73, in test_rpc_module
    f2 = remote.load_module("cpu_lib.tar")
  File "/root/.local/lib/python3.8/site-packages/tvm-0.13.0-py3.8-linux-x86_64.egg/tvm/rpc/client.py", line 161, in load_module
    return _ffi_api.LoadRemoteModule(self._sess, path)
  File "/root/.local/lib/python3.8/site-packages/tvm-0.13.0-py3.8-linux-x86_64.egg/tvm/_ffi/_ctypes/packed_func.py", line 238, in __call__
    raise get_last_ffi_error()
tvm.error.InternalError: Traceback (most recent call last):
  4: TVMFuncCall
  3: _ZN3tvm7runtime13PackedFuncObj9ExtractorINS0_16PackedFuncSubObjIZNS0_15TypedPackedFuncIFNS0_6ModuleES5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE17AssignTypedLambdaINS0_UlS5_SB_E3_EEEvT_SB_EUlRKNS0_7TVMArgsEPNS0_11TVMRetValueEE_EEE4CallEPKS1_SH_SL_
  2: tvm::runtime::RPCWrappedFunc::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
  1: tvm::runtime::RPCClientSession::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)> const&)
  0: tvm::runtime::RPCEndpoint::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)>)
  File "/home/tt/project/docker_tvm2/tvm/src/runtime/rpc/rpc_endpoint.cc", line 808
InternalError: Check failed: (code == RPCCode::kReturn) is false: code=kShutdown
 

解决方法:

把cpu_lib.tar改为cpu_lib.so;并且在export_library添加ndk.create_shared,如下:

path_dso_cpu = temp.relpath("cpu_lib.so")

f.export_library(path_dso_cpu, ndk.create_shared)

原因:

没有添加ndk.create_shared,使用默认的编译器,在android上不能跑

相关文章:

  • 熔断降级的方案实现
  • php.exe运行时,提示缺少VCRUNTIME140.dll
  • 从混沌到秩序——90年代中国数据库的激烈角逐
  • 学生时期学习资源同步-JavaSE理论知识
  • 机械女生,双非本985硕,目前学了C 基础知识,转嵌入式还是java更好?
  • 怎么修改游戏ip地址
  • Editor.md-编辑器
  • ChatGPT的核心技术
  • C#学习汇总
  • css动画和js动画的区别?
  • 基于RK3588+Codesys+Xenomai的ARM+LINUX实时硬件平台的软PLC解决方案
  • OpenCV 图像的几何变换
  • redis中setnx命令的底层原理是什么
  • 三个表联合查询的场景分析-场景1:a表关联了b表和c表
  • 【Java基础】IO流(二)字符集知识
  • vue3路由跳转时,页面如何滚动到顶部
  • 如何更改ldap用户在local node上的默认shell
  • 从前端到前端框架
  • 专题二 - 滑动窗口 - leetcode 76. 最小覆盖子串 | 困难难度
  • Node.js入门基础—day01
  • 电商网站创办过程/快速优化seo软件推广方法
  • 网站开发时间进度表 开发费用/世界球队最新排名
  • 网站建设的目标有哪些/成人大学报名官网入口
  • 保定网站建设方法/买卖链接网
  • 怎样用网站做淘宝推广/网站关键词怎么添加
  • 做网站卖得出去吗/百度知道客服