|
并行处理是人们熟知的概念,通过两枚处理器或两个独立的CPU核心并行运作,轻轻松松达到大幅度提升系统效能的效果。尽管并行系统多见于专业用途的服务器和工作站,但x86 PC也将朝此方向发展,《个人电脑》在2004年第6期上所介绍的双核心处理器便充分体现了这种思想。不过,类似的情形也开始出现在图形领域,nVIDIA近期发布的SLI Multi-GPU(SLI,Scalable Link Interface,交错互连)便是一种多GPU并行运作获得近乎翻倍性能提升的技术。不过,这项多GPU技术算不上新潮,它的历史其实相当悠久。在nVIDIA之前,3Dfx、ATi和诞生不久的XGI都推出过类似的技术与产品,但都是因为高昂的价格难获成功。3Dfx后来被nVIDIA所收购,相关技术也归它所有,但nVIDIA并没有考虑将这项技术付诸实用,因为在过去几年间,它在图形市场叱咤风云遥遥领先,从TNT2时代一直延续到GeForce 4时代,nVIDIA都是事实上的领先者。但ATi的强劲崛起开始对nVIDIA形成强大的挑战,在开放授权、允许三方厂商生产ATi产品之后,ATi占据的市场份额越来越大,直至现在与nVIDIA平分天下,而这两家图形厂商在产品方面的争夺也是此起彼伏,异常激烈,但水平都在伯仲之间,谁也无法声称有绝对的性能优势。在这样的背景下,引入并行技术就不难理解了—nVIDIA渴望被称为拥有最强产品的图形霸主。
基于上述理由,我们就不难得知nVIDIA推出SLI并行显卡技术的动机。SLI技术可令现有PC系统拥有几乎翻倍的图形性能,这无疑能在风头上压倒对手。再者,这项技术也可以增强nVIDIA在工作站产品中的竞争力,毕竟ATi凭借FireGL系列在该领域不断蚕食nVIDIA的市场。在未来的产品线中,SLI将成为新的至高点。那么,SLI是一项什么样的技术?它与过去的多GPU技术有何差异?SLI能否在市场上获得佳绩?要回答这些问题,我们有必要对SLI进行全面的分析介绍,同时也将回顾多GPU技术的发展历史。
多显卡并行机制的历史最早可以追溯到1997年,当时的显卡市场可以说是3Dfx一家独大,该公司在1996年下半年所推出的Voodoo加速卡成为发烧友疯狂追捧的一代经典产品。1998年初,3Dfx推出了它们的第二代3D图形卡产品—Voodoo 2,当时Voodoo 2拥有90Mps的像素填充率,具备Z-Buffering、Anti-Aliasing、单周期双纹理等当时最先进的3D特性,大幅超越其上一代产品,其他对手更是被远远甩在了后头。不过,最令发烧友疯狂的是Voodoo 2所具有的“SLI交错互连技术”,这项技术可以让两块Voodoo 2显卡连接起来并行运作,获得近乎翻倍的3D效能。如此一来,其他竞争者更是望尘莫及。
我们知道,CPU的并行运作是通过指令并行执行获得的,但对显卡来说情况有所区别。显卡最终生成的是所渲染的3D画面,这项工作包含大量的指令,而如何将工作均等分配就成为问题,3Dfx选择了按画面帧线进行渲染的方式。SLI技术将一幅渲染的画面分为一条条扫描帧线(Scanline),若Voodoo 2采用双显卡运行模式,那么就由一个显卡负责渲染画面的奇数帧线部分,另一块显卡渲染偶数帧线,然后将同时渲染完毕的帧线进行合并后写入到帧缓冲中,接下来显示器就可以显示出一个完整的渲染画面。不难看出,SLI技术让渲染工作被平均分担,每块显卡只需要完成1/2的工作量。理论上说,渲染效率自然也可以提高1倍,这就是双显卡并行大幅提升效能的奥秘所在。SLI在技术上极为成功,而发烧友们对Voodoo 2也抱有莫大的热情。在当时,你如果希望在1024×768的“高分辨率”下流畅地玩3D游戏,唯一的解决方案就是使用两块Voodoo 2显卡并让它们工作在SLI模式下。
在Voodoo 2之后的Voodoo 3,3Dfx没有效仿这个SLI双显卡技术,但在Voodoo 4/5/6时代,3Dfx重新恢复了SLI,但应用的形式已有所区别。Voodoo 2倡导双显卡并行运作,两块显卡插在PCI槽里再用专用的线缆连接起来,但这并非必需的,单个Voodoo 2显卡也可以独自工作,只是速度较慢而已。2000年春,3Dfx推出VSA100图形芯片,当时nVIDIA已经压过3Dfx成为领先者,为了夺回自己的领导地位,3Dfx让SLI技术重装上阵。VSA100可支持单芯片、双芯片和四芯片并行运作,单芯片版本就是Voodoo 4,双芯片显卡为Voodoo 5 5500,而四芯片显卡则是著名的Voodoo 5 6000。此时,SLI技术演变为单显卡多图形芯片的形式,不需占用两个插槽,但内部的工作机制并没有发生多大的变化,依然是通过划分渲染帧的方式各自执行,然后在帧缓冲中统一合成。出于众所周知的原因,这些显卡都没获得广泛认可,3Dfx也从衰落走向死亡。2001年初,nVIDIA收购了3Dfx,SLI技术也随之成为了历史,尽管nVIDIA掌握了3Dfx的所有技术,但它并没有将之发扬光大,而是继续按照自己的道路走下去,收购3Dfx的目的也许只是消灭一个竞争对手而已。
在这之后,我们看到了nVIDIA顺利一统江湖,接着就是ATi逐渐发起挑战,GeForce和Radeon是人们最常挂在嘴边的名词,至于3Dfx和它的SLI已经逐渐被人淡忘了,即便偶尔有人谈起,也多是说那是一个策略糟糕的企业和一项昂贵不切实际的技术。在显卡的历史中,除了Voodoo 2之外没有哪一项多显卡、多芯片技术曾获得成功,虽然ATi尝试过,新生的XGI也勇闯该领域,然而事实证明这个方案并不受用户们的欢迎。不过,谁也没有想到nVIDIA重新拾起3Dfx的SLI技术。2004年6月29日,nVIDIA大张旗鼓发布了“SLI Multi-GPU技术”,并将该技术引入最新发布的GeForce 6800和Quadro FX4000系列显卡上。沿用“SLI”这个名称或多或少让人联想到3Dfx,nVIDIA想要的也许正是这个效果,它更希望被用户认为是3Dfx技术的一脉相承。但如果我们深入分析,便会发现它与3Dfx的SLI技术没有多少相同的地方,基本上就是一套nVIDIA新搞出来的多显卡方案。
在今年6月份召开的Computex2004台北电脑展上,nVIDIA向外界展示了NV45显卡。NV45实际上就是GeForce 6800的PCI Express版本,并且是通过HSI桥接芯片来实现,因此NV45与现在的GeForce 6800并没有大的区别。不过,NV45样卡的顶部位置出现了一个神秘的接口,当时无人知晓其用途,nVIDIA也没有透露。直到6月底谜底才正式揭开,那个神秘接口是用于两块显卡的互连,构成一套SLI双显卡并行系统。
如图3所示,我们可以看到,NV45的SLI互连不再是和Voodoo 2一样借助线缆,而是使用一块两端有“MIO”接口的PCB卡(图4)。卡上的接口有点儿类似PCI Express ×1,而在显卡的顶部位置则预留了对应的接口。这样,该SLI连接卡就可以将两块NV45显卡连接起来,实现SLI并行运作。nVIDIA表示,选择PCB卡连接可充分保证信号通讯的质量与速度,显卡间的数据传输采用数字形式进行,这样可有效防止因信号干扰而导致画面不同步的弊端。Voodoo 2所采用的技术是模拟传输方式,数字信号先被转换为模拟信号后才进行合成,因为干扰的影响,在某些时候会出现数据不匹配的问题,导致合成后的画面往往难以同步或出现其他问题,这也是Voodoo 2 SLI技术的主要缺陷。而改用数字信号传输,显然就不存在这个问题,显卡处理完的帧数据被集合起来合成,然后才转为模拟信号输出,从而确保画面的完整性。
nVIDIA将SLI控制功能直接集成在GPU芯片内部,我们可以从芯片逻辑图中看到,NV40左侧偏下的位置有一个很小的区域专门负责SLI运作(如图5,大约占据总面积的0.75%),该区域所掌管的职能包括两块显卡的连接、通讯,渲染任务的指派以及画面的合成等等。由于指令的传输工作相对简单,在芯片的FCBGA封装中也只有极少几根针脚用于SLI模式。由于其他型号的GPU没有这部分控制逻辑,无法支持SLI模式就不难理解。另外,nVIDIA同时宣称SLI技术无法适用于AGP总线而要求显卡都工作在PCI Express模式下,这就对配套的芯片组和主板提出新的要求。不过最令人称奇的还是它的并行能力。nVIDIA的科学家告诉我们,SLI技术最多可以支持8块GPU并行运作,虽然在消费市场没有什么意义,但在工作站领域,8块GPU并行意味着可获得超高的渲染效率,相信这样的系统会成为好莱坞电影制作工厂的挚爱。
|