【IT168 专稿】近年来,关于使用GPU协同CPU进行大规模高性能并行计算的做法引起了业界的广泛关注。特别是从去年以来,NVIDIA公司在全球推出了基于“CPU+GPU”混合架构的Tesla高性能计算系统,并推出了基于CUDA架构的软件编程环境。那么,Tesla和NVIDIA公司传统的Quadro、GeForce显卡有什么区别呢?Tesla在高性能计算领域的性能表现和应用前景如何呢?
近日,NVIDIA公司Tesla计算事业部总经理 Andy Keane接受了IT168、PCPOP、ZOL和CHIP等四家媒体记者的联合专访,对上述问题做了深入浅出的阐释。
Tesla和Quadro、GeForce的区别
记者:对于高性能计算和图形处理应用,面对Tesla个人高性能计算机和普通显卡,我们应该如何选择不同的配置?
Andy:Tesla个人超级计算机一般需要搭配一颗四核处理器,每个CPU核心匹配一颗GPU。根据计算问题的具体情况,主内存容量可从4到16 GB之间选择。为CPU配备较大内存的系统被用于处理更大的数据集,例如地震应用程序中所使用的数据集。分子动力学等其它类型的应用程序则不需要巨大容量的内存,因此4GB足够了。图形处理方面就视应用程序而定了。对于大多数计算应用程序来说,NVIDIA板载GPU这样的简单GPU或一块Quadro NVS显卡就足够了。如果应用程序集计算与可视化于一身,那么这样的应用程序一般需要较高的显卡性能,可选用从Quadro NVS到高端的Quadro FX 5800产品。
记者:从硬件层面看,Tesla配备的显存容量比GeForce更大。但Quadro也有一些4GB显存的版本。NVIDIA如何说服消费者购买Tesla产品而不去选择价格更便宜的Quadro或GeForce呢?
Andy:这里其实有两个问题。
确实有4GB显存的Quadro显卡,但是其价格远高于Tesla。Quadro支持高速OpenGL渲染,速度远高于GeForce,因此这项技术的价格自然高于Tesla。Tesla不支持OpenGL。
GeForce是计算用户的另一种选择。Tesla专为企业部署而设计,拥有更高级别的专业显存,专为处理计算类应用程序而设计。此外,Tesla产品由NVIDIA设计、制造和提供质保。Tesla市场供应周期更长,并提供3年质保。对于这些需要更加可靠的企业级产品的公司,Tesla是最适合的产品。Telsa还有专为数据中心设计的1U系统产品。
记者:在后续产品及芯片技术规格上,Tesla是沿用同期的GeForce和Quadro产品,还是采用只为计算用途而重新设计的芯片和架构?
Andy:当前的策略是在Tesla产品线中采用具备特殊特性的标准GPU。现在,GeForce、Quadro以及Tesla中的计算特性是相同的,但是在将来的产品中,Tesla将拥有专为高性能计算而设计的其它特性。这些产品线中的性能级别也会有所变化。
通过在专业级图形产品中使用与消费级相同的GPU,Tesla在容量较小的高性能计算市场上获得了规模经济效益。这就是所有定制高性能计算处理器与系统专业供应商被市场淘汰的主要原因,未来唯一可行的技术是基于大众市场的技术,例如GPU。
GPU与CPU计算的不同
记者:Tesla基于NVIDIA CUDA,该技术最显著的特点就是能够利用GPU的并行计算能力,在大规模、高带宽计算中有着极大的优势。 但是,面对串行计算密集型任务,Tesla是否有解决办法呢?
Andy:GPU及其内部的CUDA架构是专为并行计算而设计的。
串行计算是一种有很大区别的架构,这种架构的设计目的是为了解决不同的问题。CPU执行指令的方式就是一个接着另一个地执行。CPU中有许多能够加速串行计算的技术。高速缓存、无次序执行、超标量技术、分支预测……均为抽取指令的技术或一系列指令的串行级并行机制。CPU对片上高速缓存的设计与容量的依赖也非常大。如果程序大小与CPU高速缓存容量不匹配,那么该程序在CPU上的运行速度将会很慢。
GPU内部的并行计算架构围绕两个基本概念而设计。首先,程序中的数据可分成许多个部分,而为数众多的核群可以并行地处理这些数据。第二个架构方面的设想是,数据将不与高速缓存匹配。例如在图形计算或石油天然气数据处理上,数据量可能会达到兆字节甚至是太字节,用高速缓存来容纳如此巨大的数据量几乎是不切实际的。考虑到这两点设想,GPU被设计为能够使用数以千计的线程,所有线程均并行地执行,能够访问巨大容量的本地存储器。在最新的Tesla产品中,每颗GPU均配备4GB存储器,可容纳待执行的数据。同时针对反复使用的数据,还设有较小的片上存储空间,GPU所配备的巨大容量存储器等同于CPU内部的高速缓存,只是容量大了许多倍而已。
Tesla在高性能计算领域
记者:目前GPU系统在全球高性能计算机TOP500排行榜中最好的成绩是第29位——东京大学的Tsubame超级计算机。 在您看来,到2010年之前,Tsubame是否有机会跻身世界十强超级计算机? 还有哪些超级计算机有希望跻身世界十强或五百强?
Andy:我不能代表东京工业大学超级计算领军人物的意见。但东京工业大学全球科学资讯和计算中心总监Satoshi Matsuoka博士曾公开表示,他打算使用GPU在2010年打造出一台荣登世界最快榜单的计算机。还有更多使用GPU打造的超级计算机。美国国家超级运算应用中心(NCSA)以及法国原子能委员会(CEA)是两家著名的超级计算中心,他们将跻身下一届世界五百强榜单。
记者:当前,NVIDIA GPU的双精度性能仅相当于单精度的8%。 到2010年之前,你认为这种性能可以有多大的改善? NVIDIA会采取怎样的技术手段来确保这种性能提升呢?
Andy:当前10系列GPU是首批拥有双精度的NVIDIA处理器。过去这种性能曾作为GPU的一个模块添加在GPU当中。而在这一代产品中,我们为每组八个单精度处理器加入了一个双精度单元。随着快速发展,未来的GPU将拥有更多双精度单元。由于GPU的性能一般每年都会翻一番,未来双精度性能将至少比当前的速度快5倍。
记者:中国的超级计算机用户在获取软件时,要么购买商业软件,要么自己开发,或者在商业软件方案的基础上进行二次开发。CUDA与独立软件供应商之间有一定的合作,那么,你们有没有成熟的软件应用程序推荐给用户使用? 另外,CUDA怎样帮助那些想要自己开发软件的用户?
Andy:我们与打算发布超级计算软件的独立软件供应商都进行了积极的开发工作。分子动力学领域的《NAMD/VMD》以及《GROMACS》是为群集GPU发布的两个应用程序例子。在美国的超级计算展会上,我们还展示了许多用于石油天然气领域地震处理、量子化学以及Ansys有限元设计的应用程序。
对于想要自己设计和开发应用程序的开发人员,用于CUDA架构的并行计算开发C语言编译器可从NVIDIA网站上免费下载。Portland Group的Fortran等其它编译器也正在陆续推出。有很多来自NVIDIA以及其它来源的程序库,这些库使应用程序更易于开发。针对这些不懂C语言或Fortran的开发人员,Accelereyes以及Wolfram(Mathematica)等公司还提供了GPU加速版的软件。因此你可以看到,利用GPU计算优势的方式有许多种。
记者: 今年NVIDIA推出了Tesla个人高性能计算机,并会与惠普、CRAY公司联合发布一系列的小型高性能计算系统。 这是否意味着NVIDIA认为高性能计算将从大型计算机发展到台式机以及桌边型计算机上来?这对传统超大型计算机会产生怎样的影响?
Andy:想要对科学技术产生最大的影响,高性能计算就必须发展到科学家们的桌面上。每一名研究人员、科学家以及工程师都应该拥有自己的超级计算机,这些计算机应该具备足够的实用性能来满足他们的工作需要。想象一下如果这些才华横溢的人们能够更快地解决问题,那么科学发展的节奏将会变得怎样。凭借这些基于GPU的工作站以及拥有兼容处理器的超级计算机,现在的技术计算达到了前所未有的全新水平。
在接下来的几年里,GPU将越来越多地被大型计算所采用。GPU拥有超高的计算密度和显存带宽,足以支持这种计算性能的增长。GPU将成为超级计算机中极其重要的动力源泉。GPU每年的出货量数以百万计,在超级计算领域中,它现在已经成为高性能、低能耗并且是人们买得起的并行处理器。