NVIDIA公司Tesla产品总监Sumit Gupata先生,是一位来自印度的计算机博士,在任产品总监之前是Tesla产品工程师,对于GPGPU技术有很深的了解
NVIDIA公司在GPGPU方面可谓不遗余力,其自行开发的统一计算设备架构(CUDA,Compute Unified Device Architecture)以及在此基础上专门用于高性能计算的Tesla产品线已经成为了HPC领域中越来越不可忽视的力量,在2010年NVIDIA将推出新一代的基于Fermi架构的Tesla产品,而我们的话题也从GPU对HPC的影响开始展开。
HPC越来越需要GPU计算的介入——混合计算大趋势不可逆转
Sumit Gupata表示,人类的文明进步已经让人类对计算的需求越来越深入,很多科学领域的研究已经越来越微观化,比如生物学、流体力学、空气动力学,并且在数据展现时也越来越强调可视化处理,比如断层分析、气象绘图、石油勘探中的地震数据解释等等,而且人们对于计算的速度也要求越来越高——能实时的模拟现实中的演变是人们不变的最高追求,但以现有的阶段来看,离这个梦想还有很长的路要走,这就需要有一个强有力的计算工具介入,以加速运算能力的提高。
我们的生活越来越离不开计算,很多基础的、深层次的研究在驱动着我们人类文明的继续进步,但这种研究则需要强大的计算能力的支撑
在微观世界模拟方面,主要就是对数量重多的模拟对象进行演变计算,比如在设计汽车时,想知道汽车的外形所带来的空气阻力,就要对所涉及到的空气分子的流动状态根据相应的物理学算法进行分析然后再予以汇总,而空气中的分子数量之庞大是可想而知的,如果每一个空气分子(它是空气流动的基本单位)都是一个模拟对象的话,这样的计算数据量也将极为巨大。显然它需要一个极为庞大的并行处理架构以应付数量如此之多的计算对象,这也就是为什么HPC更多的是强调超并行计算能力与效率的原因。
另一方面,这类的计算对象所需要的更多的是浮点计算能力,因为要精确的计算出各微观对象的运动状态,整数计算是不可能完成的,例如计算100.0÷3,整数计算的结果是33,而浮点计算的结果则是33.33333333,你说哪个更精确呢?再比如圆周率,你就无法用一个整数去表达,而它在很多科学计算中可是一个太常用的参数了。反过来如果你愿意,一个整数则可以用浮点数来表达(比如整数5可表达为浮点数5.00)。所以,高效率的、高准确性的科学计算是与强大的浮点计算性能分不开的。尤其是双精度浮点性能,因为在很多场合,单精度浮点运算所产生的累计误差将让HPC失去可用性。
生物科学中还有很多的迷没有解开,而高性能将是解开这类迷团最重要的工具
目前,一个急需计算能力的显著例子就是生物领域的微观研究。在2006年时全球最顶级的HPC计算能力(当年TOP500最高水平是IBM的BlueGene/L系统,理论峰值性能是596TFLPOS,采用了212992个PowerPC 440核心)也只能对核糖体的做勉强的演算,而计算8个月才能模拟核糖体2ns时长的演变,但一个核糖体只有270万个原子组成,如果想研究拥有10亿个原子的细菌则需要10亿亿次的处理能力(1 EFLOPS)。而当前全球的TOP500的顶级水平也就是千万亿次的水平,可见差距还是十分明显的。这其中最主要的原因就是处理器的核心数量限制了基本的并行处理能力,虽然可以通过群集的手段,将多个计算节点联合起来,但这样做之后的成本与能耗也将是十分惊人的,所以HPC也一直给人一种“高贵”的感觉。即成本“高”,使用“贵”。
2009年6月份的TOP500的计算能力排列曲线,最后的一名所需要的成本也高达100万美元
如果采用GPU计算设备,那么在投资不变时,计算能力将是原来的4倍,达到68TFLPOS(TOP500的排名也将上升至第57位,若以2009年11月的排名计算则是74位),而在相同的计算能力,投资只也有原来的1/4
Sumit Gupata相信,GPU计算的加入将大大改变这一现状。它在迅速提高计算能力的同时,也大大降低了HPC系统的采购成本。而这一切都源于GPU的先天优势——数量更多的处理核心。
目前主流4核心处理器与NVIDIA即将推出的Fermi GPU的对比,后者有512个CUDA核心,双精度浮点性能超过了前者的10倍
GPU原来就是为了3D图形计算而设计的,而3D图像计算中的基本计算单位就是像素,以当前流行的1920X1080的分辨率来计算,就是207万多个像素,为此GPU设计了数量众多的处理核心,来提高像素的并行处理能力。而从这种计算模式中,我们可以看到与上面所讲到的微观科研计算很相像,所以GPU也具备了天生的高并行科学计算的能力,尤其是那些像像素这样的,彼此相对独立的微观体计算的领域,每个微观体的计算基本是自成一体的(除非有相互作用时),不需要那种串行计算必须等待上一个计算结果才能开始下一步运算的模式,也就非常适用于粒子科研计算领域。事实上也是如此,科学计算中的相互作用越少或者这个相互作用越有规律,GPU的并行处理能力也就体现得越充分。
相同的HPC应用下,GPU计算相对于CPU计算的加速比
目前GPGPU已经有不少的HPC应用软件投入了使用,并且都取得了不错的相对于传统CPU计算的加速比,最高达到了149倍(金融模拟)、最低也达到了18倍(视频转换),由此可见GPU计算的威力。
因此,当我问到如何看待未来CPU+GPU混合计算的趋势,它是否将最终替代传统的纯CPU解决方案时,Sumit Gupata坚定的回答到,“肯定的,但凡是HPC领域里的人,都不会否认这一趋势
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23488520/viewspace-631629/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23488520/viewspace-631629/