Imagination GPU - A series
目录
- 移动GPU IP市场状况
- Imagination 最新的A系列GPU介绍:有史以来最快的GPU IP
- 新的ISA和ALU:更宽的体系结构
- 固定功能升级和可扩展性
- HyperLane技术
- PPA投影
- 未来路线图
世界上很少有公司可以号称其在图形市场上的历史可以追溯到90年代时显卡的黄金时代,而在那个时代之后的少数幸存者中当然有NVIDIA和AMD(以前的ATI),也有Imagination公司。该公司(Img)在出现图形加速卡之初就已经成立,而且一直在发展改变。其在2000年初至年中时脱离了桌面市场,而专注于提供移动设备的GPU IP。
1. 移动GPU IP市场状况
如今的移动GPU IP市场是一片荒芜的景象。Imagination的历史以及Arm在Mali GPU中的领导地位的提升,实质上已经形成了双头垄断,因为像Vivante这样的小型供应商已经退出了市场。像这样的双重垄断的问题是,如果任何一家供应商的技术落后,都有停滞的风险,而且在大多数情况下,这些风险都是IP供应商承担的。
尤其是在过去的几年中,随着高通越来越多地在竞争中占据主导地位,移动市场动态发生了更大变化。垂直整合程度更高的公司使用自己的内部GPU IP来生产自己的SoC设计,因此不依赖Imagination或Arm的技术(CPU完全是另外一回事)。
随着Apple自主定制GPU努力在性能和效率上实现了巨大飞跃。虽然官方上没有关于Apple设计的幕后细节的具体信息,但通常将其视为2015年Imagination IP衍生的设计,Apple凭借架构许可继续独立开发。如今,苹果与Imagination之间的关系仍不清楚,但2017年的摩擦最终使Imagination出售并被一家中国公司的股权公司收购,最终导致Imagination出售。
需要考虑的更重要的情况是,当今移动市场上的两个领先GPU(苹果和高通)是由SoC供应商自己内部开发的设计。这对市场上的其他每个人来说都有些麻烦,因为他们对IP许可的依赖意味着他们在做事上受到限制。例如,与高通相比,联发科在市场份额方面遭受了很多损失(GPU只是许多其他原因之一)。三星等其他厂商显然也意识到了他们的处境,并开始开发自己的内部GPU架构,而最新的进展是从AMD授权了新的GPU IP,以便与Apple的设计竞争。
2. Imagination 最新的A系列GPU介绍:有史以来最快的GPU IP
Imagination展示其新的A系列GPU IP,并将该新产品描述为Imagination 15年来最重要的GPU和IP发布。这里的措辞非常有力,新产品的目标也很明确:扭转市场上针对自主定制GPU的市场份额损失的趋势,并使许可 GPU IP 重新回到性能的最前列。
Imagination A系列GPU
A系列是该公司的第10代GPU架构,代表了公司的一大飞跃。即使是简单的事情,例如产品名称,也已经改变。长期的PowerVR品牌一去不复返了,而是更加关注Imagination公司。我们仍然会看到PowerVR (Imagination保留了它来描述他们的技术,尤其是他们基于块的延迟渲染方法(TBDR))但是20多年来,它不再是一个品牌。
新的名称涵盖了公司从低端、中端到高端的整个GPU系列。在这里将继续使用XE,XM和XT后缀;但是,与过去一样,这些IP之间存在架构差异,本文主要涉及新的XT系列。
GPU性能提升
AXT性能提升
Imagination本次发布展示的一个重要指标,声称新的A系列XT设计速度提高了2.5倍。你可能会问“比什么快”?该图代表了新架构在ISO区域和过程节点与Imagination的上一代Series 9 GPU的比较中的性能提升。
需要注意的是,该公司并未在不同代的XT GPU之间进行精确的对比,而是与市场上最新的广泛使用的9系列进行了对比。考虑到目前还没有公开宣布或可用的芯片使用该公司的8XT或9XTP设计,这是一个不幸的选择,但却是实际的选择。
这里的比较数据可能基于联发科的Helio P90和GM9446(技术上是9系列的一部分),但在结构上也基于较旧的Rogue架构。 Imagination希望在A系列产品的面积和性能要求方面更加透明,并且与基于9XM Rogue的GPU的比较提供了更新、更容易获得的基准,供应商可以据此独立验证和比较指标。
A系列特性
A系列的主要改进包括对GPU的计算单元和ALU架构的大改,并有望比9XM Rogue GPU增加4倍。 AI是A系列重点支持的对象,我们将看到专用的计算资源可将性能提高8倍之多。最后,新架构在功率效率方面带来了很大的飞跃,新设计的功耗降低了60%。
A系列配置
发布的新体系结构公开了跨越XT系列的四种配置,以及一种XM配置。XE系列虽然有所改进,但并不是基于新架构,而是上一代产品的延续。
Imagination对新A系列的命名在理解其性能定位方面非常简单。例如,AXT-64-2048代表了XT范围内架构的最高端配置,每个时钟可产生64个像素,每个时钟可实现2048个FP32浮点操作。 AI的TOPs性能是FLOPs的四倍,因此在这种情况下,对于设想的1GHz设计,AXT-64-2048在图形和计算能力上达到2 TFLOPs,在INT8推理吞吐量上达到8 TOPs,并且像素填充速率为64 Gigatexel / s。
这里应该注意的是,在发布的材料中用Gigatexels / s代替Gigapixels / s是更正确的。Imagination发现很多人没有正确理解纹理填充率的含义,因此选择简化营销信息(以像素/秒为单位)。
使用AXT-48-1536、AXT-32-1024、AXT-16-512和最终AXM-8-256缩小了具有相应性能的范围。 AXE-1-16是一个单独的,更小的,更个性化的微体系结构。
Imagination预测AXT-32-1024将成为智能手机中高级移动GPU SoC的传统最佳目标,而较大的配置可能会在较大的外形尺寸设备中使用。
A系列GPU功能
该公司称A系列为“the GPU of everything”,确实有许多变更和功能构成了新IP。我们将从上面最大的变化之一,即GPU的ALU架构开始,介绍Imagination已公开的大型功能矩阵的几个方面。
3. 新的ISA和ALU:更宽的体系结构
如前所述,新A系列的ALU架构和ISA与之前的Imagination GPU完全不同,实际上与任何其他公开披露的设计都有很大不同。
新型ALU设计的关键特征在于,它现在已经比Rogue和Furian架构上采用的设计明显更宽,每个cluster的宽度达到128个执行单元。
对于每一个context,Rogue体系结构使用了32个线程宽的wavefront,但是单个SIMD仅有16个槽。所以Rogue需要两个时钟周期才能完全执行32-wide的wavefront。在8XT Furian系列中,它的物理宽度扩大到了32-wide的SIMD,可以在一个时钟周期内执行32个线程的wavefront,而在9XTP系 列中,增加到了40-wide的SIMD。
与其竞争的GPU架构,NVIDIA的台式机GPU现已扩展到32-wide很多代了,而AMD最近从4X16的ALU配置(可支持64-wide wavefront)改为支持原生为32-wide SIMD (32-wide wavefront),并且其支持向后兼容,可以将两个ALU cluster 或CU拼接成支持64-wide wavefront。
在与Imaginatinon竞争的移动市场上,Arm最近发布的GPU也增加了其SIMD的宽度,数据路径从G72中的4个单元增加到G76中的2x4个单元(8-wide wavefront)。并且在即将到来的Mali-G77中实现了更大的,更具现代感的16-wide wavefront设计。
因此可能会立即发现,Imagination的新型A系列GPU就其核心ALU架构而言已脱颖而出,拥有我们所知的最宽的SIMD设计。
综上所述,我们对Imagination使用如此宽的设计感到有些惊讶。非常宽的SIMD设计的问题在于,必须将大量线程捆绑在一起,以使所有硬件执行单元保持忙碌状态。为了解决这个难题,A系列的主要设计更改是对ISA和ALU本身的极大简化。
A系列的ALU
与上图中描述的Rogue架构相比,新的A系列将执行单元从两个乘加(MADD)单元简化为仅一个MADD单元。这一更改实际上是在8系列和9系列 Furian架构中实现的,但是8系列和9系列仍然在MADD旁边保留了一个二级MUL单元,而在A系列已经没有了。
上图中进入MADD单元的三个箭头,代表了一个操作的三个源寄存器,两个用于乘法,一个用于加法。与Furian架构的MADD单元ISA相比,这是一个更新,并且是一个额外的乘法源寄存器。
从本质上讲,Imagination在面向指令级并行(ILP)的设计到最大化线程级并行(TLP)的过渡上倍加努力。在这方面,它与AMD在本十年初对GCN架构所做的工作非常相似,当时AMD也是从ILP繁重的设计过渡到几乎完全受TLP约束的架构。
由于简化了指令,转向TLP及更高的ALU利用率之后大大提高了单个ALU的密度,从而单位面积的性能有所提高。自然地,减小的面积以及消除冗余晶体管也带来了功率效率的提高。
主从ALU
上图描述了着色处理器中的数据和执行流程。Data Master根据内存中的命令队列开始工作。这里的3D data master还可以处理其他固定功能的预处理(这些固定功能包含tile的隐藏表面去除、着色程序负载的生成),该GPU有一个称为Triangle Merge的模块,用于将三角形分组在一起以更好地利用ALU,并能够填充128个槽的wavefront。
PDS (Programmable Data Sequencer) 是一个资源分配器及管理器。它为工作负载保留寄存器空间,并且管理将要被分配到线程槽的任务。PDS能够为即将执行的线程预取/预加载数据到本地存储器,并在数据可用的时候作为指令调度器和解码器调度和解码的数据使用。
除了前面介绍的主ALU Pipeline之外,还有一个辅助ALU。主ALU还有一个独立的整形和位操作的执行单元。这些执行单元在运行时是独立的,但与浮点单元共享相同的数据路径,因此同时只能使用一个浮点或整形。这些整型单元为A系列提供更高的AI计算能力,四倍速率INT8吞吐量。从某种意义上讲,这与Arm的G76和G77整数点积指令的NN功能非常相似,尽管Imagination并未详细说明确切的可能性。
辅助Pipeline以四分之一的速率运行,每个周期可以并行执行32个线程。在这里有更复杂的指令,这些指令可以在专用单元上执行,例如transcendentals、varying operations、迭代操作,数据转换操作、数据移动操作以及原子操作。
4. 固定功能升级和可扩展性
从更高层级模块来看,可以看到与以前Imagination PowerVR GPU非常相似。ALU位于更大一层级的USC中(unified shading cluster)。USC和其他各种固定功能块又装在SPU中(shader processing unit),有效的可扩展模块称之为core。
图片.png
在当前IP配置中每个SPU都包含两个USC,这就意味着拥有两个128-wide的ALU。这在AXT配置中均是有效的,但是在AXM-8-256配置中仅有一个USC。AXT-16-512是带有完整的SPU的最小配置。
每个SPU都有自己的几何流水线,以及最多的两个纹理处理单元。A系列继承了Furian架构的每TPU吞吐量设计,意味着该模块每个时钟能够采样8个双线性滤波纹理像素。A系列现在每个SPU都增加了一倍,而AXT型号则配备了两个TPU,将每个SPU的总纹理填充率提高到每个时钟16个。
纹理单元的演化
纹理单元的微架构也已经超越了其吞吐量。Imagination的一个更大的改进是L0 cache的处理和位置。L0 cache在纹理工作流中的位置调整到处理和滤波阶段,调整之后L0就保存处理阶段的输出,而不是处理阶段的输入。这样就可以实现大量数据的重复利用,因为不需要每次在需要纹理数据的时候重新处理纹理像素。
由于在各向异性过滤过程中可能需要对纹理像素进行采样的次数,就很容易理解其设计的原因。事后看来,这似乎是一个明显的改进,但该公司表示,在构想之时以及当时的工作量时,对遗留配置的设计选择是有意义的。在各向异性滤波过程中,给定一个纹素可能需要采样多少次,这就很容易看出改进的原因。事后看来,这似乎是一个明显的改进,但该公司表示,在构想之时以及当时的工作量时,传统配置的设计选择确是合理的。
纹理单元的改进
Imagination还谈到了如何大大改善新架构的各向异性滤波的质量。在使用传统纹理通道的一组比较截图中,Imagination展示了其新的各向异性过滤算法更接近于角度无关(aniso滤波的理想结果),与Rogue上90度角相关过滤不同。有趣的是,Imagination声称即使使用更少的样本也可以实现这种改进的角度无关,所有这些都有助于提高GPU的效率和硬件密度。综上所述,由于比较是针对Rogue架构的,因此不确定是A系列的真正新颖之处,还是对去年9XM系列中已经引入的各向异性改进的重新展示。
固定功能的另外一个变化是在像素管线中。尽管从表面上看,与我们在Furian上看到的相比其吞吐量并没有变化。但仍然有多达两个PBE,每个时钟的吞吐量高达4像素。该设计中包含两个这样的单元,所以每个SPU每个时钟总共8像素。实际上,单位之间还有更多内部区别。尽管在pixel和texture为1:1的情况下,只能写出8 PPC,但在前后核心中,仍然能够处理每个时钟16像素,并且还可以每个时钟对16像素进行混合。
Imagination将纹理吞吐率提高了一倍,同时又保持了稳定的像素吞吐率,这意味着该公司通常会与我们在其他架构(例如高通公司和新的Mali-G77)中也看到的像素/纹素填充率的降低比率相匹配,现在A系列中降低为1:2 的像素/纹素。
Alpha混合处理
Alpha混合是在像素管线中的专用硬件单元上完成的,而不是由ALU计算出来的。通过使用固定功能的硬件可以提高性能,并允许FP16全速混合,这就能释放出ALU本身,以便可以将ALU计算资源用于其他工作。从而使得性能密度得到了改善,但更重要的是,它还避免了在相同的任务中使用更昂贵且任务特定的硬件,从而提高了电源效率。
值得注意的是,对于AXM系列,该公司使用定制的固定功能单元来提高面积利用率,而不仅仅是缩放单元数量。
由于SPU是该架构中最大的扩展模块,Imagination通过简单地添加更多SPU来构建更大的GPU配置。本质上,这是Imagination GPU设计的“核心”扩展。
可扩展性
在AXT的产品线中SPU可以在16-512的范围内扩展,产品名中的数值分别表示纹理和每个时钟的浮点操作能力。其掌握起来非常简单,并且很快就能了解此配置的功能。正如简述中提到的,Imagination将AXT-32-1024视为针对高端高端智能手机SoC领域的供应商的最受欢迎选择,某些厂商可能会选择使用AXT-48-1536来扩大面积,并降低时钟速度以提高效率。如果有兴趣的话,AXT-64-2048将是公司可以制造的一个非常大的GPU。
PowerVR各GPU比较
将具有单个SPU和两个USC的最小AXT-16-512配置与几代产品中的类似配置进行比较,确实可以看出新的A系列带来了巨大的架构变化。
Imagination正在宣传的ALU吞吐量提高4倍,但这再次与9XM GPU相比较,后者在ALU配置中与表中的Series-7XT相同。但是,这并不是说与以前的9XTP系列产品相比,其增长并不高。从240 FLOPs/时钟增加到512仍然是2.13倍的增长。
我认为实际上更重要的是,该架构具有很大的核心。在每个时钟512 FLOPs 和 8像素的配置下,AXT SPU明显大于Arm Mali-G77核心,G77 core仅为每时钟64 FLOPs和每个时钟2像素的速度。这意味着AXT核在计算能力上大致相当于八个G77核,在填充速率吞吐量上相当于四个G77,在设计扩展方面这是一个巨大的差异。自然,就有效密度和功率效率而言,很少有大核能胜过许多小核,正如高通和苹果公司最近的2核和4核设计所展示的那样。
5. HyperLane技术
A系列GPU的另一个新功能是Imagination的HyperLane技术,该技术有望在多任务和安全性方面大大扩展该体系结构的灵活性。Imagination GPU拥有虚拟化功能已有一段时间了,这也是它在汽车设计等重点领域的优势。新的HyperLane技术是对虚拟化的扩展,可以在单个GPU内执行任务分离功能超过了虚拟化技术。
通常在渲染过程中,有不同类型的主控制器(Data Master)用来负责将工作负载分配给GPU。几何操作由几何数据主控制器处理,像素操作由3D数据主控制器处理,2D操作由2D数据主控制器处理,计算操作由计算数据主控制器操作。
对于这些处理过程中的每一个阶段,GPU的各个模块对于给定的任务都是活动的,而其他模块则会保持空闲状态。
多任务
HyperLane技术能够实现GPU硬件的完整任务并发,并且多个数据主控制器能够同时处于活动状态,从而可以在GPU硬件资源中动态的执行任务。所以整个GPU具备多任务处理能力,最多可以从8个源接收不同的任务提交。(8个HyperLanes)。HyperLanes已经深入到硬件体系结构中,例如每个HyperLane都可以配置自己的虚拟内存空间(或者也可以跨超通道共享任意内存空间)。
划分GPU资源可以发生在与其他任务的块级并发,还可以在时域中与HyperLanes之间的时间片共享。同时可以为HyperLanes设置优先级,图形处理优先于后台AI任务而使用空闲的硬件资源。
在该公司用例中,隔离受保护的内容和权限管理,这种技术的安全优势也很先进。
AI协同
该技术的一个有趣应用是它允许A系列GPU与该公司的神经网络加速器IP之间的协同作用。它将能够在两个IP块之间共享AI工作负载,例如使用GPU处理模型的更多可编程层,同时仍然利用NNA的效率来进行固定功能的全连接层处理。
其他三项微体系结构改进
A系列还有很多其他的微体系结构的改进。
固件
例如其中的一个变动就是在GPU内部集成了一个小型专用CPU充当固件处理器(可能是基于RISC-V),用来处理在其他体系结构中由主机系统CPU上的驱动程序处理的GPU管理任务。据说,固件处理器方法可以实现各种整理任务的高性能和高效处理,例如调试,数据记录,GPIO处理甚至DVFS算法。相比之下,例如,用于Arm Mali GPU的DVFS仍由主机CPU上的内核GPU驱动程序处理。
软件优化工具
通过固件处理器对GPU的硬件计数器进行概要分析而启用的一项有趣的新开发功能是创建所使用执行资源的切片热图。这似乎是相对平庸的做法,但对于软件开发人员来说并不是一成不变的,由于采用了更加直观的方法,因此在快速调试和优化3D工作负载方面可能非常有用。
6. PPA投影
继续前进,如果我们不能将A系列的改进放在竞争环境中作为背景,就没有多大意义。
面积
首先将当前的Qualcomm GPU与Arm GPU进行比较。 Imagination并没有特别提到我们在这里谈论的是哪些设计,但是我们从裸照中可以清楚地看到,所比较的SoC是Snapdragon 855和Exynos 9820。
Imagination在这里描述了在类似的性能水平下,与高通公司的Adreno实施相比,ARM的Mali GPU占用的硅面积约为184%。
我确实对此处进行比较的有效性存有疑问,因为这些SoC不是在同一工艺节点上制造的–高通公司的设计基于台积电更密集的7nm工艺,而三星的Exynos使用其更大的8nm工艺。考虑到这一点,就像Imagination确实说的那样,这些数据是基于对多个Arm IP实现的分析而不是对单个数据点的分析而得出的。
Img面积
针对目前的Mali-G76实施方案映射到IMG的A系列,目标性能水平相当于当前的旗舰级方案(在曼哈顿3.0中约为100fps),A系列GPU将实现更小的GPU方案,所需的芯片面积要少得多。这里的比较方案是AXT-16-512方案,其运行频率略低于标称时钟和电压(以达到性能匹配)。
如果客户选择使用更多的芯片面积来使时钟变宽和变慢(提高效率),同时仍保持比Mali GPU小的预估面积,则可以大致获得75%的性能优势。这里的比较将是运行远低于标称值的AXT-32-1024,从而具有很大的电源效率优势。
当然,Imagination在这里与当前的Qualcomm和Arm GPU进行了比较,这并不是它真正要与之竞争的。相反,到A系列SoC上市时,它将与下一代Adreno和Mali-G77竞争。我们知道Arm对G77所承诺的目标以及每mm²性能和性能 / W的提高约为1.2-1.4倍,我们可以将其认为1.3倍。三星即将推出的Exynos 990仅承诺将性能提高20%,略低于此预期。在高通方面以及即将到来的Adreno一代,我们将不得不再等几天才能谈论细节,但总体而言,我们希望在同一情况下有所改善。
对于Imagination来说幸运的是,A系列的预计PPA数据和优势足够高,以至于它们仍明显领先于高通公司和Arm即将推出的下一代GPU,在GPU领域或性能方面保持领先优势,具体取决于配置。
到目前为止,一切看起来都非常出色-如果Imagination及其授权公司是否能够取得预计的数字,还有待观察。
7. 未来路线图
新的A系列架构代表Imagination产品的重新定位,代表公司的光明新未来。就其有望实现的PPA指标而言,新的GPU IP无疑是令人印象深刻的,如果实现,它的确会对更广泛的行业和竞争格局产生影响。
但是,即使A系列能够兑现Imagination的所有承诺,该公司也不能止步于此。其还在不断完善和改进他们的设计,Imagination也必须如此。为此,随着今天发布的A系列,Imagination还发布了未来几年的非常广的路线图,概述了即将到来的GPU代及其预期的性能提升。所有这些对于SoC设计人员来说尤其重要,他们希望在尝试更换IP供应商之前先了解即将发生的事情。
GPU线路图
Imagination在A系列之后的路线图似乎非常激进,有望每年进行更新,其年度性能大幅提高1.3倍,或以30%的复合年增长率增长。这是一个比我们过去历来更大的目标,但它与我们过去从某些供应商那里看到的进步步伐非常一致,甚至与苹果最近两代人最近取得的成就步调一致。
GPU 路线图
对于A系列,Imagination采用了类似于Arm的公开发布时间表,这意味着A系列已经完成并授权给客户,其SoC的设计和准备工作将在2020年推向市场-我们正在假设2020年下半年。
B系列的开发工作已经进行得很顺利,如果将路线图作为准确的时间表,预计将在明年夏天完成,因此至少Imagination有很长的路要走。
对于Imagination而言,重要的是设法实现新GPU IP的设计胜利。在潜在客户方面,客户列表越来越小,其中大多数是较小的中国SoC供应商,例如RockChip,Unisoc(以前的展讯)。鉴于三星计划和定制GPU开发,三星是不太可能的客户,除非中低端市场有一定机会。如果HiSilicon的自定义GPU计划未能成功,则可能与Arm息息相关。这样一来,联发科便成为最大的客户之一,拥有采用A系列的最大机会和可能性。对于Imagination及其GPU部门而言,抓住更多联发科SoC,而不是让它们在PowerVR和Mali之间翻转,将是一个巨大的胜利。随着联发科现已重新进入旗舰SoC市场,这似乎是一个很好的匹配。
据说,更广的半导体行业正处于架构复兴阶段,意识到需要更强大的设计以弥补工艺性能逐年下降的趋势。 Imagination的A系列似乎是这种振兴的完美典范,带来了令人印象深刻的世代跳跃。如果改进在实践中得到成功,我相信这可能是该公司的一个转折点,将来我们的确会把它视作公司移动历史上最重要的产品。