变革时代
当年一场场CPU革命把人类推上了IT列车,如今GPU正把火车换成飞机。而一直在IT方面不断追赶的中国,此次也搭上了头等舱。
近日,中国科学院和清华大学分别被授予CUDA卓越中心的称号,以表彰他们在利用GPU进行高性能计算的突出贡献,而亲自授予他们这个荣誉的正是GPU计算革命的发起者和主导者-----NVIDIA(英伟达)公司。在双方眼中,GPU计算不仅是世界IT业的下一场革命,也是中国赢得IT奶酪的绝佳机会。
GPU取长CPU补短
在人们都习惯了“Intel Inside”之后,再提计算革命似乎总有点班门弄斧,但事实胜于雄辩,GPU以极其强悍的数据证明,下一场颠覆性的计算革命已经到来,世界需要新的计算之王。这不是噪音,也不是口号,而是正在发生的巨变。在英特尔的奔腾时代,摩尔定律让处理器的主频时钟速度在短短几年显著提升。但是随着摩尔定律的进步,从45纳米到32纳米,CPU集成的晶体管越来越多,但在高性能计算方面性能还不能满足用户持续增长的需求。同时基于CPU的大型计算服务器也由于高额的采购成本和维护费用也成为了无法逃避的弊端。高性能计算的明天在哪里?革命在何方?GPU计算应运而生。如果说上一次计算革命——集成电路,让过去占据一幢房子大小的高性能计算机缩小到一个房间,也就此掀起一场个人消费电脑的普及革命。而如今GPU计算的革命可以将几个房间大小的高性能计算服务器缩小成一台个人电脑的大小,以GPU为基础的个人高性能超级计算机就此诞生!
改变的秘密在于CPU和GPU的本质区别。
CPU的设计宗旨就是要从指令流中得到最高的处理效能,即要用最短的时间完成一项任务,这就是串行计算,但串行计算架构的CPU天生就不适合高性能计算领域所强调的并行计算工作,这是为什么CPU现在成为了高性能计算性能提升的瓶颈。相形之下,始于图形处理的GPU一开始就是被设计来处理大规模的并行计算,数千万的多边形和像素的并行处理使得GPU在发展的同时不断地加入更多的处理核心并完善并行处理能力。举个今天GPU计算应用的实例,比利时安特卫普大学原来用的超级计算机有512颗处理器核,成本是530万美元,占用了好几个机柜;而后来换成一台拥有8个GPU的台式系统,性能相当,成本只有7000美元,占地面积也大为减少。以GPU计算为基础的高性能计算服务器在成本、性能等方面的优势毋庸置疑。但拥有先天的强大并行计算能力的GPU被广大高性能计算用户所接受的道路并非一帆风顺。作为先驱者,NVIDIA(英伟达)1999年就推出GPU,2002年就开始大力推广GPU计算技术,推出第一个可编程的GPU,提出了GPGPU概念,即具有通用计算用途的GPU,这开始让CPU厂商恐慌。但GPGPU编程难度太高,无法快速推广。2003年,NVIDIA(英伟达)开始全新尝试,举三年之力,于2006年成功推出CUDA架构(Compute Unified Device Architecture),于2007年正式发布。
CUDA是一个更适合于并行计算的架构,提供了硬件的直接访问接口,并率先提供了针对GPU(图形处理器)编程的C语言开发环境。CUDA是由NVIDIA(英伟达)推出的通用并行计算架构。该架构充分将GPU强大的并行计算能力调动起来,使GPU能够在解决复杂计算问题上发挥其先天的优势。开发人员现在仅使用C语言(C语言是应用最广泛的一种高级编程语言),就能在基于CUDA架构的GPU(图形处理器)上编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。CUDA将来还会支持其它语言,包括FORTRAN, Python以及C++。不仅如此,CUDA还是免费的开源技术,使广大开发者都能挖掘NVIDIA(英伟达) GPU巨大的计算能力,解决复杂的科学运算问题。
CUDA技术开启了GPU实现通用运算的大门,是GPU从专用平台走向通用平台的一个里程碑,自然也是下一场计算革命的真正起点。与英特尔的X86架构不同,CUDA基于GPU,但不拘于GPU,而是取长补短,将CPU串行计算和GPU的并行计算融合,开启“CPU+GPU协同计算”的全新时代,即“异构计算”。“异构计算”真正实现了系统整体计算能力的最大化利用:GPU和CPU协同工作,GPU处理大量的图形和并行处理,CPU处理操作系统和指令的逻辑控制。两者的协同比以往单纯CPU运算高出几十倍甚至几百倍,上千倍,将一直局限在大型服务器集群和超型计算机领域的高性能计算推向主流,可以使得PC和工作站具有超级计算的能力,使得个人超级计算机的普及成为可能,成为一场真正的革命。目前,基于CUDA架构的GPU不仅成为游戏玩家的最爱,也受到科研机构的青睐。诸如地质勘探、生物科学、流体力学、金融建模、医疗成像、有限元计算等新兴应用领域,都开始广泛地通过CUDA架构利用到GPU强大并行处理能力,所有开发人员都能够使用标准的C语言,挖掘GPU中多个处理单元强大的并行计算能力。随着开发人员的不断壮大,现在GPU计算渗透的领域不断增加,与CPU并驾齐驱。迄今为止,NVIDIA(英伟达)已经在全球卖出了超过1亿颗以上支持CUDA架构的GPU产品,CUDA开发人员的数量已经超过25000人,应用程序超过100个,全世界有250多所大学开设了CUDA课程,包括中国科学院、清华大学等,GPU计算的生态系统已经形成。目前由GPU集群组成的高性能计算机集群数量已经达到30个,预计到2010年采用NVIDIA(英伟达) Tesla GPU构建的超级计算机有望进入全球高性能计算机TOP500排行榜的前十位。
网友评论