论文部分内容阅读
英特尔Larrabee、nVIDIA Tesla与AMD流处理器标志着一个新时代的开始,GPU的潜能获得最大限度的发掘。
没有哪一个领域能像图形工业一样充满了机遇与挑战,过去nVIDIA与ATI激烈的竞争成为产业发展的动力,在AMD接手ATI后nVIDIA更换了对手,但竞争的实质并没有改变。通过市场竞争带动产业发展已经成为过去式,图形工业回到了正确的轨道上,即以应用需求来主导硬件的发展—今天,DirectX 10游戏带来更逼真的画面细节,游戏工业希望有朝一日能实现电影级渲染,这意味着GPU必须具有更强大的能力。而在GPU发展的过程中,硬件工业发现GPU不仅仅可以用来渲染3D场景,更可以利用超强的浮点计算性能来加速通用任务,例如流计算、气象模拟、科学计算等等需要高计算负荷的环境,这一个发现令硬件厂商喜出望外,因为它们可以让GPU进入一个全新的市场,并带来更多的利润增长点。事实上,整个IT产业都敏锐地捕捉到GPU通用计算将给PC带来革命性的变化,进而影响到CPU的发展,无论nVIDIA、AMD还是英特尔,都意识到计算一体化时代的到来,CPU与GPU在未来将是一对密不可分的伴侣,为此纷纷着手进行准备—英特尔发布了自己的Larrabee高端图形/通用计算计划,并意图实现通用计算指令系统的标准化,将GPU通用计算变成X86领域的翻版;AMD则建立了流计算平台,并开始实现CPU与GPU的整合;nVIDIA在近期也发布了Tesla通用计算品牌,并推出针对高性能计算市场的硬件产品,以期抢先占领制高点。
在通用计算概念发展得如火如荼的时候,GPU领域的竞争也进入到白热化,nVIDIA以GeForce 8系列获得领先,AMD则拿出Radeon HD 2000应对,但业界都意识到GPU发展也逐渐走入死胡同:nVIDIA与AMD的竞争更多类似于晶体管堆砌游戏,新一代GPU的晶体管集成度已高达7亿,功耗超过200瓦,并且没有停歇的迹象。在这一场竞争中,AMD的R600不敌对手,但这也导致AMD停下来思考未来GPU的发展方向,并确立了多芯片、分布式结构的设计理念,这也成为下一代R700的基本出发点。

图1Larrabee处理器设计架构,首代产品包括32个顺序处理核心,同时并将衍生24核的低端版本,2010年将升级到32纳米工艺和48核。
英特尔 Larrabee:跨越高并行计算与3D图形
英特尔进入高端图形市场完全是迫于无奈,首先是nVIDIA SLI平台的授权让英特尔第一次尝到了被卡住咽喉的滋味,接着是AMD意外并购ATI,让英特尔不仅失去了战略合作者,而且将面对一个同时拥有高端CPU和图形业务的AMD。英特尔在很短的时间内就作出决策,它没有选择与nVIDIA合作,而是决定独立开发高端图形技术,很快一批来自原3Dfx、ATI的核心开发人员被吸纳到英特尔,光线追踪技术天才Daniel Pohl也被英特尔收归旗下,英特尔迅速建立起技术实力强大的图形开发团队,并开始参与到代号为“Larrabee”的通用处理器的开发。不过,英特尔CTO帕特·基辛格(Patrick P. Gelsinger)却表示,Larrabee是第一代Many Core架构处理器,图形团队并非该项目的主导,事实上,Larrabee一直是由英特尔的CPU开发部门负责推进,图形团队则辅助开发。但基辛格没有透露更多的信息,不过位于以色列的开发团队必须继续维护酷睿微架构,再行开发Larrabee的可能性很小,普遍认为Larrabee是出自英特尔在俄勒冈的CPU开发团队之手,Pentium 4架构便是俄勒冈团队的杰作。
从这里我们可以看出,将Larrabee当作一款单纯的GPU产品完全是一种误解,在英特尔的规划中,Larrabee是以高并行计算处理器的面貌出现,它自身也隶属于英特尔“Tera-Scale”万亿次计算计划。在指令体系上,Larrabee最大的特点就是与IA架构(X86)处理器的互换性,它使用经过调整的X86指令,现行X86计算程序可以直接被Larrabee运算执行,这实际上是说Larrabee与X86 CPU处于对等的地位。两者的不同主要在于,Larrabee专注于高并行度的计算任务,高可扩展架构使之可以满足气象预报、3D图形、地理分析、金融分析、医学影像等要求高并行性的特殊任务—这类任务的共通点就是计算量超大,且要求高并行度,常规的CPU在处理这些任务时效率不佳。AMD与nVIDIA先后推出基于GPU的流计算平台,但它们都要求程序对相应的GPU作特别的编程,这往往会给用户带来不必要的困扰。与之不同,Larrabee具有X86指令互换性,原有的程序代码不需要任何更改即可在Larrabee平台中高效执行,这也是Larrabee最主要的优点之一。从这个方面我们也可以看出Larrabee与常规GPU的根本性差异,它是比常规的CPU更具专用性,但通用计算能力又强于传统意义上的GPU,可以说介于二者之间。

图2微内核设计具有更高的晶体管效率和能源效率

图3英特尔处理器的发展路线:从巨内核体系的单核到现在的酷睿双核,未来将转向微内核架构的超多核体系。
在硬件设计上,Larrabee采用的是“Many Core”体系的超多核设计。根据规划,将于2009年推出的第一代Larrabee处理器包含32个内核,并将衍生出24内核的低端版本,不过后者只是将那些达不到要求的Larrabee关闭8个内核而来,本质上它们仍来自于相同的生产线。Larrabee采用微内核设计,内核逻辑采用顺序执行结构(In Order),可同时执行4个线程,这一点与CPU里的乱序执行(Out Order)有根本性不同。顺序执行架构让Larrabee适合用于执行纯粹的计算任务,但它无法处理事务性的工作,也就是偏重于某一方面的效能。由于顺序执行在硬件上较为简单,每个内核只使用到较少的晶体管,同时核心频率可以达到较高的水准。英特尔透露,Larrabee将工作在1.7-2.5GHz频率上,每个核心的双精度峰值为14-40GFLOPS,每个核心每周期能完成8-16DP Flop(SSE2+),这样32核的Larrabee就可获得超过1TFLOPS的计算性能,也就是每秒万亿次浮点计算。在3D图形方面,Larrebee支持JPEG纹理、物理加速、反锯齿、增强AI、光线追踪等特性,光线追踪特性更是它的一大卖点,这项技术可以极大程度增加3D图形的视觉真实度,但对CPU的运算能力提出苛刻要求,但拥有万亿次浮点性能的Larrabee可以很好胜任实时光线追踪渲染。事实上,Larrabee的结构与最初索尼PS3的设计非常相似,索尼最初并未考虑以nVIDIA为合作对象,而是计划采用Cell处理器的一种变体来渲染3D图形,即利用大量的浮点协处理器来渲染3D图形。这一理念过于前卫而没有获得推行,但我们在Larrabee中看到了它的翻版。
与显卡类似,Larrabee也将拥有自己的内存系统,英特尔采用类似于AMD R600的环形内存总线,因此可以做到512bit位宽,Larrabee将搭载1GB-2GB容量的高速显存,总带宽将达到128GBps,规格与Radeon HD 2900XT、GeForce 8800 Ultra这类旗舰系统相当。不过这只是暂定的计划,毕竟现在到2009年还有许多变数,Larrabee富有弹性的架构让它完全可以搭载更卓越的内存系统,这对于3D渲染任务来说至关重要。
没有哪一个领域能像图形工业一样充满了机遇与挑战,过去nVIDIA与ATI激烈的竞争成为产业发展的动力,在AMD接手ATI后nVIDIA更换了对手,但竞争的实质并没有改变。通过市场竞争带动产业发展已经成为过去式,图形工业回到了正确的轨道上,即以应用需求来主导硬件的发展—今天,DirectX 10游戏带来更逼真的画面细节,游戏工业希望有朝一日能实现电影级渲染,这意味着GPU必须具有更强大的能力。而在GPU发展的过程中,硬件工业发现GPU不仅仅可以用来渲染3D场景,更可以利用超强的浮点计算性能来加速通用任务,例如流计算、气象模拟、科学计算等等需要高计算负荷的环境,这一个发现令硬件厂商喜出望外,因为它们可以让GPU进入一个全新的市场,并带来更多的利润增长点。事实上,整个IT产业都敏锐地捕捉到GPU通用计算将给PC带来革命性的变化,进而影响到CPU的发展,无论nVIDIA、AMD还是英特尔,都意识到计算一体化时代的到来,CPU与GPU在未来将是一对密不可分的伴侣,为此纷纷着手进行准备—英特尔发布了自己的Larrabee高端图形/通用计算计划,并意图实现通用计算指令系统的标准化,将GPU通用计算变成X86领域的翻版;AMD则建立了流计算平台,并开始实现CPU与GPU的整合;nVIDIA在近期也发布了Tesla通用计算品牌,并推出针对高性能计算市场的硬件产品,以期抢先占领制高点。
在通用计算概念发展得如火如荼的时候,GPU领域的竞争也进入到白热化,nVIDIA以GeForce 8系列获得领先,AMD则拿出Radeon HD 2000应对,但业界都意识到GPU发展也逐渐走入死胡同:nVIDIA与AMD的竞争更多类似于晶体管堆砌游戏,新一代GPU的晶体管集成度已高达7亿,功耗超过200瓦,并且没有停歇的迹象。在这一场竞争中,AMD的R600不敌对手,但这也导致AMD停下来思考未来GPU的发展方向,并确立了多芯片、分布式结构的设计理念,这也成为下一代R700的基本出发点。

图1Larrabee处理器设计架构,首代产品包括32个顺序处理核心,同时并将衍生24核的低端版本,2010年将升级到32纳米工艺和48核。
英特尔 Larrabee:跨越高并行计算与3D图形
英特尔进入高端图形市场完全是迫于无奈,首先是nVIDIA SLI平台的授权让英特尔第一次尝到了被卡住咽喉的滋味,接着是AMD意外并购ATI,让英特尔不仅失去了战略合作者,而且将面对一个同时拥有高端CPU和图形业务的AMD。英特尔在很短的时间内就作出决策,它没有选择与nVIDIA合作,而是决定独立开发高端图形技术,很快一批来自原3Dfx、ATI的核心开发人员被吸纳到英特尔,光线追踪技术天才Daniel Pohl也被英特尔收归旗下,英特尔迅速建立起技术实力强大的图形开发团队,并开始参与到代号为“Larrabee”的通用处理器的开发。不过,英特尔CTO帕特·基辛格(Patrick P. Gelsinger)却表示,Larrabee是第一代Many Core架构处理器,图形团队并非该项目的主导,事实上,Larrabee一直是由英特尔的CPU开发部门负责推进,图形团队则辅助开发。但基辛格没有透露更多的信息,不过位于以色列的开发团队必须继续维护酷睿微架构,再行开发Larrabee的可能性很小,普遍认为Larrabee是出自英特尔在俄勒冈的CPU开发团队之手,Pentium 4架构便是俄勒冈团队的杰作。
从这里我们可以看出,将Larrabee当作一款单纯的GPU产品完全是一种误解,在英特尔的规划中,Larrabee是以高并行计算处理器的面貌出现,它自身也隶属于英特尔“Tera-Scale”万亿次计算计划。在指令体系上,Larrabee最大的特点就是与IA架构(X86)处理器的互换性,它使用经过调整的X86指令,现行X86计算程序可以直接被Larrabee运算执行,这实际上是说Larrabee与X86 CPU处于对等的地位。两者的不同主要在于,Larrabee专注于高并行度的计算任务,高可扩展架构使之可以满足气象预报、3D图形、地理分析、金融分析、医学影像等要求高并行性的特殊任务—这类任务的共通点就是计算量超大,且要求高并行度,常规的CPU在处理这些任务时效率不佳。AMD与nVIDIA先后推出基于GPU的流计算平台,但它们都要求程序对相应的GPU作特别的编程,这往往会给用户带来不必要的困扰。与之不同,Larrabee具有X86指令互换性,原有的程序代码不需要任何更改即可在Larrabee平台中高效执行,这也是Larrabee最主要的优点之一。从这个方面我们也可以看出Larrabee与常规GPU的根本性差异,它是比常规的CPU更具专用性,但通用计算能力又强于传统意义上的GPU,可以说介于二者之间。

图2微内核设计具有更高的晶体管效率和能源效率

图3英特尔处理器的发展路线:从巨内核体系的单核到现在的酷睿双核,未来将转向微内核架构的超多核体系。
在硬件设计上,Larrabee采用的是“Many Core”体系的超多核设计。根据规划,将于2009年推出的第一代Larrabee处理器包含32个内核,并将衍生出24内核的低端版本,不过后者只是将那些达不到要求的Larrabee关闭8个内核而来,本质上它们仍来自于相同的生产线。Larrabee采用微内核设计,内核逻辑采用顺序执行结构(In Order),可同时执行4个线程,这一点与CPU里的乱序执行(Out Order)有根本性不同。顺序执行架构让Larrabee适合用于执行纯粹的计算任务,但它无法处理事务性的工作,也就是偏重于某一方面的效能。由于顺序执行在硬件上较为简单,每个内核只使用到较少的晶体管,同时核心频率可以达到较高的水准。英特尔透露,Larrabee将工作在1.7-2.5GHz频率上,每个核心的双精度峰值为14-40GFLOPS,每个核心每周期能完成8-16DP Flop(SSE2+),这样32核的Larrabee就可获得超过1TFLOPS的计算性能,也就是每秒万亿次浮点计算。在3D图形方面,Larrebee支持JPEG纹理、物理加速、反锯齿、增强AI、光线追踪等特性,光线追踪特性更是它的一大卖点,这项技术可以极大程度增加3D图形的视觉真实度,但对CPU的运算能力提出苛刻要求,但拥有万亿次浮点性能的Larrabee可以很好胜任实时光线追踪渲染。事实上,Larrabee的结构与最初索尼PS3的设计非常相似,索尼最初并未考虑以nVIDIA为合作对象,而是计划采用Cell处理器的一种变体来渲染3D图形,即利用大量的浮点协处理器来渲染3D图形。这一理念过于前卫而没有获得推行,但我们在Larrabee中看到了它的翻版。
与显卡类似,Larrabee也将拥有自己的内存系统,英特尔采用类似于AMD R600的环形内存总线,因此可以做到512bit位宽,Larrabee将搭载1GB-2GB容量的高速显存,总带宽将达到128GBps,规格与Radeon HD 2900XT、GeForce 8800 Ultra这类旗舰系统相当。不过这只是暂定的计划,毕竟现在到2009年还有许多变数,Larrabee富有弹性的架构让它完全可以搭载更卓越的内存系统,这对于3D渲染任务来说至关重要。