欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

OpenCL,OpenGL编译

发布时间:2023/11/28 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 OpenCL,OpenGL编译 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

OpenCL,OpenGL编译
TVM已经支持多个硬件后端:CPU,GPU,移动设备等…添加了另一个后端:OpenGL / WebGL。
OpenGL / WebGL能够在没有安装CUDA的环境中利用GPU。目前,这是在浏览器中使用GPU的唯一方式。
这个新的后端允许以一下3种方式使用OpenGL / WebGL:
• 本地OpenGL:可以将深度学习模型编译成OpenGL,并直接在本地机器上运行,完全只使用Python。
• 带有RPC的WebGL:可以将深度学习模型编译为WebGL,作为一个共享库导出,并带有Java主机代码和WebGL设备代码。然后,可以通过RPC将这个共享库部署到TVM Java运行时系统,在浏览器内运行。
• 带有静态库的WebGL:可以将深度学习模型编译为WebGL,与TVM Java运行时系统连接,导出整个包。然后,可以在浏览器的网页中运行模型,不需要依赖项。详细流程如图1所示。

TVM Compiler

TVM中的操作内核是自动编译的,不是人工编译的。如图2所示,TVM使用统一的AST定义内核,编译为不同平台上的代码。
• 不需要编写大量附加代码,就可以将现有模型部署。Relay / TVM模型定义对于所有target都是相同的,只需将其编译到新的target。
• 如果要添加新的操作系统内核,只需要在TVM中定义一次,不用为每个target实现一次。不需要知道如何编写代码添加新的操作系统内核。

CPU(LLVM):模型被编译为LLVM IR和JIT’ed,完全在CPU上运行。
OpenCL:模型被编译成OpenCL。还有一些glue code被编译到LLVM,负责设置和启动OpenCL内核。然后在本地机器上运行。
OpenGL:与OpenCL相同,但编译为OpenGL。

参考链接:
https://www.sohu.com/a/225439682_473283

总结

以上是生活随笔为你收集整理的OpenCL,OpenGL编译的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。