速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

Kubernetes 架构知识

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 部署策略

CTO技术共享

开源 签约计划第三季 8月月更

纯色山鹪莺

猫猫巧克力

阿里大神级 最新Elasticsearch 笔记,抓紧学起来!

冉然学Java

elasticsearch 编程 分布式 java; 程序员、

IPv6地址规划

穿过生命散发芬芳

ipv6 8月月更

Centos7安装系统安装docker

Geek_8d9022

Kubernetes DevOps 工具

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 怎么优雅升级

CTO技术共享

开源 签约计划第三季 8月月更

Go-Excelize API源码阅读(二)——OpenFile()

Regan Yue

Go 开源 源码刨析 源码解读 8月月更

从没见过能把高并发拆解的这么详细!阿里巴巴这份堪称神级的“高并发”教程太香了

Java永远的神

Java 程序员 架构 面试 高并发

ES6新特性——generator

猫猫巧克力

8月月更

阿里巴巴2022全新出品亿级并发设计速成宝典(系统拆分,缓存,MQ,读写分离,分布分表,ES扩容应有尽有)

程序员小毕

Java 程序员 面试 后端 高并发

GItHub又火了!2022最全 Java面试手册终于开源了,包含了29个知识点

Java工程师

Java 面试

Kubernetes 集群故障案例

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 开源未来

CTO技术共享

开源 签约计划第三季 8月月更

架构实战营模块九作业

融冰

Kubernetes 污点和容忍

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 虚拟机部署弊端

CTO技术共享

开源 签约计划第三季 8月月更

今天面了个腾讯拿38K出来的大佬,让我见识到了Java面试八股文的天花板

Java全栈架构师

Java 数据库 spring 程序员 面试

Istio的扩展和定制

阿泽🧸

istio 8月月更

kubernetes灰度发布

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 运维经验分享

CTO技术共享

开源 签约计划第三季 8月月更

2022秋招前端面试题(一)(附答案)

helloworld1024fd

前端面试

架构实战营毕业总结

融冰

Kubernetes微服务、容器介绍

CTO技术共享

开源 签约计划第三季 8月月更

kubernetes 常见架构图

CTO技术共享

开源 签约计划第三季 8月月更

【LeetCode】 数组中的字符串匹配Java题解

Albert

LeetCode 8月月更

kubernetes日常命令

CTO技术共享

开源 签约计划第三季 8月月更

2022秋招前端面试题(二)(附答案)

helloworld1024fd

前端面试

数字化转型怎么就那么的难?!

BizFree

数字化转型 工业互联网 智能制造

STM32的启动过程 — startup_xxxx.s文件解析(MDK和GCC双环境)

矜辰所致

stm32 arm 8月月更 stm32启动流程 startup_xxxx.s

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