`
mintelong
  • 浏览: 392606 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

传统的高性能计算平台正在瓦解

阅读更多
提起超级计算机,大家脑海里最先想到的是什么?阴森恐怖的地下室?密密麻麻的数据线?一眼望不到尽头的机柜?实际上,这些镜头很有可能都将成为过去式。随着技术的发展,传统定义上的“超级计算机”正走出机柜,悄悄潜入寻常百姓的家中。而在这背后,一场高性能计算领域迄今为止最为迅猛的变革风暴正在无声的酝酿中。



    眼下正在举行中的Supercomputing 09大会上,Nvidia就向与会者介绍了引发这场变革的导火索,一款以著名物理学家费米(Fermi)命名的通用处理器——Tesla C2050和C2070。

    请叫我费米

    恩利克·费米(Enrico Fermi)是一名意大利裔美国科学家。他因发现中子和原子核之间的链式反应开启人类原子能时代而闻名。NV用这位大科学家作为自己新一代通用处理器的命名究竟有什么含义呢?



    熟悉电脑硬件的朋友看到上面这张图肯定会问,这不就是一张显卡么?高性能计算一向是CPU的活,和显卡有什么关系?

    没错,Tesla 20就是一张显卡,但也不完全对,因为它除了显示图像,还能进行计算,解决商业、工业以及科学方面的复杂数学问题。

    随着最近几年显卡在规模、功能、可编程性上的疯狂扩张,显卡的处理核心——图形处理器(GPU)已经不满足于只能给CPU打打下手的地位了。NV认为,GPU完全可以干很多图形处理以外的事情——例如处理大规模并行数据,GPU的架构在这方面具备天生的优势。NV本次推出的Tesla 20系列“显卡”就是专门针对这种应用而生的产品。这是一直作为配角而存在的GPU首次向计算机的核心——中央处理器(CPU)发起挑战。



NV提供的资料:将处理设备由CPU跟换位CPU之后某些程序获得的性能提升

    根据NV提供的资料,在很多需要海量计算能力的程序中把处理单元由CPU更换为GPU之后,处理性能将会获得飞速提升,有些甚至高达上百倍,大有CPU即将被GPU取代之势——NV为Tesla 20取名“费米”,用意大概就在这里了。然而,事情真的是如此吗?

    本是同根生

    说起GPU和CPU之间的爱恨纠缠,以小编的打字速度估计三天三夜也讲不完。不过大家可以记住这几个最关键的公司——微软、Intel、Nvidia。

    在很久以前,计算机行业是没有GPU这个概念的。那时显卡还被称为“显示适配器”。显卡除了桌面显示外,顶多也就做个2D加速,所有的3D处理都是由CPU完成的。当年的3D程序远不如现在的游戏这样变态,这种一锅包的结构也倒应付自如。

    但是随着3D程序尤其是游戏的快速发展,人们发现,再用CPU去完成3D程序中大量的低级重复计算(例如T&L坐标转换)实在是很傻的事情,CPU的计算能力应该用在更加需要的地方才是。为什么不造一种专门定制的硬件来完成这些工作呢?于是,图形处理器(GPU)诞生了。



    在GPU诞生之前,为了给Windows系统对抗Mac OS增加一个筹码,微软为整个计算机3D图形处理制定了一套完整的应用程序接口标准(API),叫做DirectX。凡是符合DirectX标准的显卡,在Windows操作系统上都能得到最好的支持。

    硬件方面,微软首先找到了自己的盟友Intel。不过当时Intel的CPU业务正如日中天,对于GPU这种“没有技术含量只会堆晶体管”的芯片自然是不会有什么兴趣。没办法,微软只得另外找到了几家小公司合作。终于,在DirectX更新到7.0也就是第七代的时候,NV凭借GeForce 256芯片一炮打响,奠定了自己计算机图形和视觉领域老大的位置。此时的GPU早已不是当年阿斗,Intel想后悔也来不及了。

    最早的GPU只是一堆能执行若干3D处理的固定功能电路集合,根本不具备可编程性。不过随着计算机图形技术的飞速发展,事情开始有了变化。从DirectX9开始,微软在3D API中开始大量引入可编程规范,符合这一标准的GPU都将具备一定的可编程性。

    另外,由于3D游戏对于GPU运算能力的渴求几乎永无止尽,GPU也正变得越来越庞大复杂,其规模甚至超过了同时代的CPU——一个简单的例子,在2002年,大家都很熟悉的Intel奔腾4处理器一共有5500万个晶体管,而与它同时期的ATi Radeon 9700显卡核心芯片具备1.1亿个晶体管,规模足足大了一倍!

    质变的前奏通常就是量变。工程师们拼死拼活花大力气造出来一个规模比同时代CPU大一倍、具备一定可编程能力的芯片,难道就只能用来打游戏,不能干点别的?

    NV的野心

    最先注意到这个问题是NV的老对手ATi,他们很早就与斯坦福大学合作了Folding@home项目,一个旨在使用ATi显示芯片的可编程性参与蛋白质折叠、误折、聚合及由此引起的相关疾病的分布式计算工程。不过,这个项目并不成熟,程序员依然要使用难懂晦涩的图形API与GPU打交道,而且缺乏厂商支持。最终,ATi因为运营失败被AMD收购,这个ATi only的项目也就没能继续下去。

    时间又过去了数年,微软发布了DirectX10图形应用接口标准。这个标准进一步的提升了GPU的可编程性能。时机终于成熟,NV借机提出了经过多年筹划的CUDA通用计算架构。

    CUDA架构是第一个面向GPU的软硬件结合通用处理解决方案,它的指令集架构能够让开发人员绕开传统的图形API而直接访问GPU硬件,还包含了一个全新的C语言编译器,开发人员可以用常见的C语言来为GPU编写程序,效率成倍提高。至此,GPU参与数据处理才终被业界承认。



    都说微软喜欢坐享其成,看到GPU通用处理项目如此火热,现在微软也参了一脚进来。在最新的Windows 7操作系统中,微软附带了一种名叫DirectCompute的API。简单的说,所有符合DirectCompute规范的处理设备,不管是CPU还是GPU,在Windows 7操作系统中都被融合到了一起,作为统一的数据处理而用。



    我们如果仔细回想一下,就会发现NV的野心所在。根据PC游戏联盟2008年的报告,全球整个计算机游戏市场加起来,规模也只不过是110亿美元。而如果NV能够借CUDA的东风进入到高性能计算和个人超级计算机市场,发展空间和利润点无疑将瞬间翻好几个番。最为重要的是,NV在这一块并非白手起家,NV早已卖出去成百上千万片支持CUDA技术的GPU,如果能把这些用户机器中的GPU潜能开发出来,将凭空获得一个巨大且牢固的市场基础。

    当然,对于Intel等传统的处理器供应商来说,这可不是一个好消息。一旦NV的奸计得逞,不但自己已有的市场空间会被大大压缩,连整个CPU产品线都将面临被边缘化的危险。因此,Intel对于NV所谓的GPU通用处理计划极为反感。并正在着手准备自己的秘密武器进行反击。

    大脑和肌肉

    废了这么多话,有人要问了,为什么要费这么大周折,让GPU也来进行数据处理呢?答案很简单,因为快。

    是的,快,很快,非常快。对于大规模的密集数据计算,GPU处理起来得心应手。举个例子,我们目前能买到的民用最高端处理器,Intel Core i7 975,也就是4个物理核心,8个线逻辑核心而已,内存带宽也不过最大25.6GB/S。而与之相比,Fermi芯片具备512个计算核心,超过200GB/S的带宽!



    我们只需简单的做一下对比,就能明白在高性能计算领域莫名其妙的信心来自哪里。根据NV提供的数据,基于Fermi架构的Tesla C2050/C2070单颗芯片能达到500-600GigaFlops(一个GigaFlops等于每秒钟10亿次的浮点运算)以上的双精度浮点运算能力。相比之下,12年前在那场著名对决中击败人类棋王卡斯帕罗夫的IBM 深蓝超级计算机,也不过只有11.38GigaFlops而已。也就是说,现在的技术已经可以把几百台数百公斤重的深蓝超级计算机塞到一个不到500平方毫米的小芯片里。



左:深蓝超级计算机(1997)   右:Fermi芯片(2009)

    正是因为有了如此强大的运算密度作为后盾,NV才可以大吹特吹CUDA的优势。不过凡事都有两面,NV并没有捡到天顶星技术,GPU也不是万能的。GPU的渲染核心虽多,但本质上仍然只是把海量简单的运算单元集合到一起,在执行复杂逻辑处理的时候效能远远比不上CPU。而且CPU的复杂架构也决定了它具备最广泛的程序兼容性,我们日常用到的绝大多数程序依然只能在CPU上运行。下次遇到有人向你吹嘘GPU的运算能力,你只需回他一句“请问,GPU那么强,能用来开机吗?”即可。

    如果用人体做比喻,CPU和GPU就是大脑和肌肉的关系。CPU做管理,监督电脑的运行;GPU做苦力,处理海量的数据,两者相得益彰。至少在最近10年内,它们谁都离不开谁。

    Tesla超级计算机的规格

    言归正传,让我们来看看NV本次发布的Tesla超级计算机。

    据介绍,Tesla 20系列有四种基本规格。首先是面向工作站级和个人超级计算机用户的Tesla C2050和C2070。它们的外形和传统的家用显卡一样,PCB采用全高卡设计(宽度4.376英寸),都具备一颗Fermi芯片,双精度浮点运算能力在500-600GFlops之间。前者搭载3GB GDDR5 ECC内存,后者搭配6GB GDDR5 ECC内存,典型/最大功耗分别为190W和225W,售价分别为2499和3999美元。



    Tesla S2050和S2070则专为服务器常用的1U刀片式机柜设计,主要运用于大型数据中心和服务器领域。它们都包含四颗Fermi系列GPU,最高可以达到2.1~2.5 TFLOPS的双浮点运算精度的运算能力。S2050和S2070其每个GPU分别搭载3GB和6GB DDR5内存,整机售价分别为12995美元和18995美元。





    结语 PC的明天在哪里?

    从以上这些数据来看,至少在理论浮点运算能力这个指标上,单颗Fermi芯片的运算能力已经远远超过了当前的CPU,达到小型工作站的水平。而这些理论性能的发挥,还要取决于NV所提供的软件平台、下游应用厂商、程序开发者的共同支持。 一旦Fermi的性能得以施展,GPU通用计算所爆发出的能量必将在高性能计算领域引起一轮新的革命。



    对于普通消费者而言,Fermi也并非遥不可及的东西。在Tesla 20就绪之后,NV基于同样核心的家用显示芯片很快就会问世。

    与此同时,Intel和AMD也不会坐以待毙,Intel的CPU+GPU混合处理器larrabee已经箭在弦上,AMD名为Fusion的类似产品也正在紧张研发中,传统的高性能计算平台正在瓦解,数以万亿计的处理能力从来没有像现在这样如此迅速、广泛的侵入到我们的生活中。



    将来的PC是什么样子?GPU究竟能在多大程度上代替CPU的工作?

    天知道。但可以确定的是,CPU和GPU的竞争中最大受益人永远是消费者。只有更激烈的竞争,类似这样的免费CUDA视频转码软件才会更多更快的出现在我们面前
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics