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

posted @   吴建明wujianming  阅读(290)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示