0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析移动GPU厂商的发展史及其核心技术

SSDFans 来源:未知 作者:胡薇 2018-09-13 09:55 次阅读

人工智能的飞速发展,需要强大的算力作为支撑,这背后NIVIDIA可谓是当之无愧的功臣。NIVIDIA先进的GPU技术和优异的软件生态,使其在竞争中脱颖而出,成为市场霸主。目前人工智能在图像处理及语音识别领域的研究取得了很好的发展,在手机和安防领域也有很多产品落地。在落地过程中,依然会面临设备算力的问题,而移动端GPU则自然而然的进入了人们的视野。

移动端GPU厂商的发展史

在移动端GPU市场中,没有形成一家独大的竞争格局。目前主要的移动端GPU厂商有高通arm和imaginaton。高通的adreno来自ATI的imageon,ATI最早被AMD收购,后来高通收购了AMD的移动设备资产,取得了AMD的矢量绘图与3D绘图技术和相关知识产权。后来高通结合AMD的手机图形技术发展为自家的Adreno图形处理器。另一家移动计算的巨头ARM,ARM在移动CPU的市场地位可谓遥不可及,但是在GPU领域,它确是诸多厂商中的一家,他的GPU业务也并非一开始就拥有,而是后来组建的。其GPU技术来自一家名为Falanx的公司,这家公司是早起从挪威大学脱离出来的一个名为mali的研究小组的成员组建的,最早定位于PC领域,失利后转向SoC GPU设计。随着SoC市场的不断壮大,以及移动计算的发展,ARM收购了Falanx,组建了自己的GPU事业部。最后一家,Imagination Technologies,这是一家专注于GPU技术的公司,最早在桌面级GPU的竞争中失利,后来转战移动端,Intel,三星,苹果,联发科,展讯曾经都是他的客户,一度被认为是全球最大的移动GPU厂商。这家公司可谓命运多舛,曾经作为苹果的供应商,由于iphone的每代产品在图形性能方面都比arm公版的Mali GPU有优势,一度让Imagination风光无二,但是随着苹果宣布自研GPU,Imagination的股票出现了断崖式下跌,公司濒临破产。后来将其业务进行拆分,MIPS业务出售给Tallwood MIPS,而GPU业务则出售给中国背景的私募基金Canyon Bridge。这一收购也填补了国内在GPU领域的空白。

在市场占有率方面,由于ARM以及高通的捆绑销售,Imagination并无优势,但是鉴于在物联网以及人工智能领域,目前三家都还没有建立起强大的生态,因此未来谁能称雄并未可知。

在技术方面三家GPU厂商架构差异比较明显,而且对外披露都比较少,相比较来说Imagination发面对于技术方面会开放一些。

Imagination的GPU Rogue架构浅析

在关于GPU的宣传中很容易看到一个词core,而且高端GPU也都是成千上万的core。其实宣传中的core并非CPU上“核”的概念。而真正意义上的核心,应该是AMD GCN架构中的Compute Unit, NVIDIA Maxwell架构中的SMM以及PowerVR Rogue架构中的USC等。对应于编程语言,应该是OpenCL中的Compute Unit(简称CU)。而宣传中所谓的core,则是OpenCL中的ProcessElement(简称PE)。

目前GPU采用的是多层级的线程技术,硬件结构和软件概念的对照如下图所示:从硬件结构看,首先是GPU设备,叫做device;一个GPU包含多个CU,而每个CU又包含多个计算通道。从OpenCL的软件架构看,每个NDRange对应一个GPU设备,其包含多个work-group,而每个work-group必须在一个CU上执行,也就是说,每个CU可以执行多个work-group,但是每个work-group不可以拆分到多个CU上去执行;每个work-group包含多个work-item,一个计算通道执行一个work-item。

简单介绍一下计算通道,SIMD叫做单指令多数据流(Single instruction MultipleData),目前所有的GPU都术语SIMD,一般都是16路或者32路SIMD。

关于线程的调度,首先介绍一个概念,AMD的wavefront或者NIVIDIA的warp,这是指线程调度的最小单位,也就是说,在GPU中每次执行一个warp,一般一个warp包含32个线程;对于AMD显卡则是一个wavefront包含64个work-item。下文中对这一概念统称为warp,线程和work-item通用。在Rogue架构中每个warp也是包含32个线程。

如下图所示,是Rogue架构的示意图,GPU中包含有多个USC(个数与产品型号有关),每个USC包含着色器,驻留槽,执行单元,存储器,纹理单元等等等。这样每个work-item在自己的生命周期中都包含自己的片上存储在Unified store中,shared local memory隐藏在common store中,这样每个USC都可以在warp之间进行零开销的上下文切换。

线程的执行过程如下图:

图中的Residency Slots中包含很多slot,每个slot代表一个warp,空的表示目前还没有部署warp。而部署了warp的slots一共有三个状态,绿色表示active,黄色表示ready,可以执行了,红色表示阻塞;active的warp接下来会在执行单元上执行,如图右侧所示,所有的32个work-item同时并行执行。Ready的会在下一个执行周期被调度执行;阻塞的则是因为读写等原因进入该状态。

下图是USC中流水线示意图,其中包含4个warp的调度。Warp0首先被执行,warp0会一直执行到它进入阻塞状态,例如读写全局存储,此时调度器会停止调度warp0,开始执行warp1;因为warp中的所有工作项执行相同的kernel代码,因此就有相同的特性,例如同时进入阻塞;在warp2进入阻塞状态时,warp0读写结束,进入read状态;最后在调度器调度完warp3后,重新开始调度warp0。这样并发执行可以实现对内存访问延迟的隐藏。因此在编程实现中一般使用较大的工作组,来实现warp切换对内存访问的延迟(当然,这不是绝对的,在实际中还要考虑寄存器等资源的消耗情况)。

下图展示了Rogue架构下得PowerVR Series7XT系列的架构图。

该系列的GPU拥有2到16个USC,因此具有100GFLOPS到1.5TFLOPS的可扩展性能。如下图展示了该系列GPU的USC架构。

以GT7400为例,其拥有128个FP32ALU核心,256个FP16 ALU核心。每个USC中包含16个pipelines,每个pipelines中含有多个ALU。其中的SFU可以原生的处理FP16、FP32(上一代会全部推给FP32),因此这一代架构可以避免没有必要的高精度操作,提升了性能并降低了功耗。

目前Imagenition已经发布了最新的GPU架构Furian,该架构相对于多年来已成业界标杆的Rogue架构有了在性能方面有了更大的提升。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4417

    浏览量

    126683
  • 人工智能
    +关注

    关注

    1776

    文章

    43845

    浏览量

    230596

原文标题:移动GPU浅谈

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    新能源汽车核心技术加油站-VCU

    新能源汽车核心技术加油站-VCU
    的头像 发表于 04-20 08:10 49次阅读
    新能源汽车<b class='flag-5'>核心技术</b>加油站-VCU

    电阻柜的发展史

    电阻柜发展史
    的头像 发表于 03-08 15:22 117次阅读

    安达发|APS生产排程软件6大核心技术

    APS生产排程软件是一种先进的生产计划和调度工具,它通过整合企业内外部资源,实现生产计划的优化和生产过程的自动化控制。APS生产排程软件的核心技术包括产品工艺数据管理(PDM)、客户需求管理(CRM
    的头像 发表于 02-20 16:09 185次阅读
    安达发|APS生产排程软件6大<b class='flag-5'>核心技术</b>

    线路板PCB:特斯拉Cybertruck的核心技术

    线路板PCB:特斯拉Cybertruck的核心技术
    的头像 发表于 10-25 10:49 410次阅读

    电磁感应式无线充电的核心技术

    电子发烧友网站提供《电磁感应式无线充电的核心技术.pdf》资料免费下载
    发表于 10-09 16:45 1次下载
    电磁感应式无线充电的<b class='flag-5'>核心技术</b>

    浅析先进封装的四大核心技术

    先进封装技术以SiP、WLP、2.5D/3D为三大发展重点。先进封装核心技术包括Bumping凸点、RDL重布线、硅中介层和TSV通孔等,依托这些技术的组合各
    发表于 09-28 15:29 1887次阅读
    <b class='flag-5'>浅析</b>先进封装的四大<b class='flag-5'>核心技术</b>

    OpenHarmony应用核心技术理念与需求机遇简析

    一、核心技术理念 图片来源:OpenHarmony官方网站 二、需求机遇简析 新的万物互联智能世界代表着新规则、新赛道、新切入点、新财富机会;各WEB网站、客户端( 苹果APP、安卓APK)、微信
    发表于 09-22 16:12

    CMOS发展史

    电路元器件电容晶体管电子技术电子diy
    学习电子知识
    发布于 :2023年08月30日 23:07:19

    Bifrost GPU可编程核心的顶级布局、优势和着色器核心功能

    本指南介绍了典型的马里Bifrost GPU可编程核心(第三代马里GPU)的顶级布局、优势和着色器核心功能。Bifrost家族包括Mali-G30、Mali-G50和Mali-G70系
    发表于 08-02 17:52

    Arm Cortex-A7 8C核心技术参考手册

    Arm Cortex-A78C核心技术参考手册
    发表于 08-02 13:44

    ARM9 E-S核心技术参考手册

    ARM9E-S核心技术参考手册
    发表于 08-02 12:00

    Arm Cortex-A65核心技术参考手册

    Arm Cortex-A65核心技术参考手册
    发表于 08-02 07:38

    Midgard Shader核心技术介绍

    因为该计数器数据直接绑定到GPU块。 在本指南结束时,您将更好地了解Mali-Midgard系列GPU如何通过共享访问L2缓存来执行着色器核心操作,Tripipe执行核心的三个不同管道
    发表于 08-02 06:20

    如何实现DevOps目标的核心技术类别和具体技术

    11 通信工具 12 知识分享工具 13 总结 本篇文章中将介绍一些能够帮助你实现 DevOps 目标的核心技术类别和具体技术。 1 关于 DevOps 及其工具 关于 DevOps 及其
    的头像 发表于 06-25 15:34 431次阅读

    无线移动网络发展史与现状

    通过王经理的讲解,同学们深刻地理解了从1G到5G的迭代过程中,核心技术的演化和突破。
    发表于 05-04 14:16 276次阅读