报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

谷歌称 TensorFlow 的 OpenCL 可以将推理性能提高一倍

  • 2020-08-21
  • 本文字数:1035 字

    阅读完需:约 3 分钟

谷歌称 TensorFlow 的 OpenCL 可以将推理性能提高一倍

本文最初发表于 venturebeat,由 InfoQ 中文站翻译并分享。


Google 日前 发布了一款基于 OpenCL 的移动 GPU 推理引擎,用于 Android 上的 TensorFlow 框架。它现在可以在最新版本的 TensorFlow Lite库中使用,该公司声称,它提供了一个比现有的 OpenGL 后端加速两倍的“合理大小”的人工智能模型。


OpenGL 已有近三十年的历史,是一个平台无关的 API,用于渲染 2D 和 3D 矢量图形。OpenGL ES 3.1 增加了计算着色器,但 TensorFlow 团队表示,向后兼容的设计决策限制了它们充分发挥设备 GPU 的全部潜力。另一方面,OpenCL 从一开始就是为各种加速器的计算而设计的,因此与移动 GPU 推理领域更相关。这激发了 TensorFlow 团队对基于 OpenCL 的移动推理引擎的研究并最终采用。


新的 TensorFlow 推理引擎提供了一个优化器,可以选择合适的工作组规模来提高性能,从而在高通(Qualcomm)的 Adreno GPU 等硬件上比平均速度提高了 50%。它原生支持 FP16,并且需要加速器来指定数据类型的可用性,通过加速算法计算来减少内存和带宽的使用以及训练时间。(Google 指出,由于 FP16 的支持,某些较旧的 GPU,如大约 2012 年上市的 Adreno 305,现在可以以其全部能力运行了。)另外,OpenCL 能够通过物理常量内存保持协同,从而大大超过 OpenGL 的性能。物理常量内存是像 Adreno GPU 这样的芯片中的一项硬件功能,为存储常量数组和变量保留了 RAM。



在一次基准测试中,TensorFlow 团队将所谓的神经架构搜索系统 MNASNet 1.3 的延迟从基于 OpenGL 的后端在 Vivo Z3 上超过 100 毫秒降低到使用 OpenCL 替代方案的 25 毫秒。在另一项使用目标检测算法 SSD MobileNet v3 的测试中,该团队将华为 Mate 20 的延迟从近 100 毫秒降低到 25 毫秒以下。



Google 指出,OpenCL 并非标准 Android 发行版的一部分,因此一些用户无法使用它。作为一种权宜之计,TensorFlow Lite 现在可以在运行时检查 OpenCL 的可用性,这样,如果它不可用或无法加载,那么库就会退回到旧的 OpenGL 后端。


TensorFlow 软件工程师 Juhyun Lee 和 Raman Sarokin 在博文中写道:“当 TensorFlow Lite GPU 团队不断改进现有的基于 OpenCL 的移动 GPU 推理引擎时,我们也在研究其他技术。OpenCL 带来了很多特性,让我们可以优化我们的移动 GPU 推理引擎。”


作者介绍:


Kyle Wiggers,技术记者,现居美国纽约市,为 VentureBeat 撰写有关人工智能的文章。


原文链接:


https://venturebeat.com/2020/08/17/google-claims-tensorflows-new-opencl-inference-backend-can-double-performance/


2020-08-21 14:242779
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 555.3 次阅读, 收获喜欢 1978 次。

关注

评论

发布
暂无评论
发现更多内容

网络模型及性能优化

天天向上

极客大学架构师训练营

第八周学习总结

饭桶

架構師訓練營 week8 作業

ilake

架构训练营第四周课后作业

Sandman

极客大学架构师训练营

典型互联网应用系统使用的技术方案和手段

jorden wang

架构师训练营第八周总结

xs-geek

极客大学架构师训练营

第八周作业

Geek_ce484f

极客大学架构师训练营

性能优化学习笔记

Yangjing

极客大学架构师训练营

第四周-作业一

ray-arch

极客大学架构师训练营

并发压力&响应时间&系统吞吐量

Yangjing

极客大学架构师训练营

第八周课后练习

饭桶

架构师训练营 - 第八周总结

一个节点

极客大学架构师训练营

架构师训练营 - 第八周 - 作业一

行者

架构师训练营第 1 期 - 第八周作业

Todd-Lee

极客大学架构师训练营

第四周作业

Griffenliu

第四周学习总结

Griffenliu

架构一期第八周作业

Airs

架构 2 期 - 第四周作业(1)

浮生一梦

极客大学架构师训练营 第四周作业 2组

一篇文章搞懂 @weakify 和 @strongify

疯清扬

objective-c weak weakify strongify 循环引用

架构师训练营第八周作业

xs-geek

极客大学架构师训练营

第八周作业总结

Geek_ce484f

极客大学架构师训练营

架构师训练营第四周系统架构总结

Sandman

极客大学架构师训练营

架构师训练营第一期第八周作业

Leo乐

极客大学架构师训练营

第四周学习总结

晴空万里

极客大学架构师训练营

第八周总结

睁眼看世界

极客大学架构师训练营

架构师训练营 - 第八周作业

一个节点

极客大学架构师训练营

架构师训练营第二期 Week 4 作业

bigxiang

极客大学架构师训练营

Netty源码解析 -- PoolChunk实现原理(jemalloc 3的算法)

binecy

源码 Netty 内存管理

三步实现SSH免密登录Linux服务器

jiangling500

SSH 免密登录 Linux服务器

匠心、携手、深耕:5G Capital展现出的无线产业新范式

脑极体

第八周作业

Geek_ce484f

极客大学架构师训练营

谷歌称 TensorFlow 的 OpenCL 可以将推理性能提高一倍_AI&大模型_Kyle Wiggers_InfoQ精选文章