Larrabee的前景
与当年强力推广RDRAM和奔腾4一样,这一次英特尔又选择了完全创新,也许正如安迪•葛鲁夫那本著名的《只有妄想狂幸存》“Only The Paranoid Survive”所描述的那样,一个繁荣的企业应该生活于忧患之中。不过,虽然创新的、先进的技术是甩开甚至消灭对手的有力武器,但也可能伤及自身。正如一位著名的飞机设计师所说:“我们不能在一架飞机上应用超过30%的新技术,因为那意味着不可控制的风险”。作为一种全新的架构,微软这样传统的API提供者,还有那些游戏开发商能够支持它么?Larrabee是否能够像设想的那样高效?一切还都是未知数,至少它在这一领域的竞争对手NVIDIA和AMD不会乐于见到Larrabee的成功。所幸的是,英特尔太庞大了,它能够经受如同本节开头所提到的那两次失败的打击,而它的对手们只有确保成功才行……一旦Larrabee获得完全成功,英特尔无疑将拥有视觉计算领域的最终发言权。
坚持GPU性能决定论
NVIDIA:以GPU为中心
随着ATI被AMD收购,NVIDIA成为多年前参与图形芯片大战的诸多厂商中硕果仅存的常青树。在视觉计算时代来临之际,NVIDIA认为,GPU才是完成视觉计算的决定性力量,开发新的GPU将是解决计算能力瓶颈的关键。
GPU:计算的决定性力量?
正如前文提及的那样,CPU和GPU担负着不同的任务,如果仅仅考虑按照确定的算法进行浮点运算的能力的话,GPU的表现的确比CPU好得多。此外,各项测试也证明,在应对3D游戏时,选择高性能的GPU比选择高性能的CPU更加有效。如果以GPU为核心来组建视觉计算用的计算机,显而易见的好处就是架构更成熟,用户的接受程度更高,技术风险也更小。此外,GPU也能够对通用计算有巨大的推动作用,这一想法催生了GPGPU的概念。不过,NVIDIA并不满足于GPGPU,而是希望构建一个以GPU为核心的计算体系,而前者说到底,依然是CPU的附庸而已。
CUDA:让GPU懂得通用计算
从2003年开始,NVIDIA开始开发一种基于C语言的软件平台,以替代复杂的Open GL和Cg等API,这个软件平台被称为CUDA(计算统一设备架构)。软件开发人员可以基于CUDA平台开发计算软件,使用这些软件,用户可以用比以往少得多的时间完成计算任务,当然,CUDA也可以用于传统的图形计算。NVIDIA首席科学家David B. Kirk认为,从目前看来,将CPU强行改为适应并行计算和线程编程的架构是“非常危险的”,容易在程序运行的过程中引发大量问题;想把GPU集成到CPU中也如同“将飞机集成到水瓶中”那样难以办到。最佳的解决方案,就是将多核的CPU和多线程的GPU结合起来,让它们各自发挥优势,而CUDA就是二者结合的“粘合剂”。NVIDIA已经确认,未来所有的NVIDIA GPU都将支持CUDA技术,超过5千万台计算机将通过CUDA获得额外的计算处理能力。NVIDIA已经开发了Windows、Linux和Mac OS版本的CUDA平台,并在各大展会中不遗余力地推广。在GPU为中心的思想指导下,NVIDIA于去年6月发布了用于科学计算的Tesla平台,面向有高速浮点计算能力需求的用户。第一批发布的是包括Telsa C870/D870和S870在内的三款产品,分别以单卡、桌面工作站和机架式工作站的形式出现。它只支持CUDA软件平台,并不支持Open GL,因此不能和Quadro图形卡通用,为了适应计算任务的需求,它的纠错能力也得到了相应的加强。当然,Tesla也需要CPU,但在Tesla中,CPU的作用的确是辅助性的。Tesla以及AMD相关流处理器的出现,严重地威胁了传统的工作站和大型计算机的地位,这是NVIDIA从图形计算迈向通用计算的重要一步。
CUDA和Tesla的未来
与英特尔尚未实用化的Larrabee不同,CUDA和Tesla已经逐渐开始被用户所接受。作为一种开放式的平台,CUDA允许用户自己编程,开发计算软件,使用也非常灵活方便,Tesla更是可以从每次GPU的升级中获得好处。当然,在CUDA架构下,处理器依然可以通过GPU的协处理,在压缩解压、视频编辑等操作中获得额外的加速,但由于NVIDIA自己不生产CPU,英特尔和AMD是否愿意接受这种好意也尚未可知,对于游戏应用,我们仍旧要依靠GPU来处理3D游戏的大部分数据。CUDA和Tesla的意义在于利润丰厚的专业领域,Quadro已经占领了80%以上的专业图形市场,如果Tesla也能在计算市场上达到同样的份额,那无疑是非常完美的。
两条腿走路
AMD:灵活的应变策略
AMD既拥有高端图形芯片的生产能力,又可以在高性能处理器领域与英特尔一较高下。
在收购 ATI不久,AMD就提出了Fusion计划,同时,它也在挖掘GPU的计算能力,并推出了高性能的流处理器。看起来,AMD更愿意寻求灵活的解决方案,以满足不同用户群的需求。
AMD的多种选择
由于同时拥有高性能CPU和GPU,以及配套的芯片组,AMD可以毫不费力地使用Phenom处理器和四卡交火组成强大的图形处理系统,这是最为传统的选择。第二个选择是增加所谓“APU”——加速处理器,构建一个基于APU的新型平台。在第二种选择的基础上,还可以选择为这个平台增加GPGPU加速器,以提高运算速度,或者还可以增加第三方的芯片作为加速器。很显然,目前AMD需要做的,就是将第二种选择变为现实。APU内部可以分为三种模块,即标量核心(SC)、并行核心(PC)和固定功能的加速器,对于每个模块的数量,可以根据图形处理、日用平台或数值计算等任务灵活地改变。此外,针对不同的任务,还可以选择经过特定优化的固定功能加速器。
APU即将亮相
在2008年的AMD创新大会上,AMD公布了第一代APU处理器“Swift”的更多细节,为处理器取“敏捷”这个研发代号也代表了高层对这块APU的期望。这款APU将出现在笔记本电脑平台,它分为6个功能模块,其中用于计算的模块有三个,一是研发代号为“Stars”的CPU核心,它负责完成大部分传统CPU的工作任务,处理绝大部分X86指令;二是片上图形加速器,它类似于传统的显示核心,完全支持DirectX,完成硬件T&L的工作;三是片上视频加速器,它负责加速标准和高清视频,从而解放CPU内核,类似于传统的硬解压卡。其余三个模块内存控制器、高速缓存和PCIe界面与传统的处理器类似。这一结构类似于不少手机使用的ARM架构处理器,但性能肯定比后者强大得多。“Swift”将在2009年下半年左右上市。
流处理器
与NVIDIA一样,AMD也推出了基于GPU的流处理器。目前这一家族中的最新产品是2007年11月发布的AMD具有双精度浮点运算能力的流处理器FireStream 9170,这块流处理器基于RV670核心,处理单精度浮点数据时每秒可进行约500G次运算,它还拥有专用的Firestream SDK软件,这一产品将提供给惠普。不过与NVIDIA相对丰富的产品线相比,AMD显得有些势单力薄。
APU和FireStream的未来
前文中已经提及,APU内部分为多个不同功能的模块,其中CPU和GPU模块仍然保留着原来的大部分特征,这无疑降低了它的开发难度。不过,由于显示核心集成在APU内部,其他部分对显示核心的帮助有限,因此我们对它的图形处理能力不能期望太高。此外,这款 APU定位于此前英特尔最为成功的笔记本电脑平台,面临的竞争压力可想而知,在Atom和Centrino两大平台的合力打压下,除非具有特别出色的性能,否则APU将很难出头。至于流处理器FireStream,也要和NVIDIA的Tesla展开正面竞争,由于每代GPU的性能相当接近,因此性能可能并非决定胜负的关键,软件的易用性和稳定性才是争取客户的法宝。
激烈的竞争
新时代的三国演义
AMD、NVIDIA和英特尔三家包揽了计算机平台上所有最复杂的芯片,从三者的传统产品上来看,它们之间的竞争相互重叠,因此不断拓展新领域,并挤压竞争对手的生存空间成为它们必然的选择。在21世纪的第一个十年即将结束之际,这场竞争可能会决出胜负,这将决定视觉计算时代为谁所主导。CHIP将试图从市场和技术层面为读者分析未来的走势。
作为三者中市值最高,创新能力最强的英特尔在传统的CPU和芯片组方面占有很大优势,但GPU介入流计算使得传统CPU相形见绌,英特尔显然不会甘心把利润丰厚的专业计算领域拱手让与竞争对手——三强中仅有英特尔没有高性能GPU。从Larrabee附属于万亿次计算计划也可以看出,英特尔推出Larrabee实际是一石二鸟之计,这种并行的统一处理架构运算能力十分强大,仅仅实验芯片就可完成每秒上万亿次浮点运算,即使不用于视觉计算,它也可以与NVIDIA和AMD的流处理器一较短长;而如果能够成功打入图形领域,两个竞争对手的传统根据地将会受到严重威胁。因此英特尔试图推行全新的通用统一架构也就是顺理成章的了,这是一招攻守兼备的妙棋。
NVIDIA在GPU方面,特别是专业图形领域拥有一定优势,但在AMD收购ATI之后,它的芯片组/集成图形业务受到了相当大的影响,而且它没有处理器产品作为支撑,形势相对比较严峻。在全球电脑成本不断下降的趋势下,集成显示核心的芯片组受到更多欢迎,独立GPU,特别是高端GPU在家用消费市场的销量并不被分析家们所看好。因此NVIDIA除了保持住原有的专业显示卡业务外,还需要在新兴的GPU流计算领域中迅速站稳脚跟并且占据优势,这也是为何NVIDIA始终强调视觉计算应该由GPU来完成,并对CUDA和Tesla投入了巨大热情的根本原因,如果后两者能够在Larrabee上市之前占据主导地位,NVIDIA就将在竞争中保持先机。
AMD也面临着相当大的竞争压力,收购ATI将昔日的盟友变成了对手,而新旧两个对手还在各自的领域给AMD强大的压力。在这种压力下,AMD必须避免失败才能保证生存下去,因此除了利用GPU的优势来拓展流计算市场之外,AMD还要将ATI在GPU方面的优势整合到CPU之中推出新产品。不过,鉴于高端GPU都是庞然大物,选择较为简单的核心予以整合才是合理的做法,而这样核心的处理能力将不能适合桌面平台的要求,笔记本电脑,甚至更小的平台才是最为合适的。实际上,AMD即将推出的第一代APU的架构应该与英特尔Moorestown平台的Lincroft处理器有很大的类似性,但后者已经有明确的定位和ATOM平台作为支持。当然,如果未来APU的结构更灵活,可能会受到更多用户的喜爱,但这样恐怕将会走上英特尔通用统一架构的路子……在英特尔X86的阴影下竞争到现在的AMD,会接受这样的结局么?
另一个不可测,但又非常强大的因素是其他厂商的态度,他们包括微软这样的软件厂商,也包括IBM这样的高性能计算产品生产商,还包括大量的游戏生产商,他们的态度目前还不明朗,未来他们将根据自己的利益选择支持的阵营。比如3D游戏开发商最初可能更喜欢使用传统的GPU来渲染,这意味着较少的工作量,而且原来耗费巨资打造的引擎还可以使用,但如果某个厂商在通用统一架构下开发的游戏更精美,这些厂商可能将会一窝蜂地选择为通用统一架构而优化,当年DDR内存凭借业界大量厂商支持,击败英特尔强力推行的RDRAM的案例还历历在目,我们也不可忽视这方面的影响。
CHIP结论:最后的恐龙
综合这些信息,CHIP愿意为读者做个大胆的预测:在短期之内,采用通用统一架构的处理器尚无法撼动传统GPU的地位,但它可望在科学计算领域取得一定成功,至少能够“击退”GPU的侵犯。但从长远看来,通用统一架构的高效优势非常明显,传统的CPU和GPU可能都将成为最后的恐龙,被采用通用统一架构的“通用处理器”所取代。