tvm自动售票机内部结构图(tvm的功能有哪些)

2022-11-06 22:01:13 0

tvm自动售票机内部结构图(tvm的功能有哪些)

原标题:干货 | TVM:Deep Learning模型的优化编译器

关注我最近想法的同学应该知道我最近都在把玩 TVM,今天终于使用 TVM 得到了非常满意的结果,而专栏也很长时间没更新了,于是来安利 。

简单介绍下 Auto-TVM 的调优终端设备的用法

  1. 你可以有很多手机平板设备,安装好 TVM RPC 这个 App 之后,可以在 App 里输入 Tracker 的 IP 和端口,进行设备注册 。(我遇到的最坑的问题其实是公司网络各种 IP 禁止访问,封端口,使得 android 机和开发服务器一直连不上, 最终还是在自己的电脑上装了虚拟机,自建了一个小 LAN 才解决的这个问题)

    1.编译 tvm4j-core 出错: cannot find symbol [ERROR] symbol: class SharedSecrets

    JDK11 会遇到这个问题,因为 JDK11 已经把 sun.misc.SharedSecrets 换到别的地方了,建议不要尝试修改 TVM 源代码来 fix 这个问题,因为你会遇到其他更多问题,请下载 JDK8,把 JAVA_HOME 设为 JDK8 的,一切就会很顺利

    2.Android TVM RPC 编译出错: #error "Unable to determine endianness of your machine; use CMake to compile"

    Android RPC server fails to build(http://link.zhihu.com/?target=https%3A//discuss.tvm.ai/t/android-rpc-server-fails-to-build/1461)

    按上边 link 里的修改 endian.h 文件即可,参见我下边的修改

    5.LLVM only Large Small are allowd on AArch64

    https://github.com/dmlc/tvm/issues/2005 可解(http://link.zhihu.com/?target=https%3A//github.com/dmlc/tvm/issues/2005)。

    6.Auto-TVM 自动优化时出错:Cannot find config for target=cuda

    这个(http://link.zhihu.com/?target=https%3A//discuss.tvm.ai/t/what-does-this-warning-cannot-find-config-for-target-cuda-mean/798/3)不是什么大问题,某 operator 不能调,对我来说其他的可以调就行了。。。。

    7.Auto-TVM 自动优化 OpenCL 时出错: No OpenCL platform matched given existing options

    No OpenCL platform matched given existing options

    (http://link.zhihu.com/?target=https%3A//discuss.tvm.ai/t/no-opencl-platform-matched-given-existing-options/1848/6)

    也是自己问最终自己解决的,很反直觉,编译 TVM 的时候,选择 OpenCL=OFF,就没有这个问题,选择 OpenCL=ON,为终端 Cross Compile OpenCL 就不 work 了... 应该是 bug.

    8.Auto-TVM 自动优化 OpenCL 时出错: CL_INVALID_WORK_GROUP_SIZE

    CL_INVALID_WORK_GROUP_SIZE error after auto-tuning for OpenCL on Android Device

    (http://link.zhihu.com/?target=https%3A//discuss.tvm.ai/t/cl-invalid-work-group-size-error-after-auto-tuning-for-opencl-on-android-device/1858/10)

    应该是我 trial number 设的太小了,以至于 TVM 找不到一个 valid 的 kernel,顺着这个问题,发现了 CL_INVALID_WORK_GROUP_SIZE 的一个 undocumented 的错误源,即 OpenCL kernel 使用过多的 register file 也会造成 CL_INVALID_WORK_GROUP_SIZE 错误,这一点在查 OpenCL 文档的时候是查不到的, 有点 tricky。

    9.Auto-TVM 自动优化时 Android TVM RPC Crush,一切白调。。。

    目前 TVM 还不支持 checkpoint,不过我们可以很简单的魔改 measure_methods.py 这个文件,把 190 行 set_task(): 这个函数里的 check remote 失败直接 raise RuntimeError 退出程序,改成循环多次 check 即可,这样使得 Auto-TVM 一方持续等待 Android 程序上线,比一点网络问题,或者终端问题,就废掉之前 n 多个小时的 auto-tuning 成果要好的多。

    最后感谢

    @ 陈天奇

    大神为我们带来了这么方便的工具。

    好了,今天就到这里,我继续修仙炼丹去了~

    关键字:  tvm自动售票机内部结构图  tvm的功能有哪些  tvmini 软件下载  tvm包括哪些模块  tvm自动售票机