杀不死的GPU

杀不死的GPU

刚过去的八月里图形游戏业界hin热闹,最高专业盛会Siggraph刚在温哥华胜利闭幕,紧接着科隆游戏展。这可忙坏了我们可敬可爱的NV话事人,GPU大佬,两弹元勋,黄教主,老黄--黄仁勋。秉承每逢盛会扔核弹的优良传统,老黄跨越万里,连续两场高强度keynote演讲。55岁的他身着标志性的黑色夹克战衣,全程火力输出,游刃有余。让人叹服世间还是有不会被油腻被枸杞茶养生杯腐蚀的大英雄。

辛苦归辛苦,老黄心里绝对美滋滋,世界首创的光线追踪(Ray-Tracing)GPU连续占据了专业和消费两大市场C位。针对专业用户Quadro RTX产品线中,最顶级的RTX 8000 GPU一块卖整一万美刀,老黄还觉得卖得太便宜,称之为”steal”。而在游戏领域,NV凭借2016发售Pascal架构的1000系列显卡已经占尽优势,此番GeForce RTX 2000系列一出,更是一骑绝尘,唯一的竞争对手AMD能否在年内拿出稍稍能打一点的竞品也是未知。看现在老黄躺GPU聚宝盆里数钱到手软的好日子,有谁能想到就在十年前,NV的形势还是岌岌可危,在英特尔发动的灭国绞杀战中风雨飘摇,甚至连GPU的未来都蒙上了一层阴影。

自从微软和英特尔羽翼丰满,取代曾经的带头大哥IBM后,PC生态圈泾渭分明,软件以微软马首是瞻,硬件上英特尔几乎说一不二。道理很直接,大部分PC中的组件都是围绕着CPU这个核心转,不是帮CPU处理I/O这些周边工作,就是最终仰仗CPU才能完成计算任务。掌握了CPU,真的就可以为所欲为。英特尔曾经连续数代CPU更新换代的的同时更换接口设计,针脚数在1150,1155,1156,1366间翻来覆去。而高端型号又单独搞一套,同一代不同层级的CPU之间接口不兼容,不同代的处理器看着针脚数一样还是不兼容。用户要购买升级CPU都必须同时投资搭载了相应芯片组的新主板,英特尔一鱼两吃,日子过得悠哉悠哉。

偏偏这样的舒心日子,有人要来从中作梗。曾经众多PC组件中不显山不露水一员的显卡,本质公职也就是把CPU计算结果显示到屏幕上,突然遇到了大贵人。随着图形应用和游戏的发展,老黄正式打出了GPU这一名号。纵使形状上还是一块卡,GPU在PC整体计算能力中的比重和地位突飞猛进。随着PC市场整体停滞不前,游戏PC成了增长最客观的细分市场。玩家的更倾向于将资金投向GPU,经验证明GPU才是保证良好游戏体验的第一干将。整机配置中,GPU价格超过CPU和主板的总和已是寻常,发烧玩家使用多路GPU来追求最逼真的画面,最流畅的舒畅也是不计成本。

如果只是收入上的竞争,英特尔还不会当作心腹大患,毕竟一小撮游戏PC帆布聊天。真正让英特尔如坐针毡的是老黄扶GPU上位取代CPU成为主要计算引擎的大图谋。2007年NV的GPU通用计算框架CUDA一登场,就开始向英特尔的传统领域发起进攻。先是宣称视频编码速度比英特尔最顶级的CPU还要快上10倍。又提出游戏中碰撞检测等物理计算使用GPU加速后,更是把CPU甩在身后。天命注定,当时英特尔和NV各自收购了游戏物理计算引擎中的两个领头羊公司Havok和PhysX。这两家物理引擎的最重要区别也就在PhysX从一开始也是采用专用计算器加速的思想。原本的冤家都有新老大撑腰,一时间嘴炮横飞,激战连场,甚至于出现了某英特尔VP指名道姓要教教老黄数学的经典战例。

个人用户能从GPU计算收益多少的嘴炮没听,英特尔高性能计算的自留地已经被CUDA强挖了墙角根。在超算领域,软件兼容性,界面,并行编程的复杂度这些都不是大问题,或者自有高人搞定,GPU这样能够平行处理大量暴力浮点计算的狠角色实在太投缘了。很多专用的计算软件在将核心计算移植到CUDA后确实立刻得到了戏剧性的性能飞跃。各大超算方案纷纷倾囊购买大量的GPU和原先的CPU阵列组成混合方案。

英特尔渐渐感受到来自老黄的强大压力。这位公开场合穿黑色皮夹克远多于西装革履的,看着更像摇滚重型机车票友的大佬,对核心计算技术的热情,对远景的把握,在当今的科技圈少有人及,倒是透老一辈硅谷科技狂人的独特气质。英特尔恐怕之前还没有遇上过斗心如此之盛的对手,如何应付当时需要细细思量。

兵来将挡,水来土掩,用自己的GPU将NV的GPU打垮,英特尔不是没有想过。毕竟之前英特尔也曾经发布过唯一一块独立显卡i740,虽然不叫座,技术水平还是不逊色的。不过英特尔有更大的想法,你要用CUDA废我的高性能计算,我就要用自己最擅长的X86灭你满门。英特尔启动的Larabee项目,就是将众多经过优化的X86核心到一块处理器(manycore)上,这样宝贵的X86指令集就能助阵,理论上很多软件只要稍作调整就能坐享大规模平行加速的。而GPU做的核心工作—渲染,也可以顺理成章的作为一个软件在Larabee硬件上实现。到时谁还会用诘屈聱牙的CUDA?

只可惜,Larabee项目进行了每一年,英特尔就意识这个项目的规模和难度超出预计。以X86指令集为底本设计出能够大规模并行的众核处理器已经够棘手,现代图形库的微妙和繁多的特性,也令原先做显卡只不过是实现一个Larabee软件渲染器的豪言壮语变得不切实际。英特尔不得不放弃做在Larabee上构建GPU的计划,而将方向完全转移到了高技能计算上。之后催生的产品Xeon Phi命运如何按下不表,正面击败NV GPU的原定计划就此泡了汤。

杀不死的GPU

正面进攻失利,英特尔不得不再谋奇招。风云际会,PC生态圈其他三家主要的芯片厂商正刚刚做了一轮大洗牌。早先对于英特尔借事实垄断明里暗里频繁使用超市场手段挤压其他厂商的做法,CPU二号厂商AMD和GPU老大NV可谓同仇敌忾,并肩抗战。技术上两家也有良好互动,NV为AMD处理器设计的多款主板芯片组风评颇佳,不当给AMD的宝马处理器配上了好鞍,NV自己也额外赚点零花钱,气氛融洽,其乐融融。

当AMD看出了GPU的潜力后,事情逐渐变得微妙。以英特尔的资源和基础,搞GPU尚且到处碰壁,对于规模中等不尴不尬的AMD,最见成效的方法自然是收购或者合并。江湖传言,有那么一段时间,AMD和NV郎情妾意,谈判颇有实质进展。可到了谈未来主导权的阶段,大问题来了。当时AMD在处理器摸爬滚打多年,英特尔的霸权是撼不动,当个PC硬件届的二哥,反抗军总盟主还是够格的。AMD的资历,地位都胜过NV一筹,市值也高,合作芯片组也是AMD主导。按惯例,合并后用那块金字招牌暂且不论,头把金交椅总该由AMD当家鲁毅智(Hector Ruiz)来坐。可NV的当家是谁?天纵奇才兼具王霸之气啊的老黄,要让他把自己一手创建的宝贝NV拱手相让,也无怪乎很快AMD和NV就分道扬镳。

AMD一统CPU和GPU的千秋大业不能停手,市面上剩下的选择也只有GPU老二ATI了。在砸锅卖铁,背负巨债后AMD终于得偿所愿,一举收购了ATI。这笔收购干得虽然豪气干云,在财务上却多少有点谋事粗糙,行事鲁莽之嫌。未来几年,AMD不得不违背创始人Jerry Sanders的祖训“真男人要有圆晶厂(Real men have fabs)”,甚至一度学习索尼卖园区,卖大楼以缓解财务压力。此为后话暂且不表。此时,已将CPU和GPU同时收入囊中的AMD,立刻和已是直接竞争对手的NV撇清关系,将之前芯片组授权收回。

AMD的操作给了正要给NV一点颜色看看的英特尔灵感,别看老黄整天叫嚣GPU并行计算是未来,眼下不也还从英特尔处理器的配套主板芯片组上捞金吗?这种吃饭砸锅的行为自然要严加惩戒,英特尔也取消了对NV的主板芯片组授权。NV曾经滋润稳定的芯片组业务就此被连根拔起,由此又引发了双方一系列绵延数年的专利官司。最终以英特尔分期支付15亿美元给NV而告终。这笔钱于英特尔固然只是毛毛雨,对于NV整条业务被大卸八块之痛也于事无补。英特尔初战告捷,之后就要对独立GPU亮出真正的王牌武器了。

盘点了GPU市场,不论NV还是AMD,真正走量的总是玩家俗称“亮机卡”的入门级GPU。顾名思义这些GPU的主要用途并没有超过古早显卡太多,能将连接显示器输出图像就完成了九成的任务,当然偶尔用来玩个植物大战僵尸之类的休闲小游戏也还能胜任。正是这些大量装载于商务办公机家庭上网机的入门级GPU带来的利润支撑了NV和AMD研发那些真正的性能巨无霸。英特尔计上心来,如果能釜底抽薪,干掉入门级GPU市场,GPU成为未来计算王者的梦想就只能成为空中楼阁。

英特尔做中高端GPU不在行,弄个入门级亮机卡还是有把握的。更毒的是,英特尔不但要做显卡,还要免费送给用户。从Nehalem架构开始,英特尔启用了新的CPU品牌Core i3, i5, i7,分别对应入门,中断和高端产品,同时逐渐在各级产品中封装了集成GPU。用户想要买不内置GPU的英特尔处理器,还得花费额外费用购买K系列发烧级产品。对于入门级用户,买CPU白捡一个能够满足功能需求的显卡,何乐不为。这记本垒打轰出,GPU市场的局势果然如英特尔预料发展,NV和AMD的入门级产品销量大幅下降,英特尔反而成了最大的GPU厂商,份额远超NV与AMD之和。

这样商业成功的策略却不乏令人诟病之处。同样是整合GPU和CPU,英特尔着眼点在于打击对手市场,初期并没有AMD APU那样将计算最终无缝融合的长远计划。对于中高端用户来说,挤在CPU里性能受限的内置GPU难堪大用,终究需要购置独立GPU。而在英特尔最新处理器中,大部分芯片面积都已经贡献给了GPU。要说这些所谓白送实际却用不上的微电路没有增加额外成本,说服力欠奉。更糟的是,GPU终归是英特尔计算战略中的二等公民,这样态度下催生的英特尔GPU驱动质量可想而知。主流的图形API DirectX和OpenGL的新版本,英特尔的更新支持不但总是来得慢一拍,新特性还经常实现不完全,错误众多。图形程序员每每在程序、游戏发布后看到不少英特尔平台独有的bug,将自己花费大量精力来除错调优才得到的精美图像以滑稽荒诞的方式呈现在屏幕上,当时的心境可以说是很崩溃了。

杀不死的GPU

英特尔的内置GPU的种种不是先放一边,失去了入门级市场的利润,AMD和NV都承受着重压。举债收购ATI带来了沉重财务负担,让AMD手忙脚乱。卖掉圆晶工厂还能自我安慰是跻身于fabless的新潮流,慌不择路地将移动GPU部门卖给了高通就只能感叹造化弄人了。CPU两强几乎同时以相似的方式错过了移动处理器的大party,高通却成了移动时代首个CPU和GPU的全能大赢家,闷声发大财。两线作战的AMD在CPU上难以追赶英特尔,在GPU市场上也要和NV浴血搏杀,形势岌岌可危,接任鲁毅智的Dirk Meyer能做得也只有小批量地持续不断地变卖资产和裁撤员工。这也未能挽救AMD飞流直下的股价,不少优秀的资深员工眼看着薪酬中占比极重的RSU, ESPP等股票奖励极速缩水,只能跳船自保。

局势动荡,寄予厚望的融合计算APU也未能兑现预期。在CPU的绝对性能已是短板的情况下,AMD的异构计算系统架构(HSA)将重点放在了统一虚拟内存等技术,期望能降低GPU和CPU的数据交换带来的瓶颈,以总算力决胜负。而要充分发挥这些强力新特性,离不开软件的支持。英特尔在编译器、底层优化工具上挥金如土,NV从确立CUDA的核心战略甚至更早之前,一直是软硬协同作战的典范,甚至业界一度有“NV是家软件公司“的戏言流传。AMD虽然不时有诸如Render Monkey等深受图形程序员喜爱的经典工具,系统级的规划却有些含混不清。支持APU的新特性的代码花了不少时间才进入了Linux内核,AMD也没打造出NV CUDA这样的计算平台,而选择将宝押在后起的开放标准OpenCL,铸成大错。

怎么讲,难道标准开放还有错了吗?关于CUDA和OpenCL的恩恩怨怨,鹿死谁手,又有一大坨八卦可聊。OpenCL的拥趸喜欢来来回回两句话“开放标准”,“很优美”来论证OpenCL必胜。不是天师喜欢怼人打脸,非要把别人前几年的雄文挑出来逐条批判,不过能对GPGPU整体发展态势视若无睹,写下“CUDA越来越不被看好,所以NVIDIA索性把CUDA发布为一个开源项目,并把CUDA架构在LLVM之上。这和OpenCL近几年的走强有很大关系。”这样四个分句都错的判断,天师也只狠嘴炮届高人辈出。

在业界混久了,对开放标准这个东西就多多少少有些免疫力。有些固然是共襄盛举,另外一些标准从源头就是各路厂商各有短板,各怀鬼胎,最后没办法只能取个最大公共子集,大家都可以扯个虎皮做大旗,缓步前进,谁也不伤面子。即使标准初创时有大愿景大目标,不多久就有动机不纯的厂商挤进来看看你们这帮坏人是不是又在动脑筋整我,真猜中了,赶紧把水搅浑,从内部崩坏堡垒。OpenCL的标准委员会里面究竟是什么体验,天师没有第一手资料不好瞎说。天师就举两个栗子,OpenCL的发明者Apple从来没有在iOS上向应用开发者直接开放过OpenCL框架,有好事者将私有OpenCL框架破解使用,也只能调动CPU计算力,GPU依旧一潭死水。而在昨天刚刚更新的Mac OS Mojave中为了力捧自家的Metal框架,OpenCL和OpenGL被一锅端进了废弃站。连龙头老大都这样背信弃义,AMD的APU能获得多少助力不问可知,一时间APU好像和英特尔的内置GPU的core系列也没什么不同,GPU强点有限,和中端独立GPU刚正面最多不过打个平手,CPU差得又有点远,市场位置很尴尬。

万幸自助者天助,各路大机缘汇聚,AMD赢得了一个全新的市场—游戏主机处理器。为什么说机缘际会,首先就是天时,2008年的全球经济危机迟滞了主机市场更新换代的节奏,APU的诞生恰巧挤进了索尼的PS 4和微软的Xbox One的研发周期。而CPU和GPU通力合作对游戏主机厂也不新鲜。早在GPU名号还没被老黄打响时,传统的自高自傲的日系主机厂对下里巴人的PC硬件架构基本是瞧不上眼,偏爱的是各种奇技淫巧的定制自研系统。PC图形工程师绞尽脑汁做draw call优化,而在更古早的PS 2上,在中央处理器和图形处理器之间架设了快速通道,哪怕一个一个三角形地画都有办法不拖累性能太多。APU的设计理念颇对主机届胃口,主机厂又一向有从底层亲力亲为的优良传统。当年PS 3表面使用的开放标准的OpenGL ES 1.0作为图形开发库,实际上就构建在更底层的私有GCM库上。软件平台不完备的缺点根本不叫事,大不了老子从汇编,从驱动开始撸。

那么主机厂为什么会彻底放低身段,采用和PC基本相同的架构呢?大势所趋,长年的经济衰退加之PC浪潮席卷全球后,曾经特别喜欢在电子硬件上搞独立王国的日本已底气不足。PS 3的RSX图形处理器就魔改了NV的7900 GPU,微软从世嘉接收了相当多的主机开发资源后上阵的第二作Xbox 360也选择了ATI定制Xenos GPU,毕竟市面上还能设计顶级GPU的也就NV和ATI两雄了,必无分号。偏偏PS 3和Xbox 360间的主机战争打出一个不咸不淡的鸡肋局面:老霸主索尼模拟地球的调门起得太高,所用的Cell处理器思想超前,除了CPU和GPU,又带了个拖油瓶—协处理器SPE,软件厂商费时费力才吃透性能,模拟地球的笑话成本有点太高,市场已被Xbox 360扫荡了一轮。而微软奋两世之力总算是略赢索尼一阵,却不想枪车球的三件套后劲不足,最终次世代的赢家居然是性能平庸以体感取胜的任天堂Wii。再之后,移动互联网兴起,微软被各路科技新秀衬托得老态龙钟。曾经的智能手机二分天下的Windows Mobile和诺基亚,先是亲儿子Windows Mobile被玩坏,再收了诺基亚做契弟,结果又玩成渣。微软不得不考虑收缩战线,移动市场败局已定,先守住桌面软件大本营,云计算上再决胜负,这游戏主机好像油水不大,要不要继续加大投入真的要再思量思量。这边,索尼的移动等业务也是屡战屡败,忙着卖大楼。加上偷鸡成功不思进取的任天堂,游戏主机三强似乎默默达成了共识:下一代的游戏主机不需要也不可能再以顶尖PC作为性能标杆,能够和中端PC性能持平,辅以更直接精准的优化和第一方大作也足够维持主机游戏的魅力了。于是CPU尚可,GPU不弱的AMD APU作为唯一实际可行的候选人成功入住了PS 4, Xbox One。任天堂本着凡事慢一拍的硬件研发理念在Wii U中搭载了PowerPC和AMD GPU。

杀不死的GPU

杀不死的GPU

杀不死的GPU

杀不死的GPU

杀不死的GPU

杀不死的GPU


分享到:


相關文章: