当NVIDIA 2007年发布CUDA时,也许所有人都没有想到一年后的现在无论在高性能计算的企业计算领域还是在个人身边的最为热门的软件,我们都可以利用GPU或者显卡来为其提速了。对于企业来说,这一场革命,我们可以看到上千个基于CUDA的包括地质勘探、医学、数学、生命科学、金融、流体力学等运算,因为CUDA通过GPU加速而比原来高性能PC CPU加速提速几十上百倍。我们也看到,使用GPU加速,让大家IPOD,MP4中的视频节目制造时间可以缩短5-10倍,这一切正因为NVIDIA CUDA和它的硬件——GPU这一年多来的惊人发展。
什么是CUDA?
使用了CUDA的GPU计算通过标准的C语言将下一代NV GPU的总多计算特性结合到一起。在这之前的GPU是基于“流式着色程序”的,CUDA则使用C语言,通过“线程”来创建应用程序,这类似于CPU上的多线程程序。相比较于仅能有很少线程同时工作的多核CPU的而言,NV GPU的特性可以让CUDA同时执行数千个线程,这将令我们的应用能处理更多的信息流。
CUDA所提供的最重要的创新在于,它使得工作在GPU上的线程可以协作解决问题。在线程间通讯实现以后,CUDA将允许应用程序更加高效的执行。由NV GPUs的支持,CUDA有一个直接在GPU上的并行计算缓存,它用于保存频繁使用的信息。在GPU上保存信息可以让计算线程即刻得到共享数据而不是去漫长的等待off-chip的DRAM上的数据。
它能让用户实时的计算出复杂问题的答案。通过CUDA应用程序所能获得的好处 CUDA GPU运算广泛适用于需要处理大量数据的应用。例如,在游戏中我们可以使用CUDA来让GPU承担整个物理计算,而玩家将会获得另他们感到惊奇的性能和视觉效果。另外,用于产品开发和巨量数据分析的商业软件也可以通过它来使用一台工作站或者服务器完成以前需要大规模的计算系统才能完成的工作。这一技术突破使得客户可以任何地方进行实时分析与决策。
同时,一些以前需要很先进的计算技术来达到的强大计算能力的科学应用程序,也不再受限在计算密度上;使用CUDA的计算可以在现有的空间里为平台提供更强大的计算性能。 为何使用CUDA? 性能:NVNVIDIA GPU为数据密集型的应用提供了超乎想象的性能。CUDA给了我们一个标准的、广泛使用的解决方案来给予新的应用前所未有的计算能力。兼容性:使用CUDA C-Compiler开发的程序将向后兼容NVIDIA的GPU。
开发人员在GPU计算方面所做的投资将立刻在现有GPU的性能上得到回报,同时也将一定会在NVIDIA以后的高性能技术中获得收益。生产力:开发者现在可以使用工业化的标准的C语言来使用他们所希望获得的GPU的计算能力。CUDA提供了完整的开发解决方案,这一方案整合了CPU和GPU,这将令开发人员非常迅速地为他们的客户提供最新的特征和更多的价值。伸缩性:使用CUDA开发的应用程序在性能和特性上可以应用于全线的NNVIDIA的GPU,从嵌入式GPU到使用多GPU的高性能专业图形解决方案。CUDA事实上已经可以在从大型的计算设备到个人消费级产品的任何层次的系统中运行。
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
和CPU相比,拥有更多执行单元的GPU是CUDA的硬件基础 |
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动。
开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库——CUFFT(离散快速傅立叶变换)和CUBLAS(离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术基础上实现出更多的开发库。
CUDA的实现架构 |
运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。基于CUDA开发的程序代码在实际执行中分为两种,一种是运行在CPU上的宿主代码(Host Code),一种是运行在GPU上的设备代码(Device Code)。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。
由于目前存在着多种GPU版本的NVIDIA显卡,不同版本的GPU之间都有不同的差异,因此驱动部分基本上可以理解为是CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。CUDA提供运行期环境也是通过这一层来实现各种功能的。目前基于CUDA开发的应用必须有NVIDIA CUDA-enable的硬件支持,NVIDIA公司GPU运算事业部总经理Andy Keane在一次活动中表示:一个充满生命力的技术平台应该是开放的,CUDA未来也会向这个方向发展。由于CUDA的体系结构中有硬件抽象层的存在,因此今后也有可能发展成为一个通用的GPGPU标准接口,兼容不同厂商的GPU产品。
正如开篇所说,在1年多时间里我们看到了很多关于CUDA的成果。记得Badaboom这款所有普通用户都可以使用,GeForce8以上所有NVIDIA GPU均可以支持(包括板载GPU)的高清视频编码软件推出时,我们曾联想到与CPU的对比,同样是1年多的时间,同样是对视频的编码,基于Intel 45nm CPU的SSE4应用没有任何进步,而基于GPU的视频编码和滤镜加速软件则在2008年下半年全面开花!而且我们认为,这些基于CUDA的软件开发时间应该要从2008年算起。
2008年中,NVIDIA发布最新一代的GT200 GPU时,在硬件规格上明确提出了并行处理器的概念。这一代GPU从架构原生设计来说就考虑到两个方面,第一是传统的图形加速,第二是专门为并行计算的架构,两者稍有不同,但“并存”在一个GPU上。同时,NVIDIA也将CUDA版本升级至2.0,这也为下半年基于CUDA软件的全面丰收提供了良好的平台基础。
GT200并行运算架构 |
也许是为了表现CUDA的神奇和易于开发的特点,NVIDIA仅仅用了3个月时间,便将原Ageia公司的PhysX物理引擎成功使用GPU加速,同时在只要使用16个流处理器的条件下,性能便可以远胜当年价值几千元的Ageia物理加速卡。由于NVIDIA对Ageia公司的收购,也使PhysX顺理成章的进入了NVIDIA “The Way”游戏策略中,越来越多的游戏开始支持PhysX物理引擎特效,在体验过PhysX后,大家无不感叹:没有物理引擎的游戏,不是完整的游戏!
除了了视频和PhysX在民用端应用外,在高性能计算项目等科研项目上,CUDA的成果也非常迅速。首先,大家熟知的Matlab等数学软件,迅速将信号处理中必不可少的快速傅立叶变换FFT加入到了CUDA的库中,可想而知,以后使用Matlab做FFT,就像算加法一个,只是一个函数一行程序。另外,基于全球的分布式运算Folding@home(蛋白质折叠研究,针对癌症和人类疑难病症),也因为NVIDIA GPU的加入,而在短短几个月时间里迅速超越几年来全球无数CPU的积累和2年多来PS3积累的所有分数。如果我们有兴趣去CUDA Zone看一下,在2-3个月前,其中成果也许还只能以几百个形容,现在已经有几千个了。其中应用涵盖领域非常广泛。大家都在感受着这场计算的革命。
我们一直在讨论,CUDA能否带来高性能计算、企业计算的革命,而革命其实已经在某些领域发生。最为著名的是在生命科学领域,NVIDIA GPU带来的几十上百倍的计算速度让很多研究工作从不可能变成了现实。例如,在癌症研究中重碳酸盐跟踪数据工作,便是很好的例子。
我们知道在人体中平衡酸碱度的重碳酸盐,可被癌变组织分解成二氧化碳,从而使癌变部位的酸度比周围部位高。研究人员说,重碳酸盐的这一特性可用来帮助检测癌症。核磁共振成像技术能追踪重碳酸盐在人体中发生的化学变化,因此能在早期帮助诊断癌症。参与研究的凯文·布林德尔教授说,核磁共振成像技术能帮助标出患者体内PH(酸碱度)值不正常的部位,从而确定病灶部位。
为了跟踪这些数据,如果使用原有CPU运算,以常见项目为例可能需要一周左右时间,而这还必须是高性能计算机多个CPU集群完成,如果使用普通PC,那这个研究根本没有意义。而GPU可以成百倍的速度来完成整个工作,相对现有HPC来说,占地面积极小(不可能让医院拥有一个HPC机房),一个8GPU的1U大小基于Tesla的服务器显然空间占用上更合理。同时,从运算速度和能耗来说,也绝对优于CPU为主的HPC。
在成像技术中,一个非常有趣的领域就是裸眼立体成像技术,它无需特殊眼镜就能显示三维立体图像。这种有趣的技术不仅有着娱乐方面的应用潜力,也可作为多种专业应用程序的实用技术。东京大学信息科学与技术研究生院机械信息系的Takeyoshi Dohi教授与他的同事研究了NVDIA的CUDA™并行计算平台之后认为,医疗成像是这种平台非常有前途的应用领域之一。
自2000年以来,这所大学的研究小组已经开发出一种系统,通过CT或MRI扫描实时获得的活体截面图被视为体纹理,这种系统不仅能够通过体绘制再现为三维图像,还可作为立体视频显示,供IV系统使用。该系统为实时、立体、活体成像带来了革命性的变化。但是,它的计算量极其庞大,仅体绘制本身就会带来极高的处理工作量,况且此后还需要进一步处理来实现立体成像。对于每一个图像帧,都有众多角度需同时显示。将此乘以视频中的帧数,您会看到令人震惊的庞大计算数量,且必须在很短的时间内高度精确地完成这样的计算。
在2001年的研究中,使用了一台Pentium III 800 MHz PC来处理一些512 x 512解析度的图片,实时体绘制和立体再现要花费10秒钟以上的时间才能生成一帧。为了加速处理,研究小组尝试使用配备60块CPU的UltraSPARC III 900 MHz机器,这是当时性能最高的计算机。但可以得到的非常好的结果也不过是每秒钟五帧。从实用的角度考虑,这样的速度还不够快。
解决方案
体绘制和随后转换为IV格式都需要进行数据平行矢量计算。为此,非常好的计算范式是GPU。相应地,Liao和Herlambang 着手研究使用CUDA实现GPU,这是来自NVIDIA的通用C语言GPU开发环境。
首先,研究人员使用最新一代的GPU GeForce® 8800 GTX开发了一个原型系统。在使用CUDA的GPU上运行2001年研究所用的数据集时,性能提升到每秒13至14帧。UltraSPARC系统的成本高达数千万日元,是GPU的上百倍,而GPU却交付了几乎等同于其三倍的性能,研究人员为此感到十分惊讶。不仅如此,根据小组的研究,NVIDIA的GPU比最新的多核CPU至少要快70倍。另外,测试显示,对于较大规模的体纹理数据,GPU的性能更为突出。
目前,这支研究小组正运用NVDIA最新的桌面端超级计算机Tesla™ D870,针对使用CUDA的Tesla优化目前的IV系统。这一举措有望使性能获得更大幅度的提升效果。
此外,我们还可以在不必修改已开发系统的前提下利用速度更快的新生代GPU。如果某种环境使得调试大型CUDA程序成为可能,CUDA必将成为一种更强大的并行计算开发环境,我们希望它在医疗成像处理领域中得到更广泛的应用。”
如果能够以立体方式实时查看来自CT和MRI的图像,医生就能够检查病患组织的状态并做出诊断,而无需活体检查和外科处理。此外,某些医生可以同时查看此类图像,彼此沟通。这使部分医生能够同时进行关节镜手术和其他微创型外科技术,而每名外科医生都能实时观察手术过程。
将庞大的并行计算阵列引入临床设备非常困难,但GPU和Tesla的强大计算能力使得提供紧凑的并行计算模块成为可能。
从追踪911电话报警地点到研究二氧化碳浓度以便掌握杀虫剂的使用情况,地理信息系统(GIS)应用程序正在多个应用领域迅速发展。全球视觉计算技术的行业领袖NVIDIA®(英伟达™)公司以及Manifold公司于今日正式宣布,双方将展开紧密合作,利用屡获殊荣的NVIDIA CUDA™开发环境来加速应用程序在GPU(图形处理器)上的运算速度,使地理信息系统的功能更加强大。
Manifold.net产品部经理Dimitri Rotow表示:“地理信息系统数据集已经变得越来越复杂,并且常常会涉及到许多千兆字节的交互式地图。在这种压力下,我们推出了能够快速、高效并准确处理这些数据集的产品。有了CUDA的帮助,从前需要20分钟才能完成的运算现在只需30秒即可完成,而从前需要30到40秒钟完成的运算现在能够实现实时运算。我可以毫不夸张地说,至少在我们这个行业里,NVIDIA CUDA技术是自微处理器发明以来计算行业内所诞生的最具革命性的技术。”
地理信息系统数据集变得越来越复杂,其主要原因是收集的数据量更大并且需要进行更加详细的分析。卫星照片曾经是情报分析员才能看到的东西,而现在,任何连接到互联网的人都可以看到卫星照片。此外,“远程传感”卫星现在采用多个传感器来实现地球成像,这些传感器可从各种不同角度收集多种波长和分辨率的数据,而这些影像的合成工作则是一项艰巨的任务。例如,对考古学家来说,如果没有CUDA带来的GPU加速功能,地理信息系统用户就只能停留在忽略了精细地形文物的低分辨率水平。这种低分辨率意味着寻找地下城堡的轮廓(个别墙体除外)以及挖掘工作的实施都会很困难并且代价高昂。
Manifold于2007年5月开始使用CUDA,他们仅用了两个月的时间就完成了系统的代码重写工作,使得他们的系统能够利用GPU的并行处理能力。Manifold系统第8版是全球最强大、功能最全面的地理信息系统软件包,最近在加拿大渥太华举行的2008年地理技术大会上一举击败了包括AutoDesk、Gaia以及Magellan等在内的12个得到提名的杰出对手,赢得了2008年地理空间领袖奖。
Manifold的提名和颁奖辞为:“Manifold是首款利用强大并行超级计算技术、并在台式机上运行的地理信息系统,而这款台式机采用的是价格不到500美元却具备数百个流处理器的独立显卡。该系统创新地采用了价格低廉的消费级硬件,使地理信息系统的处理任务以及分析工作的运算速度比从前快了数百倍。”
金融衍生品的场外交易是具有高风险、高压力的行为,而总部位于德克萨斯州奥斯汀市的SciComp公司,则拥有一款能够缩短开发时间并加速Monte Carlo定价模型性能的高科技衍生软件解决方案。增强型SciFinance®是该公司的旗舰产品,由NVIDIA® CUDA™驱动时,该产品可使衍生品定价模型的运算速度比使用串行代码时最多快100倍。更重要的是,这种加速无需任何附加工作或手动编程即可实现。在瞬息万变的市场里,稍有延迟或结果不精确就会造成价值数百万的损失,而这种加速无疑是一项重大的进步。
SciComp公司执行副总裁Curt Randall表示:“在充满压力的场外交易衍生品交易中,用‘时间就是金钱’这句古老的名言来形容真是再贴切不过了。新合同的不断出现要求我们必须具备快速制作复杂数学定价模型的能力。这一过程过去采用容易出错的手动编写代码的方式来完成,通常需要花费数天到数周时间。而有了SciFinance之后,模型开发人员只需对半页或更少的模型技术规范进行少量更改,在几分钟内即可生成精确的定价模型C语言或C++源代码。”
Randall 继续道:“对我们的客户来说,SciFinance无需额外编程即可生成GPU代码的新功能是一项能够改变行业游戏规则的技术。这些代码完全利用GPU并行架构的优势,能够使运行速度立即提升20到100倍。过去需要花费数分钟的定价模型现在只需几秒钟就可完成,使金融机构能够测试备选模型、增加场景分析并更好地了解他们所承担的潜在风险。最重要的是,他们不必成为并行编程概念的专家,SciFinance会负责此类工作。”
要利用CUDA架构,银行内部开发团队只需简单地使用SciFinance高级金融与数学语言描述衍生品模型即可。向模型技术规范加入关键字“CUDA”即可输出支持CUDA的源代码,这些源代码可在配有CUDA GPU的任何标准PC上运行。
银行以及避险基金等金融机构都会参与到衍生品交易,以规避财务风险。衍生品合同是一种金融工具,其价值以底层变量的波动为基础(例如,股票期权的价值由底层股票的波幅决定)。定价衍生品需要复杂的数学模型,通常需要运行上百万个场景。因此,快速而精确的运算是相当重要的。
NVIDIA®(英伟达™)公司GPU计算事业部总经理Andy Keane 表示:“SciComp是最先完全发挥GPU在计算金融领域巨大潜力的公司之一。图形处理器在这方面的强大能力确实让人难以置信,它所实现的性能提升并非小量递增而是提升了100倍。而且,以前数周的手动编程变成了即刻、实时的结果。我们期待着与SciComp继续紧密合作,为SciFinance所生成的定价模型带来更多有意义的改进,进而提高客户的商业业绩。”
第一个利用GPU的科学领域是天体物理学。去年11月,天体物理学家举行了第一次GPU加速天体物理学应用软件的研究会议。本幻灯片中的实例是一位日本研究 人员,利用GPU在一台普通的PC上模拟2百万个粒子。 GPU强大的并行计算能力帮助这位研究人员做到了这一点。
GPU Impulse Reverb一定会在电脑音乐发展历史上记下一笔,它是目前第一款可以利用显卡来运算的效果器插件,这意味着你可以用它来得到高精度的卷积混响效果,而不费CPU一丝一毫之力!
GPU Impulse Reverb利用NVidia显卡的CUDA运算技术,可运行在NVIDIA的显卡上,推荐使用G80系列显卡(G8xxx及以上型号的显卡),并使用最新的支持CUDA的驱动。
GPU Impulse Reverb很简单,就是读取一个8-32bit的立体声wav文件,将它作为脉冲响应来运算卷积混响效果。 难道它的声音就比其它卷积混响效果器软件要好吗?目前还没有详细对比,但可以肯定的是:你完全解放了CPU资源(虽然GPU Impulse Reverb也需要消耗1%的CPU资源,但几乎可以忽略不计)理论上你可以得到音质更好的混响效果,因为卷积是一种非常复杂的算法,目前的卷积混响效果器软件都会在运算精度上有所妥协。
GPU Impulse Reverb只是实验的第一步,这虽然只是一小步,但确实是电脑音乐发展历史上的一大步!也许有人还记得一个叫bionicfx的公司宣称正在开发显卡运算效果器插件的事情吧?这应该是第一个公开宣称显卡在音频方面开发的公司了,他们宣布这个事情的日子是2004年8月29日,在过了4年之后,梦想才终于成真。
在NVIDIA GPU加入了Folding@Home(下文简称FAH)后,NVIDIA GPU贡献的运算量在短短几个月内超越了几年来CPU贡献的总量。如果你用心加入FAH的团队,而不是把FAH当作一个看3D小球抖动的屏保的话,那么你会发现GPU对于FAH是多么的重要。在全世界FAH的排行榜上,你可以找到许多熟悉的面孔,也可以找到属于中国的团队。而FAH的运算,对于蛋白质折叠与人类癌症相关研究的贡献带来了质的改变。
Badaboom是一款利用CUDA开发的视频编码软件,它可以提供数倍于四核心CPU视频编码的速度。从测试结果来看,Badaboom将成为今后GPU应用的非常重要的软件之一。在10月下旬,Badaboom正式版本发布,同时TMPGEnc的CUDA版本也放出,从而可以支持几乎所有的常用视频编码格式,这让CUDA在视频编码上的应用已经接近完美。
除了编码加速外,NVIDIA和MotionDSP公司结成了战略合作伙伴关系。这家MotionDSP公司就是专门开发视频修复软件的行家,其产品Ikena Reveal软件被广泛应用于司法机关或媒体等地,修复民用摄像机或保安摄像头拍摄的低清晰度影像,提高清晰度水平以满足法庭取证或电视台播出等的要求。
随着与NVIDIA合作,MotionDSP将推出一款民用级的视频修复软件,研发代号为“Carmel”,利用CUDA平台加速视频修复,据称使用GTX 280显卡能够将视频处理速度提高5倍。该软件将根据视频相邻帧画面之间的像素关联关系,修复画面改善跳帧、画面抖动、亮度对比度不佳等等的问题,大大提高视频质量,为普通用户带来“CIA”或者“CSI”级别的视频处理能力。
MotionDSP公司表示,Carmel将于明年一季度上市。
处理效果视频展示
http://www.motiondsp.com/products/Carmel
真实的物理引擎在使用GPU加速后真正走入正轨,GPU运算速度的提高已经超越摩尔定律,至少在未来10年内它也是一个非常安全的发展模式,而物理引擎也肯定因此受益。真实物理引擎是未来3D世界模拟必需的一个因素,没有真实物理运算,3D场景中的运动便会孤立而失真。而已现有的CPU,复杂的物理引擎是不可能完成的。
其实,CUDA的成功案例当然不止这些。我们在CUDA的专区,NVIDIA官方网站CUDA Zone里可以看到上千的应用。这包括高端的石油勘探、气象计算等应用;医学方面的应用,音频或数字信号处理FIR实时滤波,Matlab FFT的加速等等。在短短半年多时间里,喷涌而至的基于GPU运算的软件和应用方案让大家都对CUDA开发有了浓厚的兴趣。
通过GPU运算实现加速的案例 |
在今年6月份,关于这个话题,我们进行了两次重要的信息采集。第一,是在Intel Research Day中看到的众多的Intel为未来万亿次计算硬件与软件的研究成果;第二,是对NVIDIA首席科学家,CUDA之父David Kirk的采访。其中,我们与多位专家讨论今年4月爆发的“GPU灭亡论”的口舌之战,情况是怎样的呢?
我们看到Intel与NVIDIA有非常大的共识空间,由于处理器的高速发展,未来几年内万亿次计算的应用将逐步接近PC,即接近个人电脑。以往万亿次的运算可能只能在大型计算机上实现,其工作和计算可能与个人应用不那么直接,而当个人电脑可以越来越接近这个速度后,我们使用PC的环境大大改变。而今后的高速计算,就是依赖基本与现在GPU采用的“并行计算”一样的模型。
从Intel来看无论是Larrabee还是80核模型,都是一个并行计算的处理器模型;显然NVIDIA更是领先一步,支持CUDA的GPU显卡,销量已经上千万。更为重要的是,在软件平台上,Intel一再宣传的Ct(C++语言的扩展,针对未来并行计算)会很好的过渡到未来的多核心或者群核产品,但NVIDIA首席科学家David Kirk明确表示,目前还没有基于Ct开发出来的软件,而基于CUDA的已有数千款。而Intel最引以为豪的X86软件环境也被NVIDIA认为这并不是什么优势。
今年初,3月25日上午, 美国国家工程院院士、NVIDIA公司首席科学家David B.Kirk博士应邀到清华大学深圳研究生院作题为《NVIDIA CUDA科学之旅》的学术讲座。深圳研究生院副院长刘文煌教授出席讲座并致欢迎辞。院信息学部主任钟玉琢教授等师生,以及哈工大、北大等高校学生共170多人参加此次讲座。而就在本文完成的一周前,CUDA在清华的讲座规模又在扩大。11月17日-11月21日清华大学微电子学研究所邓仰东副教授与NVIDAI共同主办CUDA技术讲座。在2008年内,关于CUDA,CUDA PhysX的讲座,在全国高校内课时超过数百,影响人次数十万。
在美国,伊利诺伊大学厄本那—香槟分校因其在并行计算教育中的开拓性工作而被指定为CUDA卓越中心。伊利诺伊大学厄本那—香槟分校的理论和计算生物物理学小组是首批利用GPU(图形处理器)的并行架构来提高计算生物物理学研究速度的研究小组之一,他们已经成功地提高了NAMD/VMD的研究速度。
NAMD/VMD是一种流行的并行分子动力学应用,用于分析大型生物分子系统。NVIDIA®(英伟达™)也希望能够通过捐赠,帮助该大学的理论和计算生物物理学小组以及其他小组提高工作速度、更快地实现重大发现。
伊利诺伊大学Swanlund物理学教授兼理论和计算生物物理学小组(www.ks.uiuc.edu)组长Klaus Schulten博士表示:“能够与NVIDIA®(英伟达™)合作我们感到十分兴奋。我们期待着双方共同合作实现生物医药领域的突破性发展,更好地理解疾病,并找到更为有效的治疗方法。这次慷慨的捐赠对于理论和计算生物物理学小组年轻的程序员将是极大的激励,将会扩大我们的研究队伍,也赋予了他们在未来十年中实现计算机进步的必要工具。”
希望成为CUDA卓越中心的大学必须教授CUDA™课程,并且在多个实验室的研究中采用CUDA技术。
NVIDIA认为,作为仅仅2岁的CUDA来说现有的环境风险显而易见但却又被牢牢控制和掌握。对于CUDA这样年轻的失误,遇到的最大风险在于无人使用,而反观现在的情况,有7万人在使用CUDA开发软件,而全球有7千万个GPU支持CUDA,加上CUDA的免费与易用性,CUDA最大的风险并不存在。
CUDA的实现架构 |
所谓标准,在目前GPU并行计算和高性能计算独特的这个领域,开发环境上并不存在标准,CUDA甚至可以被看作第一个产品,那么CUDA更有资格成为标准。标准与用户群的大小关系紧密,那么如果CUDA和GPU的加速能带来更好的效果,相信标准也自然形成。
NVIDIA GPU的并行计算的模式从技术上来讲一定是未来计算的方向。我们知道Intel在2008年提出“大核小核”的概念,所谓大核就是我们今天看到的CPU(哪怕是4核),而所谓小核对于Intel产品来说近的可能就是Larrabee里的每个处理器,远的来看就是80核模型的成品,甚至更多核。这种“小核”的概念其实与现在GPU中的流处理器没有太大区别,只不过Intel基于X86。
也许大家要问,这样对于我们来说有什么好处?我们知道,在以往像今天GPU 单精度万亿次,双精度千亿次浮点运算能力的计算机是不属于PC,不属于个人电脑的。也就是说,这样级别的运算是与我们个人应用,个人生活没有关系的,我们不可能将一个小型机,大型机,集群放在自己家里,而为了实现什么高速的视频处理。而今天,PC将具有这样的运算能力,它的应用也因此迅速爆发。无论视频编码加速,特效加速,实时标清转高清,实时音频信号处理,实时视频品质改善,甚至未来的实时电影级别的渲染,视频面部识别搜索,实时智能汽车驾驶,这些应用都适用我们谈到的并行计算的模型。
也许在今年,Intel和NVIDIA为视觉革命和并行高性能计算打了不少口水仗,而从中我们不难看出,双方都不否认并行计算应用的未来,而同时NVIDIA明确表示,目前CUDA已经有7万名以上开发者,7000万个GPU可以运行CUDA,上千个CUDA开发的软件可以让GPU加速,对于这样的数据,我们对CUDA和NVIDIA引领的新计算模式充满信心。