CPU数量的增加不仅带来了性能的提升,还带来了可用性降低、功耗和成本攀升。未来,高性能计算路在何方?Andy Keane眼中CPU与GPU的结合才是最好的计算架构。
随着IBM高性能计算机“走鹃”于2008年6月诞生,高性能计算机(HPC)迈入千万亿次门槛。
用户对高性能计算需求的持续增长,推动着HPC规模越做越大。在由CPU构成的高性能计算的世界中,由于CPU计算性能的提升速度远远落后于高性能计算需求增长的速度,增加CPU的个数便成为提高HPC性能的主要途径。如今全球高性能计算500强(Top500)中已经出现内核累计总数多达20多万个的HPC。
但是,在提升性能的同时,CPU个数的增加也给HPC增添了复杂性,并带来可用性降低、系统功耗惊人、成本高居不下等问题,让HPC厂商日益感到头痛。于是,高性能计算厂商开始探索新的提升HPC性能的途径。IBM的“走鹃”就是采用CPU和Cell处理器的混合架构,AMD和Intel也都分别对外发布了各自的CPU+GPU(图形处理器)的混合架构。
作为GPU领域龙头老大的NVIDIA自然不会放弃在高性能计算这一CPU的传统领地炫耀性能的机会。它先是推出了CUDA架构,使得程序员可以用C语言对CPU和基于CUDA架构的GPU进行统一编程,从而解决了因编程复杂而被程序员敬而远之所造成的GPU应用难以普及的问题。进而,它又推出了面向高性能计算的Tesla系列GPU。2008年11月21日,NVIDIA在美国德克萨斯州奥斯汀市举办的2008超级计算大会上联手HPC的巨头Crayon推出个人HPC。与此同时,会上公布的Top500中,采用Tesla技术的HPC首战便占据了第29名的位置,标志着NVIDIA从个人HPC和高端HPC全面切入高性能计算领域。
为此,本报记者独家专访了NVIDIA高性能计算事业部总经理Andy Keane。
HPC中的GPU
记者:GPU在高性能计算中的性能已经到达了何种地步?
Keane:CPU的运算速度在很大程度上还取决于缓存的大小,而GPU则是在任务并行化后用大量的线程来进行运算。虽然CPU已经多核心化,可以多达8个内核,但在并行计算时,显然不是GPU上千个线程的对手。
比利时有所大学,以前用的是512个CPU组建的HPC,当他们了解到GPU的运行功能很强后,试着自己搭建了一台配置有8个GPU的台式机,结果性能竟与以前512个CPU的HPC不相上下。
记者:既然GPU的性能远远超过CPU,那么NVIDIA何时开始关注GPU的计算能力?
Keane:15年前,我们就开始针对3D游戏开发GPU了。但GPU的编程很复杂,因而应用主要是集中在图形显示领域。之后,我们开发了CUDA架构,你可以把CUDA想象成与x86相似的硬件架构,它允许应用开发者用他们熟悉的语言对GPU进行快速编程,从而为GPU拓宽了应用范围。现在,NVIDIA所有的GPU都支持CUDA架构。
记者:懂得计算机的人都知道,并行编程要比串行编程复杂得多。程序员如何在CUDA平台上对CPU和GPU统一编程?
Keane:尽管CPU与GPU之间在架构上存有很大的区别,但我们觉得CPU与GPU的结合才是最好的计算架构。于是我们在CUDA上推出了C语言编译器,程序员在开发应用程序时,只要对序列执行的程序代码和并行执行的程序代码简单地进行标注,C编译器就可以向PC解释哪部分该由CPU做,哪部分该由GPU做。
记者:CUDA的编程看来不难,那么搭建一个个人HPC难不难?
Keane:用Tesla组建个人HPC是件很容易的事。你只要把买到的Tesla卡插到PC主板上的PCI插槽,你的PC就变成了1台个人HPC。
记者:Tesla贵吗?
Keane:4个GPU的价格在9500美元~1万美元之间,3个GPU的Tesla价格为7000多美元。但与同等价位的工作站相比,我们的性能应该有百倍的提升。
记者:我们看到现在全球性能最高的HPC“走鹃”所采用的CELL处理器实际上就是一个集成了8个流处理器和一个CPU内核的处理器,而GPU也是由数百个流处理器构成的。你是如何看待CELL的?
Keane:CELL的编程要比CUDA复杂得多。CUDA本身就是一个GPU架构,我们所有GeForce、Quadro和Tesla产品线都可以很完美地对其提供支持。它的编程模式是很简单的,语言与C语言非常接近,编译器与C语言也基本一致。唯一的改变是将之前的串行计算更新为并行计算。在过去的一年中,CUDA积累了大量的应用程序,而且在美国,也有很多活跃的论坛讨论CUDA的编程问题。我们也在CUDA中文网站上开设了CUDA中国专区,上面有144个使用的案例。对于程序员而言,这些编码都是开放的。
记者:在基于Tesla搭建的HPC中,GPU与CPU从指令集上看是异构的。而英特尔最新展示的具有80个内核的Larrabee。
Andy Keane: 2006年加盟NVIDIA,出任GPU计算事业部总经理,全面负责这一全新业务部门的组建和运营。他曾为3dfx和QED的快速发展以及公开上市做出了卓越贡献。3dfx带动了消费级3D图形加速器的发展,而QED则是世界首批多核处理器供应商之一。他还在Xilinx早期进行的可重配置计算以及FPGA系统的开发过程中发挥了重要作用。Keane还曾任职于英特尔生产设计部门,从事容错并行计算技术的生产设计。
最近,刚刚庆祝了十周岁生日的英特尔中国研究中心迎来了英特尔研究获取的两项最新成果——按Tick-Tock战略完成下一代32纳米芯片制造工艺开发工作和在硅光电子领域做出基于硅的、拥有创世界纪录性能和明显成本优势的雪崩光电探测器。这两项成果让我们这些在英特尔内部从事研发工作的人振奋不已。这种振奋,一方面是源于它们可以大大增强英特尔在技术上的领先地位和未来产品的竞争力;另一方面,则是因为它们来的很是时候,正好赶上了大有愈演愈烈之势的全球金融风暴。
或许有朋友会问,英特尔发布技术创新成果,和眼下的经济形势有什么关系?事实上,这场危机的影响已经开始从很多IT企业的业务部门波及到了研发部门,让他们不得不开始紧缩在研发上的投入。在这种情况下,英特尔是不是也要采取类似的措施,放慢技术创新的脚步?对于这个问题,我们的董事会主席贝瑞特和CEO欧德宁早已做出了回答:即使全球经济出现衰退,英特尔也会坚持对产品和技术领域的创新投入。
英特尔本身就是一个以领先产品和技术为安身立命之本的企业,而且在过去40年的发展历程中,它已经形成了一个传统,那就是要用加大技术创新的力度方式来主动对抗危机,而不是仅仅依靠压缩支出被动地熬过困难期。因为后一种策略即便奏效,也会让公司大伤元气,无法在经济形势转暖时迅速恢复原有的竞争力,而前一种办法不但有助于公司在危机后获得进一步拓展业务领域和竞争优势的机会,甚至在危机持续过程中,它也可能为公司找到新增长点,化危机为转机。
我们当然可以把一个小型CPU集成进来,但这样对GPU计算性能的提升并没有益处。就高性能计算而言,高速异构计算架构是一个CPU搭配多个GPU,然后更多的CPU搭配更多的GPU,这样,GPU就可以发挥加速器的作用。
记者:既然高性能计算市场这么大, NVIDIA会不会借助Tesla成为HPC厂商?
Keane:不会的。我们的优势就在GPU上,我们也生产主板,但是我们的研发都是投在GPU上。这一点,我们的CEO说得很清楚,NVIDIA会一直专注在GPU上,不会在其他地方分神。