翻身之仗 AMD Vega GPU架构前瞻
- 来源:微型计算机 smarty:if $article.tag?>
- 关键字:AMD,Vega,架构 smarty:/if?>
- 发布时间:2017-04-10 14:30
一直以来,AMD给我们的印象就是其产品相对对手英特尔、NVIDIA而言较为廉价,还有就是它的PPT一向作风高调,而等到实际产品时却给用户很大的落差。同时由于它的CPU性能显著落后于英特尔,而且在近十年的漫长时光里毫无追赶的起色;GPU领域也是长时间落后于NVIDIA,难于翻身,所以在业界就有许多人将AMD戏称为“万年老二”。而更糟的是,AMD的财政状况在过去十年都很差,虽然偶有小盈利,但大部分时间都是在亏损中度过,而好在大卫·桑德斯创办的这家芯片企业,以顽强的精神和屡败屡战的信念著称,一旦竞争对手开始飘飘然,它就会抓住机会,给对手一个措手不及。最近,在CPU领域,我们就看到了AMD的强势崛起,代号为“Zen”的锐龙Ryzen系列处理器如期上市,强悍的性能已经可以和英特尔分挺抗礼,而更低的功耗、显著的价格优势以及强大的后续潜力,感觉都会让英特尔有点措手不及。AMD可谓是打了一个翻身仗,重新回到了微处理器的一线,扬眉吐气了一把。2017年,AMD也将在图形领域发力,代号为“Vega(织女星)”的新一代GPU架构即将降临,同样给图形市场带来较大的悬念。
Vega架构的前世今生
虽然顶级GPU价格昂贵,用户不多,但NVIDIA和AMD都竞相追逐“性能王座”的光环。比如,NVIDIA在大芯片、高性能的方向上一路到黑—原因很简单,高性能具有指标性意义,用户并不会对技术了解太多、也大多不会综合考虑,通常会简单地选择性能最强的一家,因为这么做肯定不会出错。
在前面的几年,AMD一度以多芯片、注重性价比的方式为产品哲学,但事实是它的市场份额一路下跌,在2015年三季度,它在独立图形市场的占有率惨跌到只有20%,出现NVIDIA一家独大,AMD濒临出局的局面。
在这一阶段,AMD境况糟糕,幸亏它接连拿下索尼、微软、任天堂三家游戏主机的图形芯片定制业务,这更多是有赖于灵活的方案定制和性价比优势,而NVIDIA则放弃了这个市场,它走向更广阔的通用计算领域,并成为挑战英特尔的重要力量。另一方面,AMD与微软和业界建立了良好的关系,与英伟达封闭的方案不同,AMD倡导建立起开放性的OpenCL通用加速方案,并获得业界的广泛支持,它所欠缺的是,是一款能够具有与对手顶级产品匹敌的利器。
痛定思痛,AMD决意在新一代架构中另起炉灶,重新回到高性能的正确轨道上来,只是这个旅程并不顺利。早在2014年末,AMD在一些内部会议中就透露在开发一款名为“格陵兰(Greenland)”的新一代GPU架构,这款芯片将采用14纳米,TDP热设计功耗在250W级别,而它的每瓦性能达到Hawii(夏威夷,Radeon R9 290系列)的两倍以上!不过在后来,我们并没有看到格陵兰的消息。当年底AMD带来的是代号为“Tonga(汤加)”的新核心,内核架构从夏威夷的GCN1.1提升到GCN1.2版,但这也只是小幅度的改良,并没有涉及架构的深度改变,很多用户就将“汤加”理解为“夏威夷”的换名马甲版。
2015年末,AMD推出代号为Fiji(斐济)的核心,它的内核依然是“汤加”,只是改用HBM1高带宽显存、减小了体积,内核架构提升到GCN1.2+,但性能依然提升不大,且功耗较大的毛病并没有克服。直到2016年中,AMD接着推出持续改良的“Polaris”架构,而这时DirectX 12开始在新一代游戏中获得应用,Polaris的良好支持让它在新游戏中增色不少,也得益于此,AMD在图形市场的份额才小幅度提升到接近30%左右。
而在这期间,NVIDIA先后凭借Maxwell(麦克斯韦,2014年)、Pascal(帕斯卡,2016年)架构不仅占领了性能王座,更是凭借良好的性能功耗优势、通用计算性能以及强势的整体营销,获得市场的绝对主导权。
第一,毫无疑问就是相对孱弱的架构性能。比如Polaris架构的RX480处理器,像素渲染速度只有35.8GPixl/s,而同期NVIDIA基于“帕斯卡”的GTX1060处理器比它快了一倍、渲染速度高达72.3G Pix/s。在如此巨大的性能差异面前,AMD自然无力推出能够与NVIDIA抗衡的旗舰产品,退出了对显卡性能风向标的角逐,用户的选择天平不可避免朝向NVIDIA倾斜;
第二,GPU功耗的偏高、每瓦性能指标偏低,即便Polaris改用格罗方德(GF)的14纳米工艺,功耗表现也并没有提高多少。显然,这主要是Polaris架构、或者说AMDGCN显卡架构存在的根本问题—我们很容易联想到,AMD在CPU架构上也是同样的表现。
既然如此,AMD要想在图形市场打一场翻身仗,除了推出下一代高性能的微架构与英伟达硬碰硬以外,没有别的捷径好走。而它接下来要推出的,代号为Vega的能否承担这样的使命,给外界留下了很大的悬念。
Vega架构的四大特点
Vega架构是拉加·库德里(Raja Koduri)回炉AMD的首期之作。拉加·库德的职业生涯始于大名鼎鼎的S3 Graphics,后来进入ATI公司并成为图形技术的领军者之一。2009年AMD并购ATI,给业界带来很大的波动,拉加·库德里此时担任图形业务的首席技术官,不过并购不久就被乔布斯挖走、为苹果公司研发新一代图形处理器。不过在2013年4月,他重新又回到了AMD、重新执掌图形技术部门,负责新一代产品的开发—值得一提的是,AMD现时大火的Ryzen处理器架构,主导者也是从苹果重新回炉的Jim Keller,而当年他是K7和K8架构的架构设计者,一手打造了AMD处理器的辉煌时代(遗憾的是,Jim Keller已于2015年9月从AMD二度离职)。
拉加·库德里回到AMD之后,被任命为视觉计算企业副总裁(Corporate Vice President of VisualComputing),同时负责GPU的硬件开发以及软件平台设计。之后的Fijii、Polaris两代改良架构都是在他的领导下进行,我们也得见此后AMD的图形业务缓慢回升,缩小了与对手的差距—但GCN架构使然,难以有根本性的改观。因此,新一代的Vega架构让外界报以很高的期望。
在今年一月份的CES展会上,AMD对外披露了Vega的部分技术细节,虽然关键的性能指标还不得而知,但我们还是可以从下列资料中可以看出Vega所具有的巨大潜力。而总结起来,Vega将有以下四大技术要点,分别是:革命性的存储架构、更灵活的几何渲染、高级像素引擎以及NCU下一代计算单元。
革命性的存储架构:HBM2+ HBCCFiji架构中引入的HBM(高带宽)显存是AMD的独门绝技,在2015年这项技术引入时确实引起业界的瞩目。HBM架构将显存的管芯(DIE)与GPU的DIE集成在同一个基片上,等于图形处理器本身就集成了显存,这样,显卡的PCB板上就没有传统的显存,只需要供电电路和输出接口元器件,显卡的尺寸可以变得非常之小—相当于笔记本显卡模块的尺寸,作为当时的高端显卡,Fiji的高集成度和小尺寸因此给人留下深刻印象。再者,HBM的显存以3D堆叠的方式封装在一起,单枚芯片的传输位宽可以达到1024bit,相当于GDDR5的32倍之多!我们知道,传输带宽等于位宽乘以频率,HBM具有高位宽的优势,显存的频率就可以大大降低,在Fiji中它的频率只有1GHz,每个显存堆栈的带宽突破100GB/s,比GDDR5的传统方案高出数倍!
由于显存芯片的工作频率低,第一代HBM仅需要1.3V电压、低于GDDR5的1.5V,而它的每瓦特传输性能达到35GB/s,也比GDDR5的10GB/s快出3.5倍之多!
不过第一代HBM存在显存容量低的问题,旗舰显卡RadeonFuryX也只能提供4GB容量,在应付大型游戏时这点显存显然是杯水车薪。而这次Vega架构引入了升级的第二代HBM方案,在继承高性能、低功耗、高集成度的同时,将显存容量提升到8GB和16GB多个规格,消除了容量不足的瓶颈。同时,HBM2的带宽达到HBM1的两倍,可以实现256GB/s或512GB/s的超高传输性能。
如果说HBM2只是寻常的改良升级,Vega存储架构的真正革命之处在于,它对显存控制器进行全新的设计,并称为HBCC(高带宽高速缓存控制器)。HBCC除了连接前面说的HBM2集成显存外,还可以连接显卡PCB上放置的SSD、网络存储等多种形式的基片外存储部件,而它的寻址能力高达512TB!开发者可以像使用显存一样直接使用这些部件,而HBM2显存此时则作为GPU与外部存储单元的高速缓存来使用—我们稍稍转变一下思路,将VegaGPU视作是传统的CPU,显存就是内存,外部存储就是硬盘,很简单就会得出结论:基于Vega的计算卡不只是显卡、同时还是一部独立的计算机,这显然是为通用计算和认知计算所准备。
几何渲染引擎:更灵活、更快速
几何计算是3D渲染的基础,在AMD的GPU中,几何渲染还是由固定的几何着色引擎来完成。专属硬件的优点是运行效率高、速度快,缺点是硬件处理缺乏灵活性,每一次几何计算都必须机械化地执行,而很难进行优化。
我们举一个例子,右边两张图片分别是PC游戏《杀出重围:人类分裂》中的巨像之城(Golem City)的场景和该场景的几何线框图。AMD介绍说,这幅场景有多达2.2亿个多边形需要进行计算,但最终输出的画面其实只有0.02亿个多边形,也就是大多数的多边形,其实都是后台计算、不需要被显示出来,但它们耗费了超过98%的计算资源。
有鉴于此,越来越多的开发者抛弃了传统的几何单元,改用灵活的计算着色器来进行几何处理—通过对算法的优化,可以将大量的中间计算省略,达到节省硬件资源、提高游戏性能的目的。
AMD在Vega架构中,也引入了这套机制—VegaGPU的几何流水线中新增了名为Primitive Shader(图元着色器)的新型计算单元,这个新的着色器可以舍弃大量的无效几何计算,从而精简、快速地完成任务。AMD的最终目标是彻底抛弃传统的几何单元、以这套灵活的着色器来代替它。
此外,为了持续提升几何处理性能,AMD还引入了名为“Intelligent Workgroup Dostributor(智能工作组分发器)”的计算单元,它可以支持更多的着色器引擎,并且可以根据负载情况智能地在各引擎间分配几何计算任务。而当前AMD的GCN架构最多只支持4个几何着色引擎,没有增强的潜力。而即便在同样4个着色引擎的情况下,Vega GPU每周期也能处理11个多边形、相当于现有产品的两倍。
下一代像素引擎
Vega的像素着色引擎同样进行大量的优化,AMD将它称为Drawstreaming binning rasterizer(简称DSBR,渲染流分仓光栅器)。
DSBR引擎在执行效率上获得质的飞跃,我们知道,复杂的3D画面,需要进行大量的渲染,而其中绝大多数的工作都是位于后台,真正展现出最终画面的有效渲染只占据极小的部分—这与我们前面说的几何渲染类似。之前AMD GPU对此并没有很好的优化,都是直接进入到渲染环节。而DSBR引擎则对工作流程作了优化:它会先在一个高速缓存中对3D场景给定的对象预先处理,然后GPU清空掉这个缓存、再拾取起其余的数据。而DSBR就可以让GPU抓取出有效渲染和非可视像素的无效渲染,并将无效的渲染操作省略掉,只专注于可视部分的像素渲染。
换言之,DSBR并不直接提升硬件的能力,而是通过削减无效渲染、减轻硬件负担,同样达到提升像素渲染性能的效果。这套机制同时也意味着,节省功耗、降低发热量,具备更高的性能提升潜力。
为配合DSBR的运作,AMD对Vega的缓存架构进行重大改进,GPU的后端单元可以直接访问到片上的二级高速缓存,数据的访问、操作动作直接在此实现。而传统的GPU中,纹理和像素的内存读取操作并不一致,比如渲染纹理操作时,数据要先写到显存中、然后再被读取到纹理缓存里,也就是每一次数据都要来回搬动、效率低下。而如果开发者要执行纹理、像素同步渲染时,程序指令与硬件工作流程就会出现冲突,增加了编程的难度。显然,Vega的改进要渲染流程简单了许多,大量的数据访问都可以在片内二级缓存高效率地完成,对性能的增益显而易见。
不过,DSBR只是Vega像素渲染的一个可选项,实际的任务还是根据游戏的情况来完成,有的游戏还是对传统架构进行编程,那DSBR暂时还无用武之地。但对支持该特性的新游戏而言,DSBR可以带来显著的效能提升。
NCU:下一代计算单元,为深度学习优化
单精度和双精度计算应用于3D渲染领域,但诸如深度学习等计算任务并不需要用到,它们只需16位半精度浮点计算操作就行。AMD现有的Fiji和Polaris GPU中没有考虑到这一点,它的半精度性能与32位单精度性能是一样的,而半精度计算需要的寄存器资源却少得多,也就是说AMD没有对此作优化。与之相比,英伟达的Tesla 100加速卡,半精度性能就达到双精度的两倍,这让它在通用计算中占据性能优势。
为此,Vega GPU中首度引入了名为“Packed(紧缩)”的半精度计算支持,Vega的微架构被称为“NCU(下一代计算单元)”,每个NCU中拥有64个ALU,它可以灵活地执行紧缩数学操作指令,如每个周期可以进行512个8位数学计算,或者256个16位计算,或者128个32位计算—这不仅充分利用了硬件资源,也大幅度提升Vega在深度学习计算的性能。
Vega GPU的性能推算
Vega的架构改进,给业界带来很大的想象力,但它的性能究竟能达到何种级别,还是存在很大的悬念。虽然基于Vega GPU的显卡尚未发布,但AMD在去年12月份却带来一款Radeon Instinct MI25计算卡的消息,它所搭载的就是Vega GPU芯片。
Radeon Instinct MI25计算卡针对深度学习领域,GPU中直接集成了16GB容量的HBM2高速缓存(对应显卡则是显存),卡上另外还集成了1TB容量的NAND闪存,海量的计算数据可以直接放在这块存储器中,而不必经过系统内存再到传统硬盘上,由此满足大计算量所需的高速交换需求。M125的16位半精度浮点性能达到25T FLOPS,而用于3D渲染的32位单精度浮点性能也达到12.5TFLOPs,与之相比,目前AMD的主力显卡RX480的单精度浮点性能只有5.8TFLOPs—我们可以简单得出这样的推论,Vega GPU的3D渲染性能,理论上将能达到目前RX480显卡的两倍左右。
而在Radeon Instinct MI25的发布会上,AMD同样展示了基于Vega GPU的下一代Radeon显卡的测试成绩,AMD在现场使用《DOO M2016》进行了演示,游戏配置为4K@60Hz分辨率、Ultra画面。这块显卡的显存只有8GB容量,在实际测试中,游戏帧数达到60~70fps的性能,整体相当于NVIDIA的GTX 1070、1080之间。考虑到展示卡是早期版本、规格也不高,能达到这样的性能足以让外界振奋,这让我们想到图形双雄并立的美好时光。
Radeon Instinct平台:Vega进军深度学习市场
AMD对Vega GPU在图形领域的实力秘而不宣,但在吹风会上,它将Vega的应用重点更多放在机器学习领域。为此,AMD专门发布了新的AI计算子品牌“Radeon Instinct”,该平台包括硬件的加速卡和ROCm软件平台,我们前面提到的Radeon Instinct MI25计算卡就是加速卡中的旗舰型号。ROCm软件平台更为我们所关注。
我们知道,NVIDIA占据通用计算市场,除了Tesla加速卡在硬件性能方面的优势外,更重要的它提供了软件解决方案,借助它的方案,开发者能够编制出相应的Tesla加速程序。由于Tesla在并行计算应用中比传统的CPU优势巨大,方案一出就快速获得业界的接受,并成为事实上的市场热门标准,以至于英特尔都无法在密集计算市场与之争锋。NVIDIA现在将他们的GPU定位于AI、神经网络的首选的计算平台,并开始转型将自身定位于AI计算公司,而不是单单停留在传统的游戏显卡市场。这对于AMD显然是非常大的刺激,现在AMD也想在该AI计算获得突破,那么光靠Vega平台的硬件实力显然不行,ROCm软件平台的出台就是为了解决开发环境支持的短板。
ROCm的全称为“Radeon Open Compute platform”(意为Radeon开放计算平台),它包含程序编译器、程序语言运行时态,并对CU DA应用提供兼容支持,借助这套平台,开发者能够选择自己已熟悉的程序语言、快速开发出对Radeon Instinct计算卡优化的程序。ROCm的编译器已支持多个GPU—无论是单卡多芯片还是集群中数量庞大的多计算卡,它都能够提供支持。这样,开发者就不必受到硬件的限制,只要借助ROCm开放平台进行编制程序,就可以无忧地在Radeon Instinct加速环境中获得支持。
此外,AMD还专门开发了MIOpen对象库,它与C++STL、NCCL等程序库类似,方便开发者直接调用,降低编程的难度。AMD宣称,借助MIOpen库,MI25计算卡的性能,可以比NVIDIA的Pascal架构Titan X快出30%—而Titan X是NVIDIA最顶级的型号。
与NVIDIA相比,AMD虽然作为深度学习市场的后来者,但它有着整体平台的优势—基于Zen架构的“Naples“(那不勒斯)服务器处理器拥有多达32个内核、64个线程,双插槽可以提供64内核、128线程的顶级实力,配合Radeon Instinct加速卡可以提供一套顶尖的整体解决方案。如果Zen架构在服务器市场获得成功,那么也将对Radeon Instinct平台起到正面的带动作用,反之亦然。
当然,AMD在短时间内无法实现这一目标,作为后来者它已经落后太多,几乎所有的AI方案都基于NVIDIATesla平台和英特尔的72核至强融核Xeon Phi处理器,角逐深度计算市场。有趣的是,由于英特尔缺乏高端图形技术,很大程度上其实可以考虑选择与AMD进行合作,这三家处理器企业又将新时代、新领地开始三国演义。
前瞻
Vega架构的出现,正如Zen架构之于微处理器一样,给AMD准备了重新上阵的弹药。现在,只要它能够快速地推向市场,就有机会挽回颓势,逐渐回到双雄并立的格局。同时在游戏市场,Vega GPU的推出也将给玩家带来新的选择,尤其是锐龙Ryzen系列处理器成为大热选择的情况下,双A方案看起来是比较靠谱的。
AMD不吝于展示自身在AI计算领域的野心,这个领域不同于游戏,如果Vega能够展现出强大的性能实力,那么AMD就很有机会获得突破口;反之,如果它的性能与对手有明显的差距,那么光靠成本的优势,也很难让它有大的作为。按照计划,Vega显卡将在今年中期发布,相信不久后大家就能看到显卡的上市。为了品牌继承性,Vega GPU依然被归入GCN架构,但它其实是全新的架构体系,跟前几代GCN并没有太大关系。我们希望GPU市场重新出现充分的竞争,丧失竞争的结果大家可以看到,无论CPU还是GPU,计算性能都将止步不前。
文/张健浪