栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

OpenCL,OpenGL编译

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号