不再另类 GPU成高性能计算主流加速技术

间隙填充
正睿科技  发布时间:2010-11-05 15:22:21  浏览数:1447
几年前,谈到用GPU来加速并行计算,很多人会觉得这是一种很新奇、很另类的技术。不过,今天GPU在高性能计算系统里用得越来越普遍。特别是随着TOP100、TOP500里“CPU+GPU”的异构系统越来越多,很多人都看到了GPU非同寻常的潜力。

  记得2008年底,笔者采访NVIDIA(英伟达)公司Tesla计算事业部总经理Andy Keane,当时他提出,到2010年采用NVIDIA GPU构建的超级计算机会进入全球高性能计算机TOP500排行榜的前十位【查看】。在当时看来,这似乎只是一个梦想,因为当年11月公布的榜单上,NVIDIA Tesla的最好成绩是第29位。

  Tesla有望拿下全球第一!

  两年过去了,在10月28日的全国高性能计算学术年会(HPC China 2010)上,笔者再次见到了Andy Keane,这次他的心情倍爽——NVIDIA不仅早在今年6月份就已经与曙光星云合作获得TOP500第二名的成绩,而且另一套使用NVIDIA GPU加速的机器有望在即将于11月份公布的新一期榜单中拿第一!

Tesla有望拿下全球第一!

  当天,由国防科技大学研制的“天河一号A”超级计算机系统正式发布,Linpack测试性能高达2.507 Petaflops(千万亿次),是2010年6月位于TOP500第一名的Cray机器的1.425倍,成为当前全世界最快的超级计算机。在当天发布的2010年中国高性能计算机TOP100排行榜上,天河一号A以超出第二名1.57倍的成绩夺取冠军,如果不出意外的话,还将成为11月份新一期国际TOP500的状元。这套采用CPU+GPU模式的异构系统采用了7168颗NVIDIA Tesla M2050 GPU以及14336颗英特尔CPU。【Top100爆冷门 天河一号力压星云再夺魁】【天河一号最牛!高性能计算TOP100五看点

  由于天河一号在2009年使用的是英特尔CPU+AMD GPU的架构,为什么在今年升级成了NVIDIA的GPU呢?对此,Andy Keane表示,“最主要的原因是软件,NVIDIA的优势在于有一个非常广的编程环境,支持多种开发语言,能提高应用开发人员的效率。其次,新一代的Tesla支持ECC、SMI管理和其他软件工具,可以更好地对集群进行管理。毕竟把7000多颗GPU放在一个系统中,管理维护有大量的工作要做。”


  GPU应用主流化

  实际上,让Andy Keane感到更加欣慰和振奋的是,得益于高性能、低功耗等优势,GPU已经成为大型超级计算机流行的加速技术。在最新的国内TOP100排行榜中,采用CPU+GPU混合架构的高性能计算机就达到了7套,其中6套都使用了NVIDIA的GPU与英特尔CPU搭配,有5套排进了TOP10,而且都是2010年新安装的。

GPU应用主流化
▲2010年TOP100 HPC排行榜中的"CPU+GPU“异构集群

  不过,通过上表,我们看到,这7套GPU系统的计算效率都偏低,最低的只有18.2%,最高的也不过54%,而一般CPU集群的效率最高可突破90%,比如排名第20位的安装在南京大学的IBM BladeCenter HS22刀片集群的效率就达到92%。对此,Andy Keane解释说,一方面对于CPU和GPU的效果有不同的衡量机制。简单而言,CPU的效率即便在80%以上,但实际上比效率只有50%的GPU还是要慢很多,在每瓦特性能上GPU也明显更高。另一方面,系统的实际运行效率要由它所运行的应用来决定,比如中科院过程所的Mole-8.5是专为处理分子动力学和离子仿真设计的,实际应用效率很高,可以达到70%以上,但Linpack效率却只有18.2%。其原因就在于这个专用系统在计算时节点之间没有通讯,而Linpack程序要求节点之间是有通讯的。

  不管怎样,自2006年NVIDIA公布Tesla GPU和CUDA架构以来,经过了近4年时间的努力,GPU在高性能计算领域正在开花结果。“跟其他国家相比,中国确实是最早先使用GPU的国家,而且使用时间也是最长的。” Andy Keane表示,“不过,在11月即将发布的TOP500中,国际上会有更多使用CPU+GPU的异构系统出现。”

  近一两年来,除了与曙光、国防科大、浪潮等本土厂商或用户合作之外,NVIDIA的GPU也受到了IBM、惠普、戴尔、Cray等国际大厂的青睐。如IBM在其面向高密度计算环境的iDataPlex中就提供了对Tesla的支持。而惠普也推出了使用Tesla GPU模块的超高可扩展系统HP ProLiant SL390s G7。比如,日本东京工业大学的新一代TSUBAME 2.0就使用了1400多台HP SL390s G7作为计算节点,每个节点可搭载两颗英特尔至强5600处理器以及3块NVIDIA Tesla M2050 GPU。【参考阅读:惠普SL390s G7 高密度GPU计算新宠


  “和谐”背后的明争暗斗

  有趣的是,尽管CPU与GPU在用户的系统中相互搭配,显得很“和谐”——CPU负责执行顺序型任务,如操作系统和数据库,GPU则主要承担并行计算任务,但英特尔和NVIDIA这两家公司却一直在明争暗斗。就在28号当天上午的主题演讲中,英特尔高性能计算架构师David Scott指出GPU编程难等不足,并建议用户不要用GPU,而是等待英特尔将要推出的X86集成众核处理器(MIC)。

  对此,Andy Keane表示,“两家公司之间的竞争会加强,会越来越激烈。在CPU市场处于垄断地位的对手显然不愿意看到市场上有任何新技术带来挑战和竞争”。

“和谐”背后的明争暗斗

  除了英特尔的MIC,针对目前市场上CPU与GPU在芯片层面相互融合的趋势,如AMD的Fusion,IBM引入矢量处理单元的POWER7,Andy Keane告诉记者,“从长远来看,我们肯定会推出这样一种技术,但至于什么时候推出,如何推出,现在还没有定,但肯定会有这样的打算。”

  在Andy Keane看来,对于大型的超级计算机来说,能否与X86兼容并不是用户最关心的主要问题,更大的挑战是来自能耗,因此需要有一个非常节能的架构,高性能计算才能得到继续发展。“X86是不可以实现的,也许是未来的GPU或者其他的技术。”