最近AMD在2020年财务分析师大会,宣布让人极度讶异但也不会太意外的“双轨化GPU发展路线”:在GPU“泛用化”基础上,“游戏优化的RDNA”和“运算导向的CDNA”分道扬镳,“体内DNA不同的”兄弟登山,各自努力。老对手nVidia这几年来也是分开专业与游戏GPU,但也没有夸张到“让上一代架构继续枝繁叶茂”。
更讽刺的是,CDNA并非“全新GPU架构”,而是回头继续发展第四时代的“南方群岛系列”CGN绘图核心,这重大决定象征2006年7月购并ATI的AMD,融合CPU与GPU的“Fusion”与昔日GPGPU大战略的野心终结,以及AMD对市场局势的致命误判。
当“运算”和“游戏”分而治之:GCN的Vega与RDNA的Navi
套用现在市面产品,RDNA和CDNA说穿了,分别是AMD现行同为台积电7纳米制程的“Vega”(织女星)和“Navi”(仙后座),分属第四时代的GCN(Graphic Core Next)与第五时代的RDNA(Radeon DNA)。GCN从2012年到2019年,制程横跨28纳米、14纳米、12纳米到7纳米,演进5个版本,唯一共同点只有从未实质威胁到nVidia的GPU霸业。
这两者的设计理念也大相径庭,GCN是“追求GPGPU的泛用理想”而“Easy To Program For Performance”,“让ATI Radeon的游戏基因再度伟大”的RDNA则是“Easier Achieved Performance”,一个让你写程序做自己想做的事情,另一个让你玩游戏不需担忧性能不足,差异不言可喻。很久以前就不乏“GCN为运算而生,不太像为了游戏的架构”的说法。
7纳米Vega的弦外之音
2019年2月发布台积电7纳米制程“Vega 20”核心的Radeon VII,距离预定的全新Navi不到半年,外界第一时间会联想到的可能性,大致如下:
但Vega 20相较三星14纳米制程的前代,有了飞跃性改进:
顺便一提,Navi跑OpenCL不但没Vega快,连Navi核心的RX5700XT还跑输GCN4时代Polaris(北极星)核心的RX590。这些都是Vega即将“转换”纯运算应用的强烈信号。
至于先前随着MacOS测试版大量泄露的AMD GPU代号与近来流窜坊间的谣言,也间接透露AMD的“双轨共构大计”。
- “全新CDNA”的“Arcturus”(大角星):台积电7纳米+(EUV)制程,晶粒面积应该会大的恐怖,实际上的第六代GCN架构,核心规模高达128组CU单元,SP单元更会多达8,192个,32GB HBM2E内存,最大理论运算能力约为26TFlops(FP32)与105TOPs(INT8)。Infinity Fabric的多GPU延展性,将是反攻超级计算机市场的关键武器,但能否像nVidia具备人工智能需要张量(Tensor)运算单元,就不得而知了。
同场加映“好相好”nVidia下一代“Ampere”的旗舰芯片GA100的谣传规格:台积电7纳米+(EUV)制程,晶粒面积是惊世骇俗的826mm²,核心规模高达128组SM单元,SP(CUDA Core)单元8,192个,前代2倍数量的张量运算核心(Tensor Core),48GB HBM2E内存,最大理论运算能力约32TFlops(FP32)。
先不论AMD“两颗打一颗”的策略是否有奏效,但唯一可确定的是,AMD已用实际行动,承认投资多年的GCN无力兼顾游戏市场,也没顾好原先锁定的应用,这些问题的种子,早在AMD购并ATI时就已种下,还绽放出如红火鲜艳的灾难之花。
AMD对Fusion的怨念注定一连串乱局
2006年耗费54亿美元购并绘图芯片巨头ATI的AMD,不但仿照拥有低功耗小核心Atom的Intel,同时研发两种应用截然不同的x86 CPU核心,并很快就以融合CPU与GPU的“Fusion”为未来战略主轴,APU(Accelerated Processing Unit)则是成果──虽然一开始就出师不利。
AMD公开Fusion大战略时,刚好是英特尔对AMD发动帝国大反击的关键时刻,或多或少让人感觉到AMD大事不妙,但因仰仗K8的丰功伟业而让AMD的CPU“余威犹存”,nVidia没有x86 CPU,Intel绘图核心的性能和技术有多糟糕就更着毋庸议,所以当时外界普遍看好AMD结合自家CPU与ATI GPU的高性能单芯片解决方案,更吸引了众多投资者目光。
隐藏在Fusion战略背后的是AMD更巨大的野心:让走上泛用化之路的GPU,成为AMD无法被撼动的绝对优势。试想一个场景:假若GPU足以在现实生活的应用,完全取代现有CPU的浮点运算,甚至某部分整数运算,又和CPU融合为一,这天大的好事一旦发生在2010年初期的AMD,那英特尔和nVidia真的都要闪一边去了;也因此AMD拼命鼓吹“异质运算”(Heterogeneous Computing),吹得很大很用力,企图创造“CPU与GPU共同的胜利”。
这也是AMD在后K8时期的x86处理器架构转向集群多线程(CMT,Cluster-Based Multi-Threading)的深层缘由,两个简单的整数运算核心共享一个“模块化”浮点运算单元,一方面拼账面核心数量,另一方面假以时日将浮点运算器“狸猫换太子”成万事皆备的GPU,Fusion大战略就此功德圆满,鸡犬升天。
从享有中间位置的地利之便变成两头皆空
AMD 2020年财务分析师大会再度扶正的GCN,是在这个时代背景下诞生的产物。
2009年底到2010年初,正是喊了很久的GPU泛用化侵入CPU领域的第一步:支持IEEE 754浮点数规范。但旧有ATI体系的第三代TeraScale,超长指令集(VLIW)架构的程序真的比较难写,已证明无力在GPGPU抗衡“引领nVidia GPU更大幅接近主流泛用CPU的Fermi”,源自纯正AMD血统、多线程SIMD化的GCN自然是理所当然的救世主,然后2012年初登场就被nVidia的Kepler华丽打爆,从该蹶不振。
备多力分的AMD也开始在执行面诸事不顺,集群多线程的推土机(Bulldozer)核心一再延误,让初代APU“Llano”只能沿用老旧的K10核心,而集成的GPU也是性能不太够力的旧时代TeraScale 2,导致倍受期待的Llano沦为市场定位不上不下、高不成低不就的尴尬产品,不仅让AMD在2012年第二季营收下滑、股价下跌,第三季被迫打消价值高达1亿美元的Llano库存呆帐,演变成不甘利益受损的投资者群起控告AMD,最后AMD花了2,950万美元补偿投资者损失的悲惨结局。
后面接连数年的剧情就如各位所见,无论CPU还是GPU,AMD就被英特尔和nVidia一路狂扁到2018年,像德国一样在欧陆享有“中央位置”地利之便的AMD,反而弄巧成拙遭两面夹杀。
更重要的是,GPGPU的软件生态系统统迟迟没有增长到AMD十多年前乐观预期的水准,加上英特尔积极扩张SIMD指令集(最具代表性的是2011年Sandy Bridge的AVX)稳定提升x86 CPU的浮点性能,“GPU越俎代庖,替换CPU的浮点运算器或大部分功能”根本毫无美梦成真的条件,当下保证网络浏览器能有效借由GPU加速就不错了。
这年头“会做很多事情,有多重专业”的“斜杠”是非常流行的“激励斗志的心灵术语”,但不是每个人都有本事画出那条斜线,角度一没抓好,就变成“删除线”了。
内存带宽仍是GPGPU性能的瓶颈,尤其是AMD
相信不少人一看到AMD的双轨化GPU路线,马上想到的第一个主因是“两边用的内存不一样,一边HBM、一边GDDR,nVidia目前计算用主力产品Volta也是HBM,人工智能推论仍是GDDR6的Turing”。
在GPGPU进入平常百姓家的漫漫长路,“每个运算可分配到的内存带宽稳定下滑”一直是看不见的痛,高性能浮点运算和人工智能也同,要提高性能,绝非增加几个矩阵计算和人工智能特化导向指令那么简单,带宽不足就发挥不出性能。相对于增加指令多占用的执行单元布局空间,运算可用带宽的配套措施,会更让GPU厂商感到头痛。
高性能浮点运算或深度学习专用的GPU势必搭配HBM内存这件事,Google自家TPU就是最好例证。如果用不起昂贵的HBM,只能亡羊补牢,从GPU内部的缓存内存架构压榨出一丝一毫带宽。AMD在Navi的缓存内存大兴土木,原因就在此,过去所有历代GPU,这部分更是不可或缺的重头戏。
不过一说到内存带宽这档事,不禁让人回忆起nVidia早从2004年NV40时代,内存控制器就内置压缩传输功能,相关技术持续推陈出新,并据闻都已申请专利。以往十几年,AMD的GPU要达到相同性能水准所需的内存带宽,都比nVidia高出许多,这难道就是“这些年来,我们一起纳闷不已的怪现象”之完美解答吗?绝对不是,应该不是,也许不是,希望不是。
看不见的商业现实:内存“期货”的潜在利润
优秀技术不见得见容于商业的现实,显卡用的内存当然也是。
AMD早在2015年就在第三代GCN的Fiji(Radeon R9 Fury X)率先在GPU导入HBM,后来也在第五代GCN的Vega放了HBM2,看在内存饥荒方兴未艾的份上,应可合理预期越来越多GPU与HBM“送作堆”。但这些年来也未见HBM比较普及,连nVidia也将HBM限定在高端计算用产品,除了成本和产能考量,“挡人财路”恐怕也是主要因素。
这年头价格起起伏伏的内存早就成为某种形式的“期货”,内存的涨跌价差也是显卡厂商可通过采购策略取得的获利来源,当GPU直接包内存,就等于斩断这条赚钱渠道,产品也难以做出差异化。换言之,唯有包装成高单价利基产品的运算卡,保留更多利润给客户,才能有幸一亲芳泽,AMD硬推HBM绘图产品就显得相当一厢情愿,或可视为对市场生态的错误判断。
总之,假如连CPU也没机会雨露均沾,看来将有很长一段时间看不到HBM出现在一般个人计算机内部,也没可能看到“像Radeon R9 Nano或Vega 56 Nano这种可塞入Mini-ITX专用机箱的超小型旗舰级显卡”,真是可喜可贺。
双轨放两边,应用摆中间,Fluid Motion就这样死透了吗?
总之,AMD想搞多少条轨道建设,外人无从置喙,但倒是有两件事值得大家多多关注:
(首图来源:AMD)