快 2 倍,TFLite 推出基于 OpenCL 的 Android 移动 GPU 推理引擎
TensorFlow Lite(TFLite)现在支持在 Android 设备上使用 OpenCL 进行 GPU 推理,这一改进使得 TFLite 性能比使用现有 OpenGL 后端提高了约 2 倍。
TensorFlow Lite 团队介绍了目前其使用 OpenCL 在移动 GPU 推理上所取得的进展,并宣布正式推出基于 OpenCL 的 Android 移动 GPU 推理引擎,该引擎在大小合理的神经网络上可比现有的 OpenGL 后端提供高达 2 倍的性能提升。
OpenGL ES 3.1 中添加了计算着色器,但其向后兼容的 API 设计决策限制了发挥 GPU 的全部潜能。另一方面,OpenCL 从一开始就是为使用各种加速器进行计算而设计的,因此与移动 GPU 推理领域更加相关。因此,TFLite 团队研究了基于 OpenCL 的推理引擎,引入了一些功能,使得能够优化移动 GPU 推理引擎。
相比之下,新的移动 GPU 推理引擎有以下要点:
性能分析:与 OpenGL 相比,优化 OpenCL 后端要容易得多,因为 OpenCL 提供了良好的分析功能与高通 Adreno 很好的支持。使用这些概要分析 API,能够非常精确地测量每个内核调度的性能。
优化工作组大小:高通 Adreno GPU 上的 TFLite GPU 性能对工作组大小非常敏感,选择正确的工作组大小可以提高性能,反之亦然。借助上述 OpenCL 中的性能分析功能,能够实现针对工作组大小的优化器,这使平均速度提高了 50%。
原生 16 位精度浮点(FP16):OpenCL 原生支持 FP16,并要求加速器指定数据类型的可用性。作为正式规范的一部分,即使是某些较旧的 GPU,例如 2012 年推出的 Adreno 305,也可以发挥其全部功能。
恒定内存(constant memory):OpenCL 具有恒定内存的概念。高通增加了一个物理内存能力,使其非常适合与 OpenCL 的恒定内存一起使用。对于某些特殊情况,例如在神经网络开始或末尾非常薄的层,这被证明是非常有效的。Adreno 上的 OpenCL 通过与该物理恒定内存和上述原生 FP16 支持的协同作用,能够大大超越 OpenGL 的性能。
TFLite 具体展示了在 CPU(大内核上的单线程)使用现有 OpenGL 后端的 GPU 以及使用新的 OpenCL 后端的 GPU 上的性能对比。
上图分别说明了在两个著名的神经网络 MNASNet 1.3 和 SSD MobileNet v3(大型)上使用 OpenCL 的特定 Android 设备上推理引擎的性能。可以看到,新的 OpenCL 后端的速度大约是 OpenGL 后端的两倍,并且 OpenCL 在较大的网络上的性能甚至更好。
此外,因为 OpenCL 本身不属于 Android 的一部分,某些用户可能无法使用。为了简化开发,TFLite GPU 委托添加了一些修改,首先在运行时检查 OpenCL 的可用性,如果可用,将使用新的 OpenCL 后端,否则将退回到现有的 OpenGL 后端。实际上,OpenCL 后端自 2019 年中期以来一直存在于 TensorFlow 存储库中,并且通过 TFLite GPU delegate v2 无缝集成。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
以假乱真,大学生用 GPT-3 生成伪文章成功骗过众人
为了证实 GPT-3 对人们写作和阅读方式可能带来的影响,前不久,来自加州大学伯克利分校的学生Liam Porr 做了一项实验。 他以Adolos 为笔名开通博客,在其中发布由GPT-3 模型生成的文章,第一篇就被顶至 Hacker News 头条,还被 medium 等各大平台转载,该博客迅速获得了 60 位关注者及大约 2.6 万访问量。但注意到文章是由人工智能生成,且提出质疑的人屈指可数。 这篇题为《觉得生产力低下?也许你应该停止过度思考》的文章,引来一众网友共情并应声附和。其中一位评论者指出“这可能是 GPT-3 编写的,实质内容含量为零”,却遭致他人反驳,被要求提供理由,以及“保持文明,不要侮辱他人”。 实际上,Porr 本人仅指定了标题和简介,其他内容都交由GPT-3 完成。他发现,GPT-3 不擅长逻辑和理性,但能够创造漂亮的语句。这样的文章经不起仔细推敲,可并不妨碍仍有大量人喜爱阅读它们,往往只要抛出一个受欢迎的话题就足够。 GPT-3 被认为是迄今为止最大的 AI 语言模型,由 1750 亿个参数组成。这是一个史无前例的庞大语言模型,几乎所有可以用文字表达的工作它都能...
- 下一篇
Rust 回应 Mozilla 裁员:Rust 团队成员不受影响,计划创建 Rust 基金会
在Mozilla裁员事件闹得沸沸扬扬之际,背后主要是 Mozilla 的 Rust 语言项目团队在发布了一个简短声明,表示Rust 项目没有危险之后,又紧接着发布了一篇官方博客,针对此事件进行了详细说明。 2020 年 8 月 11 日星期二,Mozilla 宣布他们决定重组公司,并裁员约 250 人,其中包括 Rust 项目和 Rust 社区的活跃成员。可以理解的是,这些裁员对 Rust 项目本身的影响产生了很多不确定性和混乱。我们在这篇文章中的目标是解决这些担忧。同时,我们也有一个重要的消息要宣布。 Rust Core 团队称,尽管产生了深远的个人影响,但 Rust 项目作为一个整体还是对此类事件具有很大的适应性。“我们有来自不同背景和雇主的领导者和贡献者,这种多样性是一种重要的力量。此外,一个普遍的误解是,所有参加 Rust 领导的 Mozilla 员工都把这个当做了他们工作的一部分。实际上,Rust 领导层中的许多 Mozilla 员工都是在个人时间内为 Rust 做出贡献的,而不是作为工作的一部分。” “最后,我们要强调,Rust 团队的成员资格是授予个人的,并且与雇主无关。...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境