写点什么

谷歌称 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:242669
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论

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

全是精华!阿里最新出品的“SpringCloud架构笔记” GitHub已爆火

Java 程序员 后端

和12岁小同志搞创客开发:手撕代码,点亮LED灯

不脱发的程序猿

少儿编程 智能硬件 创客开发 Arduino

活用向量数据库,普通散户也能找到潜力股!

Zilliz

数据库 Milvus 股票

入秋的第一篇数据结构算法:看看归并与快排的风采

Java 程序员 后端

公司用算法考核程序员,与绩效挂钩,成绩太差将面临淘汰?

Java 程序员 后端

关于电商秒杀系统中防超卖、以及高性能下单的处理方案简述

Java 程序员 后端

这本现代魔法原理指南,把计算机体系掰开揉碎讲清楚了

Zilliz

编码

Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)

不脱发的程序猿

Python qt PyQt 调用UI文件 上位机开发

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

Java 程序员 后端

关于Maven,这几个一定要会的知识点,你真的了解吗?

Java 程序员 后端

全新演绎!美团内部疯传Spring Boot速成手册也太香了(1)

Java 程序员 后端

Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

不脱发的程序猿

Python qt GUI设计 Qt Designer 窗口布局方式

ajax跨域问题

加里都好

JavaScript ajax HTTP

全网最全Spring面试题之基础篇整理总结(共69题,附超详细解答)

Java 程序员 后端

35w奖金池,腾讯云TDSQL精英挑战赛正式开赛!

科技热闻

做一名程序员的基本要求

Java 程序员 后端

全文检索工具solr:第一章:理论知识

Java 程序员 后端

和12岁小同志搞创客开发:如何驱动 12864 OLED液晶显示屏?

不脱发的程序猿

少儿编程 智能硬件 创客开发 12864 OLED液晶显示屏

关于计算机面试重难点 之 操作系统,字节架构师有话说

Java 程序员 后端

使用SpringCloudConfig进行分布式配置:存储库后端类型

Java 程序员 后端

先到先得!价值百万的的ELk+Lucene笔记,技术点拉满

Java 程序员 后端

全网首发!撸了谷歌大神写的Spring源码笔记后,感觉之前读的都是渣渣

Java 程序员 后端

全链路压测必备基础组件之线程上下文管理之“三剑客”

Java 程序员 后端

关于Spring注解容器配置的那些事,掌握这几点,不再难!

Java 程序员 后端

使用Spring Data JPA的Specification构建数据库查询

Java 程序员 后端

使用Spring

Java 程序员 后端

先知道怎么手写一个分页查询,再去使用PageHelper吧

Java 程序员 后端

和12岁小同志搞创客开发:手撕代码,Arduino IDE 软件下载和环境搭建

不脱发的程序猿

少儿编程 智能硬件 创客开发 Arduino

全新演绎!美团内部疯传Spring Boot速成手册也太香了

Java 程序员 后端

全网最新最全面Java程序员面试清单(12专题5000解析)

Java 程序员 后端

全网最热Vue入门教程你不看就吃亏了哦

Java 程序员 后端

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