2019年Imagination宣布旗下的GPU IP产品迈入新时代,除了性能和效率大幅提升外,其GPU IP开始以A, B, C, D...的命名方式持续迭代:也延续了重在能效表现与芯片面积与成本的传统。
与此同时,Imagination的IP开始拓展到除手机外的更多领域,包括汽车、边缘、桌面PC等——前两年的Khronos & Imagination技术研讨会上,Imagination特别谈到基于灵活和可伸缩性特点,其GPU IP产品可覆盖从边缘到数据中心各种算力需求的应用。基于这两个思路,外加现如今AI技术的大热,要理解最近Imagination刚刚发布的E系列(E-series)GPU IP会容易许多。
有关E系列发布的背景,Imagination全球产品管理副总裁Dennis Laudick在媒体会上的一段话大概是很能说明问题的:受制于实时性、可靠性,数据的隐私、安全问题,“让越来越多的AI算力跑在边缘设备上,甚至连生成式AI、基于LLM(大语言模型)的AI也都走向了边缘。”“而将AI推向边缘,的确为我们打造E系列提供了诸多动力。因为当AI迁往边缘设备,功耗、成本问题都变得重要”,“边缘设备通常都是功耗和成本敏感的。”
“Imagination把在图形和AI技术上,在并行处理方面、功耗与成本效率方面的专业能力带到市场上。”“与此同时,除了能效、面积与成本效益,E系列的设计也是高度可伸缩的——有客户会将我们的GPU用在低功耗应用上,也有客户会将设计扩展(scale up)到数据中心。而现在即便数据中心也开始关注功耗和成本问题了。”
很显然IMG E系列GPU强调的特色依旧是(1)设计的高能效,出色的成本/面积效益;(2)更重在AI计算加速,尤其是功耗与成本敏感的边缘AI推理上;(2)可伸缩的解决方案,令其覆盖有不同算力需求的各类应用。那么照例,循着Imagination在媒体会上公开的有关E系列GPU的少量信息,我们来看看Imagination准备如何应对当代AI技术对GPU或AI加速器提出的新需求。
能效+35%的关键:Burst Processor
Imagination中国区技术总监艾克在媒体会上概括E系列GPU的三大特点:(1)出色的边缘能效表现(efficiency,▲35%);(2)设计的可伸缩(scalability,覆盖2-200TOPS AI算力),是“面向每个设备的AI”;(3)面向开发者及系统集成的灵活性(flexibility)。本文也将从这三个角度来阐述IMG E系列GPU新品。
首先是能效——具体数字是平均能效提升35%(FPS/mW)——从标注每毫瓦的帧数这一单位来看,35%能效提升是指相比上代的D系列,带Burst Processor(爆发式处理器)的E系列GPU图形渲染应用的系统效率提升。从Imagination全球产品管理副总裁Kristof Beets的解释来看,这35%的数字应当不仅限于图形计算——后文会提到。
“35%的能效提升相关于调度、存储访问、数据类型、新的处理管线,是完全由架构层面带来的提升。”Kristof谈到,“负载、算法、工艺提升并不包含在35%这一数字内——它们的确也会带来提升。”
所谓的“架构提升”,核心应当就在于是此处的Burst Processor了——Imagination在新闻稿中将其译作“爆发式处理器”。这应该特指一种新的架构设计,是E系列GPU内部的一个组成部分。
从示意图来看,GPU中的Burst Processor从原先的5路ALU架构缩窄为2路,解释文字中还提到重新设计的ALU管线减少了管线深度——所以基于burst processing的负载降低了功耗、提升了管线利用率;成组的指令调度,最小化控制器开销;可从本地存储复用数据,而非更大且耗电的寄存器组,也就降低了功耗——“本地化的数据处理,减少了数据移动”;
“单一指令不需要占用更多寄存器空间;相同的任务可以重用数据;寄存器数量自然也就不需要那么多。”艾克解释说,“寄存器吞吐带宽降下来,就能节约功耗”;“调度效率也更高,因为调度工作更精简了”;“由于是单一任务,计算数据可以在本地复用,不需要由寄存器吞吐这些数据。”
“Burst Processor是深度融合到GPU里面的处理部分。”Kristof在采访中解释说,“我们在指令调度方面做出了改变”,“burst processing与如何调度指令,在设计中如何获得最佳能效有很大的关系。”他形容Burst Processor为“最底层的数据驱动型调度机制(it's a very data driven scheduling mechanism at the lowest level)”。
“对于执行任务的整体延迟,它实际上并没有做出太大幅度的变化”,但“相比专用的NPU单元却非常有竞争力”。“我们让管线级数(the number of the pipeline stages)变少了,令其更容易达成高占用,并且可以做到更大程度的本地数据复用,对于能效有相当大的好处。”采访中,Imagination反复提到的都是让ALU始终保持忙碌和高使用率。
对于何时启用Burst Processor的问题,Kristof是这么说的:“所有的计算负载(all compute)都会尝试执行burst processing。”“编译器会去寻找能够有效分组的连续指令——可进行大量数据复用和共享(What the compiler will do is to look for back to back instructions that can be grouped efficiently that have a lot of data reuse and sharing)。”
“将这些(指令)绑定为burst执行,也降低了指令解码器的开销。在有大量本地数据复用的情况下,也就不需要去访问较大的寄存器组(register bank)了。”“这种(工作方式)适用于任意类型的处理器,不管是图形、通用计算还是AI处理,都可以用这种新型的调度方式。所以能效提升35%不仅适用于图形处理,也适用于通用计算和AI使用场景。”
只不过,我们目前对Burst Processor技术依旧有不少疑问和困惑——比如这种burst processing调度和工作方式在整个USC(Unified Shading Cluster)模组中以何种方式存在,它和AI加速又有什么关系(PPT中还提到了Burst Processor在Neural Core内工作,显然Burst Processor是AI实现的组成部分)......未来待E系列GPU产品或技术白皮书公布后,我们有机会会就此技术再做回顾和探讨。
E系列的AI加速强化:Neural Core
其次是E系列GPU的AI算力覆盖2-200TOPS:PPT中提到E系列的Neural Core(神经核)提供至高200TOPS INT8 AI性能;在扩展4个E系列核心,每个核心内8个USC,且频率跑在1.6GHz时,INT8算力可以超过200TOPS。所以在规划上,E系列可以适配各种AI应用——EXS系列适配汽车ADAS;EXT系列可用于智能手机;还有面向AI PC的EXD。
Imagination在媒体会上并未展开谈E系列每个核心的详细构成,以及USC内部情况;但通过这则信息可判断E系列单个核心50TOPS算力,考虑AI加速是“嵌入”在USC内部的,则每个标准USC在高频率下可提供6-7TOPS的INT8算力。
从总体上来看,这样一个4核心的完整GPU,除了AI以外,其他关键参数还包括400Gpixel/s(每秒十亿像素)像素填充率,13TFLOPS的FP32算力,100TFLOPS的BF16算力;还有前文提到的>200TOPS的INT8算力——且从算力密度,即面积效率(每平方毫米可达成的TOPS算力数)来看,Imagination提供的数字是E系列相比于D系列提升了3.6倍;而从能效角度,AI操作的效率提升了至多16倍。
这里给出一组参考数字:IMG DXD-72-2304MC2,即上一代D系列产品中定位桌面应用的典型DXD双核心,在1GHz频率下FP32算力4.6TFLOPS,FP16算力9.2TFLOPS,INT8 AI算力18TOPS。
参考:一个IMG DXD-72-2304核心的构成
另外E系列支持的数据格式标称有FP32, FP16, INT8,以及BF16、FP8、MXFP8、FP4、MXFP4。这里带MX前缀的数据格式,相较于原有FP8和FP4,引入了microscaling机制,将多元素分组到共享scaling block中,能够实现更有效的存储和计算——近两年也算比较流行。
值得一提的是,这次媒体会上Imagination并没有提供E系列的纹理填充率数字——这在以往Imagination的核心及产品规格标定上都算是关键参数。实际上,媒体会上我们看到的E系列新架构,整体仍是犹抱琵琶半遮面的状态:或许待正式的、更具体的产品规格发布以后,会有相关数字。
Imagination也没有对Neural Core做太多解释——PPT也只是提到E系列的Neural Core提供了最高200TOPS INT8 AI性能。Kristof多少在问答环节提到了E系列的AI加速着眼在矩阵乘操作(matrix multiply)加速。可能很多读者会认为,Imagination的Neural Core大概与NVIDIA的Tensor Core类似,是GPU之中的AI加速单元——但实际上也不大一样。
艾克提到了目前市场上主流GPU做AI加速的几类方案。其中一类是顶层或NOC级别的加速器整合——完全的松耦合,“并没有和GPU真正耦合在一起”,“这种解决方案需要外部RAM——GPU有对应的RAM,AI(加速器)也需要自己的RAM。”“这么做不仅增加了延迟,降低了能效,而且也不够灵活——很难做协同”;
“另一种方案是将AI算力放在GPU shared(共享)的部分”,如图所示。“它虽然部分解决了外部耦合的问题,但还是需要专门的RAM用于AI加速;算完以后也需要去和GPU做交互。”GPU原有ALU单元与AI加速单元之间协作时,仍然需要较长距离的数据搬运。
还有一类是“GPU加速器级别整合”,“AI(加速)放到了GPU运算部分里面,和USC贴得更近。”从上面这张PPT来看,此类方案中的AI加速部分和GPU的原有ALU管线之间协作时,仍然需要进行数据拷贝操作——双方没有共享的寄存器,还是需要额外的SRAM用于本地存储。(这说的是Tensor core?)
更重要的是这几种模型“和Vulkan, OpenCL等现代API或扩展的理念不相符。”艾克说,“现代接口和标准的理念是graphics和compute之间需要做快速的数据同步。”
所以IMG E系列GPU采用的是“深度融合的解决方案”,上面这张图中的浅蓝色AI实心框是包含在了USC(Unified Shading Cluster)之中的。注释中提到,这种“深度嵌入式整合”的AI单元,与传统GPU ALU USC共享寄存器与SRAM;以近存计算的方式做到数据复用和最小的数据搬运距离;并且符合现代AI/计算扩展接口的设计理念。
对Imagination的GPU IP熟悉的读者应该知道,USC是指一个ALU簇(或者多个shader core),它与其他单元(如TPU、cache、其他图形固定功能单元)组合,就构成了当代IMG GPU IP的“核心”。早在Rogue架构时期,Imagination还会面向媒体分享USC内部的相关信息,现在我们对USC内部已经知之甚少——现在又加入了Burst Processor和AI加速相关的组成部分,其构成大概也就更加复杂了。
这里新增的“AI”部分,我们理解应该就是新闻稿中所说的Neural Core神经核(不过Neural Core也有可能是Imagination对于整个加入了AI加速设计后的GPU核心或某个模块的泛指)。无论如何,Neural Core是深度嵌入到USC内部的AI加速机制(乃至成为整个USC处理管线的一部分),那么它和市面上现有普遍以相对独立形式存在的AI加速单元的确都不大一样。
这里补充艾克在媒体会上就这部分讲解的一句话:“前面提到的burst processing和AI算力的落点,都在(USC)里面”,“这是E系列硬件架构方面的一大改进。”“Burst processing和AI,在基于渲染的GPU的基础框架下,做到了最优实现。”
Kristof还在问答环节提到:E系列的加强是以计算为核心的(compute centric)。从Imagination对Burst Processor和Neural Core介绍的只言片语来看,两者都相关减少数据搬迁、提高数据复用——据说每个计算单元本地都有丰富的存储资源。具体状况可能唯有剖开USC内部才能明晰这两者的本质了。但可以想见,Burst Processor和Neural Core在实现层面应该是存在关联的,后续有机会我们还会对其中细节再做深究。
生态选择问题:“开放”仍是核心
基于这种紧耦合的AI加速设计,Imagination列举E系列GPU IP的优势在于保有高度并行处理能力、出色的AI与通用计算性能的情况下,也具备较好的可编程性和负载灵活性——我们说这本身也是GPU在AI时代,相比于CPU这类通用处理器和NPU这类更专用处理器的优势所在。乃至AI之外,“传统图像处理、游戏画面的后处理等其他类型的计算处理、传统算法也能用上。”
与此同时,架构的灵活性也决定了随AI模型的持续发展,其潜在算法适配性会更高。“我们将AI融合到管线内,也就是说管线内既有可编程引擎也有AI加速。”Dennis说,“原则上,没有理由再回退到其他处理器之上。我们应当能够在GPU上执行完整的AI网络,现在和将来都会如此。”
CPU的问题在于“巨大的延迟”和“性能不佳”。而对NPU而言,“AI技术的进化速度非常快”,“5-7年前的NPU普遍是为CNN设计的,现在的AI技术都开始用Transformer结构了;可能未来5年又会诞生其他类型的AI。NPU需要纠结于预测未来的AI负载;而GPU具备出色的可编程性,可以在低延迟的情况下跑未来的AI操作”。尤其在面向汽车这类产品开发与使用生命周期很长的应用类型时,“汽车行业对可伸缩和灵活的硬件要求很高。”Dennis表示,“GPU能够提供出色的灵活解决方案。”
Kristof还提到,当代AI计算更多的涉及到了对多模态数据(如文本、音频、图像、视频等)的支持,“其实我们从B系列开始就已经在汽车市场上对客户做出了这样的支持。汽车系统会用到视觉、雷达、激光雷达等传感信息,然后通过融合(fusion)来实现自动驾驶体验。对我们来说,所有这些不同的负载都能利用GPU的高灵活性特点。”“同时跑多个神经网络,也和我们的多核或虚拟化技术相适配。”“NPU在这些部分显然是多有受限的——像是并发、基于优先级的执行、虚拟化等等技术。”
多任务异步计算协作、虚拟化也是IMG GPU IP自A系列以来的传统强项了。除了2D/3D图形计算、通用计算等不同任务类型的并行处理,高性能虚拟化从硬件层面支持最多16个虚拟机——这方面达成了上代D系列能力的2倍。
另外基于客户的灵活性要求,E系列GPU也支持扩展外部NPU(应当是基于当代IMG GPU IP之中的Firmware Processor),或者完全基于E系列构建同时能跑图形、通用计算和AI加速的GPU——Imagination将其形容为“成本优化”方案,不仅在PPA方面更均衡,而且对未来的AI网络提供了弹性支持。
而芯片之上的AI软件栈或开发生态方面,上面这张图给出了大致介绍。除了上层常见AI框架的支持,面向不同应用时,主要也采用了标准工具链、库、中间件和API。除了面向边缘与端侧轻量级AI应用的LiteRT(前身为TensorFlow Lite),模型基于TVM(一款开源的深度学习compiler stack,用于跨硬件平台优化和部署AI模型)部署时,Imagination也提供NN库和Graph compiler。
“计算库包含对BLAS数学运算库、FFT傅里叶变换、标准NN接口等的支持”。艾克强调“这部分的优化让我们的硬件利用率达到80%以上”。而graph compiler则“结合AI、图形渲染管线,进行图优化,部署到硬件上面”。值得一提的是,IMG GPU IP也支持UXL联盟的oneAPI(此前Intel主导的一套开放编程模型)——也足以见得Imagination在AI技术栈和生态构建上,相比NVIDIA明显更偏向拥抱开放生态。
面向不同应用类型的开发者时,Imagination选择支持的操作系统、API,所用的开发工具链也基本都是开放、开源,以及跨平台的。比如在API方面对于Vulkan, OpenGL ES, OpenCL, DirectX等的支持,覆盖Linux, Android和Windows平台;甚至GPU IP尤其倡导对RISC-V生态的支持。
Dennis就Imagination倾向于采用开放标准和生态的问题提到,“我们的策略就是支持行业标准的工具和API。但在此之下,我们也花了很多时间确保AI算子和我们硬件之间达成优化的流程,在标准接口下层我们也投入了大量工程时间。”如前文提到的imgBLAS、imgFFT、imgNN。
此外,对于现如今AI加速图形渲染大趋势,Kristof提到Imagination目前的策略是“专注于Khronos OpenCL和Vulkan扩展之上的样例代码,以及Dennis提到的低层级计算库”;“所以我们期望能够为开发者社区在这个领域的创新提供支持”,比如现在图形计算领域流行的AI超分。
“但我们相信,就长期来看类似Neural Shader这样的技术,是开发者社区想要主导去做的。所以我们真正提供的是工具流、库,去支持这些技术的实现;而不是让Imagination成为一家AI软件公司或AI解决方案提供商。”
以此可见,Imagination与NVIDIA这类市场参与者的态度还是大相径庭的,也表现了Imagination在生态构建上的开放策略。可能从GPU IP供应商的角度来看,这的确不是他们应当操心的问题——需要为此操心的,大概是芯片设计者或者开放生态社区。
抓住AI浪潮:现有技术优势的扩展
除了E系列新品发布,整场媒体会让我们印象颇为深刻的一则信息是,Imagination认为公司以往在图形领域积累的技术能力,在AI时代依然是适用的。就像艾克开场提到的, “总体来说,AI就是一种并行任务”,而“Imagination在并行计算领域,有着悠久的历史”;“我们也将在并行计算方面积累的专业和技术,应用到边缘侧AI应用中去”。
相关这个话题,有一些比较有趣的论据。比如说艾克提到Imagination的图形渲染技术是tile-based(TBDR中的TB),“Tile-base也很适用于compute,卷积运算也是一块一块进行的——一部分数据在芯片内部处理,不需要外围存储参与,实现了低功耗”;
而图形领域的延后渲染(TBDR中的DR)技术方法“在渲染过程中将暂时没必要绘制的内容推迟绘制,直到需要在屏幕上呈现时才做绘制”,“用在compute方面,比如现在一些稀疏矩阵,早期存在很多0值不需要计算,那么这些稀疏矩阵也可以延迟计算”;
还有数据管理(如buffer压缩)、标称TFLOPS的实际性能利用率等,Imagination在图形渲染领域积累的经验和优势都可以在compute、AI计算方面充分利用起来。“Imagination将图形领域的一些技术,在AI方向上融会贯通,能够带来更低的功耗、更极致的效率。”还包括Kristof谈到的,E系列针对AI加速在架构层面所做的努力,也是建立在以往GPU就有的资源和能力上。
“我们所做的只是在GPU上增加额外类型的处理管线——也就是在AI领域很常见的矩阵乘运算。所以面积开销其实是很小的。”Kristof表示,“包括图形、计算之间的负载均衡等灵活性特性,我们已经有了——因为以前的GPU本身就能够在几何、像素、传统计算操作之间做负载均衡。”
“还有特定数据类型的支持,GPU本身其实已经支持广泛的数据类型了——因为它原本就需要面对不同的纹理格式。现在我们只是扩展了数据转换管线来支持AI数据类型,消耗的面积也很小。”
用Imagination中国董事长兼亚太总裁白农的话来总结:“我们推出的新一代GPU IP产品”是“能够为客户提供兼顾图形渲染和AI计算的统一解决方案”,所以Imagination期望在合作过程中“帮助客户抓住新一轮AI浪潮带来的市场机会”,也“对这款全新GPU IP产品在中国的落地应用充满期待”。
AI技术为Imagination及其芯片设计客户创造了新一轮、巨大的市场空间。在AI的进一步加持下,在中国已经有相当市场的IMG GPU IP应当会斩获更多市场份额,基于灵活性和可伸缩的设计覆盖更多的AI应用,促成AI技术在边缘的深入普及。
