正在阅读:CPU遭遇瓶颈效应 GPU催热桌面高性能计算CPU遭遇瓶颈效应 GPU催热桌面高性能计算

2010-06-23 18:00 出处:PConline原创 作者:菠萝果汁 责任编辑:liuyu1

  曙光“星云”超级计算机的发布无疑成为了近期高性能计算集群(HPC Cluster)领域的亮点。超级计算机作为一种并行计算的实现方法,也从一定程度上反映了国家的科研力量。而异构CPU+GPU (曙光星云由Intel X5650 + NVIDIA Tesla C2050组成)的组合也愈发的火热。

  并行计算,是指将一个应用程序分割成多块可以并行执行的部分并指定到多个处理器上执行,也是多个工作任务在拥有多核或多个CPU的多处理器计算机上同时执行的方法。

曙光星云
曙光星云

  有人会质疑为什么并行计算一定是要建立在多个处理器上。(对于开发者而言这里的多处理器和多核处理器可认为是等同的)过去,在单核时代,我们一样可以同时运行很多程序。只不过对于使用者来说,同时运行的程序多了互相影响,机器难免会显得有些“慢”。这反映在程序上来说就是多个程序执行起来相对单独执行某个程序有些慢。

  而这个过程,称之为“并发”。并发使处理器可以“并行”的运行超过处理器数量的多个任务。在操作系统级别,不管计算机本身是否是多核系统,都会采用并发的方式来实现并行的运行模式,不允许某一请求长时间占用处理器直至其运行结束。

OPENCL
OpenCL 并行计算先锋

  而现在,随着多核处理器的普及,在桌面领域也出现了相当多的软件对并行计算做了优化,也就是我们常规理解的对于多核有优化。当某一程序支持多核的时候,我们会很明显的体会到多核带来的优势。相反,如果不支持多核,那么我们就无法从我们的多核处理器上受益。我们会看到在程序运行过程中,除去运行程序的CPU内核,其他的CPU内核都在空闲状态。

AMD VS NVIDIA
NVIDIA VS AMD

  如果有上百个内核用来做并行计算会怎么样?

  如今一颗CPU最多不过有12个内核。而GPU的流处理器却达到了数百个,甚至上千个。

  什么是流处理器?流处理器与CPU内核有什么关系?

  我们在这里简单的做个回顾,说到流处理器就不能不提到微软Direct X,在Direct X 10中规定

  统一渲染架构:不再区分像素着色单元和顶点着色单元,而是由统一的流处理器运算单元来按需执行相应的像素或顶点着色。从而使得GPU资源利用率大幅提高。

  流处理器既StreamProcessor,简称SP,NVIDIA的流处理器现在被称为CUDA核心。

  在随Windows 7登场的Direct X 11中,加入了Direct Compute这一全新的GPU运算程序编程接口(API)。与Open CL一样,为开发人员提供了并行计算的API。

  上月,笔者曾写过一篇文章《写在AMD推倒NVIDIA之前》和众多网友在论坛讨论,网友回复中有些很专业的观点。有网友指出Direct Compute就是微软通用计算的的探路石。>>

  

  历史

 amd高性能计算卡
AMD FireStream通用计算卡

  广为人知的第一款流处理器产品是AMD于2006年推出的基于R580 GPU设计的FireStream 580。拥有48个SP,采用PCI Express x16作为界面,流处理器的频率是600 MHz,可以同时运行512线程,并配备了1GB GDDR3存储器,工作频率是650 MHz(等效频率1300MHz)。单精度浮点运算能力375GFLOPS。

NVIDIA高性能计算
NVIDIA Tesla通用计算设备

  而NVIDIA的第一款流处理器产品是于2007年推出的基于G80 GPU设计的Tesla C870。拥有128个SP,采用PCI Express x16作为界面,流处理器的频率是1350 MHz,并配备了1.5GB GDDR3存储器,工作频率是800 MHz。单精度浮点运算能力518.4GFLOPS。

  AMD的第二代产品命名为FireStream 9170,基于RV670 GPU设计,拥有320个流处理器,流处理器频率为800,并配备了2GB GDDR3存储器,工作频率是800MHz。单精度浮点运算能力512GFLOPS。双精度浮点运算能力102.4GFLOPS。

  单精度浮点数(Float)用来表示带有小数部分的实数,一般用于科学计算,占用4个字节(32位)存储空间。

  双精度浮点数(Double)用来表示带有小数部分的实数,一般用于科学计算,占用8个字节(64位)存储空间。

  从这一代产品开始两家的GPU通用计算卡可以支持了双精度浮点运算。在科学计算中,大部分程式都会用到双精度浮点运算,而GPU相对CPU在处理器核心数量上的巨大优势非常适合用来做这种并行的计算处理。

  计算机中的所有数据都是以二进制表示的,浮点数也不例外。浮点数并不一定等于小数,浮点数就是小数点在逻辑上是不固定的。 

斯坦福大学
斯坦福大学

  大家都知道高性能计算可以用在诸多领域,而我们可以做的还有一个很有价值的事情Folding@home,简称F@H

  这个项目是由美国斯坦福大学主持的。简单说就是利用参与的计算机的CPU和GPU资源进行一些科学计算,目前正在进行阿兹海默症,癌症,亨廷顿病,成骨不全症,帕金森氏症,核糖体与抗生素的研究。

FAH
F@H  GPU计算

  Folding@home是一个研究研究蛋白质折叠,误折,聚合及由此引起的相关疾病的分布式计算工程。使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程。 >>

  

  NVIDIA Fermi双精度计算

Fermi CUDA core
Fermi CUDA核心

Fermi内核
Fermi CUDA核心

  Tesla Fermi的理论浮点运算能力

  Fermi改变了GPU功能执行方式,单精度模式下每个时钟循环均可执行512个积和熔加运算(Fused Multiply-Add/FMA),双精度下则是256个。

  双精度:SP频率*2Float*256(Fermi最大CUDA核心数)=  X GFLOPS

  单精度:SP频率*2Float*512(Fermi最大CUDA核心数)=  X GFLOPS

  对于实际上市产品C2050来说(448个1.15GHz CUDA核心)

  C2050双精度浮点运算能力 1.15*2*448*0.5=515.2 GFLOPS

  C2050单精度浮点运算能力 1.15*2*448=1030.4 GFLOPS

  AMD RV870

AMD CORE
AMD CORE

  AMD依然沿用了之前的RV6XX与RV7XX的架构,也就是我们通常理解的5SP 4D+1D约等于一个完整的核心,而RV870具备320个4D+1D。单精度浮点(32位)5个MAD(StreamCores的4个+SFU里的1个),双精度浮点(64位)1个64bitMAD。

  双精度:SP频率*2Float*320(RV870最大流处理器数)=  X GFLOPS

  单精度:SP频率*2Float*320*5(RV870最大流处理器数)=  X GFLOPS

  这样看来,RV870的双精度浮点运算能力只有单精度的5分之1。这也是延续了RV670,RV770架构的原因。

        再来看下我们这个月初测试的,基于Nehalem-EX E6540的Dell R810表现吧。

E6540相关参数
Xeon E6540相关参数
 

E6540
Xeon E6540运算能力

  一颗6核12线程主频2GHz的Nehalem-EX Xeon的浮点运算能力为129.19GFLOPS(单精度)。约为一颗Tesla C2050浮点运算能力的8分之1。 >>

  6月初相关消息曾表示,本月底AMD就将发布FireStream新产品,按道理来说应该会采用RV870核心设计。

  但是,在没有正式公布产品前,大家也确实可以期待一下会不会有新的架构发布。

c1060
NVIDIA Tesla C1060

  NVIDIA Fermi Tesla 相对上一代产品C1060的双精度浮点运算能力提高了很多,得益于从新设计的GPU功能执行方式。上一代产品的双精度浮点运算能力只有单精度浮点运算能力的8分之1,而Fermi Tesla达到了2分之1。Tesla Fermi 支持ECC内存,使得数据校验得到了保证

firestream9270
AMD FireStream 9270

  而AMD沿用了RV670、RV770的架构双精度浮点运算能力相比单精度浮点运算能力依然保持5分之1的比例。

  Intel于本月初也在德国汉堡国际超级计算大会上首次公布了超多核心(Many Integrated Core/MIC)架构。

啦啦比
Intel 啦啦比

  据说是延续了“larrabee”开发计划,恩就是那个"啦啦比"……

呜呜组啦
呜呜组啦 呜呜塞拉

  对于这届南非世界杯,这个呜呜组啦可是够恼人的。但愿Intel这次别再是杯具了……

骑士角落
Intel 骑士角落

  这套开发平台外形酷似一块标准显卡,其中的处理器芯片代号为“Aubrey Isle”,集成32个核心,主频1.2GHz,每核心支持4线程,总计128线程,并有8MB共享一致性缓存,同时搭载1-2GB GDDR5显存,绑定Intel HPC工具。

  Intel同时已经向特定开发伙伴提供设计与开发套装“Knights Ferry”(骑士渡口),并将在今年下半年扩大合作范围。MIC架构和Xeon处理器之间的Intel通用软件工具和优化技术会支持多种不同形式的编程模型(支持C/C++/Fortran),为科学家、研究人员、工程师提供前所未有的性能,让他们在保留现有软件投资的基础上加快研究步伐。

PowerXCell 8i
PowerXCell 8i 协处理器加速卡

GIGA
 GigaAccel 180 加速卡

   骑士角落,说起角落,历史的角落里从不乏这种东西……(Cell不是GPU)IBM已经宣布停止Cell的开发了。

  套用NVIDIA CEO黄仁勋先生的一句话说,Intel的GPU实物在哪里?

FUSION
AMD 主张“融合”

  谁又能预见未来? 

  欢迎大家进入服务器论坛讨论 [返回频道首页]

   

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

服务器论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品