Nvidia Tesla帮助HPC应用进入质的飞跃
以往对细胞的结构、细胞间的作用以及对外界条件的反应的模拟只有世界上运算性能最强大的计算机集群才能做到,而现在高性能运算技术(HPC,high performance computing)的变革使得模拟的实现不再困难。这次变革意义深远,但说起来却并不陌生,因为它是电子游戏赖以生存的硬件——图形处理器(GPU,graphics processing unit)的变革。
多屏幕显示、多GPU的SUN主机用以计算特定物质穿越细胞膜的原子间力。图片中,模拟显示的甘油正穿越蛋白质形成的通道。
HPC中GPU的应用
游戏图形处理器用作超级运算处理器,乍听起来的确让人有些惊讶,但对于熟悉这项技术的人来说,GPU所蕴藏的强大运算能力早已被认知。GPU的设计基于高强度、多并行运算,尤其适于屏幕显示的图形处理,并可用于各种环境下的计算。与CPU不同的是,GPU拥有更多数据处理单元的晶体管,而负责数据缓存和浮点控制的单元相应减少。这种设计使得GPU特别适于高算法强度、流量并发的单一程序的运算,或是存储交换量大的运算。
GPU强大的运算能力使它在各种数据计算应用中大显身手,比如用地震法探寻石油天然气、生物学细胞的活动以及商务金融中的运算,它的变革越来越改变着工程师和研究人员分析和解决问题的方式。
传统数据计算依赖的高端、多核CPU常采用四个线程依次循环处理数据内容,但具有并行数据处理能力的GPU能将数据内容分块化,然后交由数千个线程并行处理。这种并行处理模式对于大型的数据模块,比如列表和卷册,能大大加快数据处理的速度。
图片说明了离子在分子结构周边的排布情况。GPU用以计算分子周边的一个3D静电场。计算完成后,该场接下来又用于确认在分子模型中离子的正确排布情况。一旦确认了离子的分布状况,就可以进行分子的动态模拟,从而研究分子模型的结构与功能。
#p#page_title#e#
CUDA的作用
HPC的变革起源于一年前NVIDIA发布CUDA,这是一种专门针对GPU的C语言开发工具。与以往采用图形API接口指挥GPU完成各种运算处理功能不同,CUDA的出现使研究人员和工程师可以在熟悉的C语言环境下,自由地输入代码调用GPU的并行处理架构。这使得原先需要花费数天数周才能出结果的运算大大缩短到数几小时,甚至几分钟之内。
变革的步伐随着半年前Tesla GPU的出现而加快,Tesla是NVIDIA专为HPC和超级运算设备市场而设计的系列GPU,它能大幅提升当前运算方案所需的千兆浮点处理能力。这种用于运算处理的GPU现已上市,除了传统GPU的配置,多核的GPU也已运用到桌面PC,带来了性能的提升。服务器领域,4 GPU的1U服务器已面市,表明这项技术扩展到了服务器集群。
CUDA的C语言编译器和开发环境是决定能否发挥GPU潜藏强大运算能力的关键。现今市场上已有超过4500万颗支持CUDA的GPU出现,大量SDK服务包的下载用以客户自身开发的需求。这些都表明了GPU强大的运算能力满足了HPC发展的需求,同时CUDA编译环境的开发更为GPU的发展注入了新的活力。许多计算应用工具,如光谱分析等,为GPU重新编写之后,得到计算结果的时间大大缩短。
这是一张蛋白质外壳剖开图,内部是烟草花叶病毒的RNA结构,这是迄今为止计算机模拟的最大生物分子结构。通过仔细察看病毒结构,研究人员能研究病毒衣壳的构造,从而对病毒的传染有更深的理解。
#p#page_title#e#
GPU产生的影响
伊利诺斯大学(UIUC)的研究人员将这项技术应用到生物分子运动模拟,他们把纳米级分子动态分析(NAMD)和可视化分子动态分析(VMD)软件移植到 NVIDIA的GPU上,运用GPU强大的运算处理能力来模拟DNA实时排序状况,以帮助降低基因药物开发的成本。这样的变动不但带来了处理速度100倍乃至240倍的提高,更为重要的是无需将数据依次上传到远端的大型服务器集群,花费数周等待计算处理的结果,而可以将处理软件安装到桌面PC上,随时进行运算处理的工作。有了GPU和相应软件强有力的支持,生物学家们就可以在弹指敲击间解决新的问题。
UIUC注定不会孤独,麻萨诸塞州综合医院一直致力于医疗成像技术的研究,这能使胸部组织癌症病变的检测变得容易与及时。其实这项技术早在即使几十年前便已提出,然而受限于图像重组所需的运算能力,一直无法运用到实践。 现在运用计算型GPU配以相应的软件,图像的构建能获得100层的增加,在PC上处理时间由原来的5小时降低到现在的5分钟,因而能运用到实际的医疗成像设备中去。
Evolved Machines公司同样也在运用GPU进行人脑的反向工程研究。此项工程的目的首先在于弄清楚神经线路的运作原理,然后将这些原理运用到机器的制造中,以使新的机器拥有近似的功能。据该公司宣称,GPU的运用使运算处理速度比以往有了100倍的提升,双GPU的单一PC运算速度与配有200核CPU的集群服务器一样快,同时带来了成本和功耗的大幅降低。
图为NVIDIA Tesla模拟出来的神经中枢网络。
在金融市场,Hanweck Associates开发了一种实时期货分析引擎——Volera。只需在一台配有三颗GPU的PC上,Volera就能在一秒钟内对150,000种期权进行估价。使用两台这样的系统,通过网络连接协同工作,就能在不到一秒的时间内完成对美国所有的股票期权市场的评估。
这仅仅只是HPC运用GPU解决大型关键问题的其中一个例子。有了强大的运算处理能力,良好的软件开发工具,基于GPU运算的大环境已经形成。开发者突破了自身研究领域的局限,不断产生对问题的新的解决方法。
当然,这种运算的变革并不会使传统的基于CPU运算的服务器集群完全淘汰。但是在众多实际运用中,GPU运算会逐渐替代CPU运算,未来CPU运算也许只会存在于实验室的应用。同时,GPU运算的诞生也会促使许多以往因运算能力不足而不可行的新方法的重生。NVIDIA作为GPU领先的开发者,对这种变革做出了巨大的贡献。
#p#page_title#e#
Tesla桌面式和服务器产品线
目前,NVIDIA针对HPC市场的Tesla系列产品可分为桌面和服务器两大块。
这是为桌面PC设计的Tesla产品:Tesla C1060,可以很清楚的看到,与普通的8系列显卡相比有一样的导热管道和风扇设计,但不同在于没有任何外接接口。
没有外接接口,自然无法把它等同于普通显卡一样使用,但有了双管道冷却槽的设计,Tesla的散热性得到了提高。
桌面式Tesla同样采用PCI-E16 x接口与主机相连接,所以主机上最少需要两条16 x的插槽,一条留Tesla,另一条为主显卡使用。
Tesla C1060则与NVIDIA的另一款产品Quadro Plex相类似,都是作为一个外部的图形处理工作站。每个如上图的工作站内都包括1到2块的Tesla C1060卡,它们协同处理HPC数据,并且每个工作站单元都能通过PCI-E 16 x适配卡与桌面PC或服务器连接起来。
在关注桌面和工作站领域的同时,NVIDIA深知要想在HPC市场获得认可就必须要在服务器领域推出重量级的产品。
上图显示的是Tesla S1070服务器的配置情况:一台或更多Tesla服务器与基于CPU的服务器通过PCI-E卡连接起来。为了发挥Tesla服务器最大的效率,NVIDIA的官方建议是每颗GPU对应一核CPU,也就是说一台4x4的服务器(16核)能支持16颗GPU(2-4台Tesla服务器)。
NVIDIA的3U和5U服务器
上图所见就是1U服务器的内部构造图,包括一个供电装置,GPU卡以及风扇,结构并不复杂。GPU卡上有导热贴片,并且在边缘位置有风扇装置帮助散热。NVIDIA在服务器中集成了板载芯片用以反映风扇的运行状态以及温度的变化情况,这样管理人员就能远程监控服务器的运行情况,防止GPU过热现象的发生。1U的单元设计上能支持4核或是8核的GPU,但目前支持8核GPU的主板还没有上市,但相信不久即可面世。
服务器的后面板有一个电源接口和两个数据接口,其中每个数据接口能传输4核GPU处理的数据量。
从前面板上看,只能看到一排风扇装置,可以猜想Tesla S1070服务器运行时噪音应该不小。
小结
前文介绍了Tesla GPU在HPC领域的多种应用,为GPU开辟了一条新的发展道路。可以看到,GPU强大的运算能力为众多问题的研究提供了新的方法,使以往受限于运算能力而无法实现的方案得以重生。接下来,对NVIDIA Tesla的产品线做了介绍。
NVIDIA在应对AMD吞并ATI以及Intel宣布进步多并行处理器市场这些挑战时,不再自封于游戏和图像显示芯片的生产,而将眼光投入到具有更大价值的HPC市场。Tesla的成功推出为NVIDIA今后在与对手的竞争中占得了先机。
并行计算王者-Tesla个人超级计算机硬件配置