写点什么

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

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

关注

评论

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

改变世界的开发者丨以梦为码,华工小哥的致青春

华为云开发者联盟

数据库 华为云

认识一下什么是JSP

华为云开发者联盟

Java jsp 网页 前段

vue-class与style绑定

小恺

6月月更

主数据管理平台功能模型介绍

agileai

Java 数据治理 数据模型 主数据平台 功能模型

Charles 工具如何做断点测试

伤心的辣条

Python 程序人生 软件测试 自动化测试 接口测试

始于架构,精于治理|阿里云中间件开发者大会火热报名中

阿里巴巴中间件

阿里云 开发者 中间件

测试基础之:自动化测试

甜甜的白桃

软件测试 自动化测试 6月月更

力扣每日一练之二分查找Day10

京与旧铺

6月月更

天人合一物我相融,站点升级渐进式Web应用PWA(Progressive Web Apps)实践

刘悦的技术博客

前端 App 应用 Web JS SDK PWA

实战邮件攻击简要分析【网络安全】

网络安全学海

网络安全 安全 渗透测试 WEB安全 漏洞挖掘

基于EasyCV复现ViTDet:单层特征超越FPN

阿里云大数据AI技术

自然语言处理 异构计算 深度学习/机器学习 编译码

教你搭建一个Telegraf+Influxdb+Grafana 监控系统

华为云开发者联盟

云计算 华为云

一个算子在深度学习框架中的旅程

OneFlow

深度学习 算法 框架设计

小程序容器技术,加速工业互联网平台建设

Geek_99967b

小程序 工业互联网 小程序容器

什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同

阿里云云效

云计算 阿里云 敏捷开发 研发 开发模式

直播场景音频降噪,传统算法 VS AI 算法对比和实践

融云 RongCloud

Nydus —— 下一代容器镜像的探索实践

SOFAStack

开源 云原生 dragonfly 容器镜像

详解GPU虚拟化技术

Finovy Cloud

人工智能 云渲染 GPU服务器

青藤“基于工业互联网的安全方案”成功入选信通院守卫者计划

青藤云安全

主机安全 互联网安全

Elux-从"微前端"到“微模块”

hiisea

前端框架 微前端 微模块 elux

传统企业数字化转型,到底难在哪里?

飞算JavaAI开发助手

手慢无!‘’阿里爸爸‘’6月最新开源新版Spring Cloud Alibaba全体系10w字全彩笔记

Java全栈架构师

Java 程序员 面试题 架构师 SpringCloud

使用GeekCode在开发中分离计算和存储

王泰

CloudIDE 云 IDE

好的产品帮助文档可以留住一个用户的心

小炮

用 docker 创建 jmeter 容器,实现性能测试

伤心的辣条

Python 程序员 软件测试 自动化测试 程序员‘

Vue-9-计算属性的属性

Python研究所

6月月更

先睹为快 | 卓越示范中心ETB003云原生安全实验测试床

青藤云安全

容器安全 信通院 云原生安全

2022,云上开发新纪元

Heighliner

云原生 #k8s 开发者, 远程开发

从概念到安全实践:软件供应链基础指南

SEAL安全

DevOps 安全 DevSecOps 软件供应链

ScheduledThreadPoolExecutor

急需上岸的小谢

6月月更

详解MOVE PROTOCOL的测试版,让健康运动如影随形

鳄鱼视界

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