通用GPU在高性能计算中的应用报告

上传人:hao****021 文档编号:140812338 上传时间:2022-08-23 格式:DOCX 页数:13 大小:70.43KB
收藏 版权申诉 举报 下载
通用GPU在高性能计算中的应用报告_第1页
第1页 / 共13页
通用GPU在高性能计算中的应用报告_第2页
第2页 / 共13页
通用GPU在高性能计算中的应用报告_第3页
第3页 / 共13页
资源描述:

《通用GPU在高性能计算中的应用报告》由会员分享,可在线阅读,更多相关《通用GPU在高性能计算中的应用报告(13页珍藏版)》请在装配图网上搜索。

1、通用GPU在高性能计算中的应用一、背景概述现代科研过程已经在很大程度上倚赖于高性能数值模拟计算,通过数值离散用于描述各种问题的复杂方程并在计算机上高速求解,不仅解决了许多过去手工理论计算不能求解的问题,而且在很大程度上可以代替实地试验,有着直接、精确、快速的特点,同时易于和自动化设计、制造相结合,从而实现整个科研过程的无纸化,自动化,极大地节约了资源并提高了工作效率。数值模拟计算和理论计算、试验测量并称科学研究3大方法。随着科学复杂度的提高和需求领域的增多,数值模拟对计算性能要求也越来越高,因此数值计算又可以称为高性能数值计算。基于数值计算程序偏重于运行速度和编程人员群体同时又是科研人员的的特

2、殊性,因此在程序开发模型短期内难以有较大提升的情况下,其核心就是要求计算机硬件计算水平的快速提高。二、高性能计算机分类及其特点因用户的需求水平和经济负担能力的不同,计算机的购买也会有很大差别,从实用角度来看,高性能计算机可以用下面几条标准来衡量:a、硬件运行速度越高越好,从而尽可能缩短计算时间,提高计算效率;b、硬件使用成本包括购买费用、电费尽可能要低;c、计算机管理维护复杂度、管理费用、机器折旧费等越低越好,或者说使用效率/使用成本越高越好;d、程序开发复杂度和难度越低越好;e、任务是否饱满;依上述标准,高性能计算机一般可以如下分为3个水平:2.1、超级计算机超级计算机一般是指计算速度在几十

3、万亿次级别以上的计算机,是一个国家科技、经济和国防的综合实力的体现。各国之间对超级计算机的竞争十分激烈,具体情况可以从TOP500的排名变动情况来得到验证,目前最快的超级计算机“走鹃”为美国IBM制造,其速度超过了1000万亿次,另外还有几套著名的超级计算机如美国的“蓝色基因”、“红色风暴”以及日本的“地球模拟器”,我国曙光公司也建造了几套超级计算机,其最新成果是最近在上海高性能计算中心建成的“魔方”,其计算速度超过了100万亿次,这些超级计算机为上述国家的高科技研究和极端工业设计提供了有力的计算保证。超级计算机的优点是性能强悍,可以迅速有效地求解各种复杂的方程,为一个国家的科技发展提供强有力

4、的计算资源保证;工作状态稳定,可长时间甚至几十年连续运行而不停机。 缺点是投资、管理及运行费用巨大,维护困难,一般单位负担不起相关购买和维护费用甚至使用费用,更新换代速度极快,性价比很低;超级计算机的特点决定了其工作负荷必须饱满,而且不能停机,否则会极大地浪费资源,这就需要努力地安排各种计算任务,尽量发挥计算机的性能。这也决定了每个国家一般也只是建造一套或数套,用来保证本国高科技研究和极端工业设计的发展。2.2松散集群机一般科研单位一方面对超级计算机的需求量不大,另一方面普通的高性能PC单机又满足不了计算需求,其对计算能力的要求是:a、性能较高,可以满足对中小型任务的快速计算;b、价格低廉,经

5、费一般在10万元以下;c、管理要尽量简单灵活;那么由若干普通商品PC机通过组网形式,利用特殊软件平台组成的松散集群是常用的形式。其优点是组装形式灵活,购置费用相对低廉,管理也比较简单,性能也相对足够,因此是现在各个常规科研院所通常所采用的形式。其缺点是空间占用较大,噪音较大,功耗较高,需要建设专门机房并安装空调设备;故障发生率也比较高,因此系统的安装、管理以及维护需要有专人负责;还有若组建的规模较大,其费用也很可观,一般需要十几万元到几十万不等;另外就是编写的程序的结构和算法需要做专门的并行化改写,编程难度系数较串行程序提高很多;加上其多人共享资源的属性,导致了研究人员必须为使用资源而争抢,工

6、作效率被降低,得到的计算结果延迟,不利于个人或小团队的实时计算需求,容易与科研过程脱钩。2.3 个人计算机这里是对小型服务器、工作站、高性能PC机的统称,这一类的特点是体积小,可随意摆放;CPU个数少,一般只有一个;配置简单,使用方便。相对前面2类的专业化和复杂性,这一类是日常科研计算应用最多的,其优点是灵活易用,计算能力不错,可以胜任日常办公和小型的计算任务;缺点是如果计算任务规模稍大,花费的计算时间则急剧升高,难以胜任快速计算要求,如果任务规模和数量稍大,此时就需要借助于前面2种类型的计算机。2.4 总结对于高性能数值计算,其关注核心是计算机硬件对高精度浮点数的稳定处理速度和I/O吞吐能力

7、,对其它的方面并不是很关心,以往主要依靠的是CPU性能的提升,造成以上三类高性能计算机性能的提升主要依靠CPU,而CPU的通用目的设计要求决定了其用于处理浮点数的部分仅占全部功能的一小部分,为了增加计算速度,只能依靠增加CPU个数进而增加计算机的并行度来解决,这也是每台超级计算机动辄拥有上万甚至上十万个CPU的原因,如美国Sandia国家实验室的“红色风暴”使用了13277颗2.4GHz双核心Opteron处理器,自然也就带来了体积庞大、功耗高、资源利用率低、价格高昂等弊端。目前CPU的发展已经遇到了瓶颈,其核心架构的工作频率因为制造工艺以及信号传递的量子效应而难以再有太大的提升,目前各CPU

8、生产厂商主要依靠增加CPU的核心数量来维持性能的提升,如目前主流的双核、四核,甚至八核的CPU也出现了,事实上是走了并行的道路,于高性能计算的提升有限,对解决个人计算机性能不够的问题帮助有限。因此,利用CPU来获得一种速度足够快速、体积小巧、功耗低、性能足够、资源利用率高的个人超级计算机面临几乎不可调和的矛盾。三、GPGPU和CUDA技术3.1 GPGPU介绍随着硬件技术的发展,原来仅应用于数字图形图像高速处理的图形处理器(GPU),通过硬件架构的革新和优化,借助相关软件平台,实现了对通用数值计算的支持,有效地释放了GPU本身具有的强悍的计算能力。GPU与CPU的架构特点可用下图1来表示:图1

9、、CPU和GPU的硬件架构体系从上图1可以看到,CPU的通用设计目的使得其大部分晶体管主要用于构建控制电路(如分支预测等)和高速缓存Cache(提高处理速度),只有少部分的晶体管用于ALU部件来完成实际的数值运算工作。GPU与CPU的设计目标不同,其专注数字图形数据处理的设计初衷,使得其控制电路相对简单,而且对Cache的需求较小,大部分晶体管组成了各类专用电路和多条流水线,从而使得GPU拥有惊人的浮点运算能力,如最新的NVIDIA公司的S1070GPU模块的浮点计算速度已经达到了单精度4万亿次的水平1,这已经相当于一个大中型集群的计算速度。GPU技术目前发展速度也十分迅速,近年来正在以大大超

10、过摩尔定律的速度高速发展,如下图2所示:图2、GPU技术的发展速度GPU技术的发展带来的并不只是速度的提高,还产生了很多全新的图形硬件技术,使GPU具有流处理、高密集并行运算、可编程流水线等特性。从系统架构上看,GPU是针对向量第3/7页 计算进行了优化的高度并行的数据流处理机,这种以数据流作为处理单元的处理机,在对数据流的处理上可以获得很高的效率。根据NVIDIA公司开发的GPU工具包CUDA(Compute Unified Device Architecture)的测试结果显示,利用GPU实现FFT、BLAS、排序及线性方程组求解等科学计算,与单纯依靠CPU实现的算法相比,平均性能提高了近

11、20倍。GPU极高的处理速度、本身的高速度发展以及上述新特性极大地拓展了GPU的处理能力和应用范围,并由此开创了一个新的研究领域:基于GPU的通用计算(GPGPU,General-Purpose computation on GPU),其主要研究内容是如何利用GPU在图形处理之外的其他领域进行更为广泛的科学计算。目前已成功应用于运动规划、代数运算、优化计算、偏微分方程、数值求解、流体模拟、数据库应用、频谱分析等非图形应用领域,甚至包括智能信息处理系统和数据挖掘工具等商业化应用。同时,也产生了一些针对GPGPU开发的通用计算工具包,能够基于GPGPU平台对FFT、BLAS、排序及线性方程组求解等

12、科学计算进行优化实现。由于GPGPU在并行处理和计算密集型问题求解等方面所具有的诸多优势,而其本身仅为一块集成在显卡上面的芯片,其功耗、体积相对大型机、集群极小,而性能则毫不逊色,有关文献2显示AMD的FireStream 9250 GPU可以提供超过1万亿次的单精度计算能力,而功率仅120瓦;NVIDIA的GeForce GTX 280 GPU 单精度浮点计算能力9330亿次,功率峰值236W,对应的显卡当前价格仅3000元左右,性价比十分高。因此GPGPU已成为目前普通PC机所拥有的强大、高效的计算资源,可以非常方便灵活的个人使用,从而实现了我们前面对高性能计算机的各种条件要求。3.2 C

13、UDA介绍CUDA是Compute Unified Device Architecture的简称,是NVIDIA公司开发的用于自家GPGPU计算的软件支持平台,包括编译器、支持库、数值求解库及软件开发手册等,其软件组成层次可以用下图3来表示:硬件驱动,应用编程接口(API)及其runtime库,还有两个更高层的通用数学库CUFFT和CUBLAS,硬件设计为支持轻量级驱动和runtime层,以达到高性能。图3、统一计算设备架构软件堆栈层次组成第4/7页 从上图3可以看到,由于CUDA提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API(OpenGL和Direct 3D)接口来实现GP

14、U的访问,另外CUDA的GPU编程语言基于标准的C/C+语言,还提供了fortran语言接口,从而大大降低了CUDA应用程序的开发难度,使得科研人员可以迅速有效地把工作转移到GPGPU&CUDA平台上面,可以在短时间内获得超过1万亿次的极高的计算能力,相当于拥有了一台个人超级计算机。目前CUDA仅支持NVIDIA公司自己的产品,还不能够支持AMD的产品,后者由AMD自家的Brook+语言支持,但使用难度较高,支持率较CUDA远远为低。3.3 GPGPU发展情况目前发展并制造GPGPU的厂商有NVIDIA和AMD(ATI)2家,前者技术实力和发展成熟度比较高,特别是其GPU支持平台CUDA因安装

15、方便、应用简单,支持的GPU产品线丰富,计算性能稳定,因此推出2年来迅速获得了大量的支持,并由此深深影响了高性能工作站、图形处理软件的发展趋势;而后者由于自家的GPGPU产品线太短且价格较高,软件支持力度和宣传力度不够,因此目前的影响力还欠缺一些。GPGPU优异的性能和强烈的需求现实使得采用GPGPU显卡组建小型的高性能计算机为科研小组或个人提供高速计算能力是非常方便和合适的,由此通用GPU及相关支持软件平台获得了重点关注,特别是NVIDIA公司的CUDA平台,由于平台架构合理,学习应用相对简单方便,在短短2年的时间内,即获得了大量的支持。GPGPU的强烈需求也使得相关厂商对其十分重视,技术更

16、新换代速度迅速,据相关消息 ,NVIDIA下一代GPGPUGTX380已经流片成功,再添加一些,Intel的下一代CPU事实上也是目前GPU的架构,因此可以视为准GPU。软件支持平台方面,目前苹果、AMD、NVIDIA、Intel等核心公司共同推出了OpenCL(open calculation language)公共标准,到时会建立事实上的高性能计算语言标准,从而导致现有的程序开发模型和模式出现巨大的变化。3.4 GPGPU的弱点和改进由于GPU原有的应用目的是数字图形图像的硬件加速处理,单精度计算已经足够,因此GPGPU的设计思路受其影响还比较深,目前对双精度的支持力度相比单精度还比较低,

17、因此对计算精度要求比较高的问题,如果采用单精度模式,则增大计算误差,采用双精度计算则计算速度较低。随着对GPGPU的需求迅速增加,目前相关制造公司已经着手解决这方面的问题。相关消息证实NVIDIA下一代GPU核心GT300已经流片成功,其双精度计算速度预计可以达到2万亿次的水平,如果消息属实,那么个人超级计算机的建造、购买及使用将出现高潮,并将深深的改变目前高性能计算的格局。四、GPGPU应用现状4.1 硬件方面目前西方国家利用GPGPU组建“桌面超级计算机”已经非常流行,包括美国麻省理工学院、哈佛大学、伊利诺伊大学、英国剑桥大学、德国布伦瑞克里大学以及韩国延世大学都已经采用1颗16颗GPU不

18、等的此类桌面系统3。日本东京工业大学则利用680颗GPU 组第5/7页 建了超级计算机“TSUBAME”,总体峰值浮点性能达到了161.82TFlops,最大性能77.48Tflops,在2008年全球超级计算机排行榜中位列第29位。国内的很多计算机厂商如浪潮、宝德也已经顺势推出了以GPGPU为计算核心的桌面超级计算机4,而国内市场的反应则是倾向于自己组建相关平台,并给出了若干套配置。4.2 软件方面商用软件方面目前很多著名的软件包括Adobe PhotoShop、3DMAX以及Matlab等均准备推出或已推出基于CUDA平台的软件新版本,其测试版本显示计算速度均有不同程度的大幅度提高。另外还

19、有上千个基于CUDA的运算程序包括地质勘探、医学、数学、生命科学、金融、流体力学等多个方面5,并以其极佳的性价比获得了不同方面用户的欢迎。在数值模拟计算领域,由于GPGPU优异的效费比,占用空间很小,目前国外很多机构已经开始从事GPGPU在各自相关方面研究工作中的使用,包括已有代码向GPGPU的移植,新型代码的开发以及GPGPU新型功能的发掘和评价等工作,从在日本名古屋大学Yamane实验室工作期间获得的一份工作报告6结果来看,采用NVIDIA GeForce 8800GTX GPU在求解中子输运方程方面即提供了超过Intel Xeon 2.8GHz 50倍的计算能力。国内在该方面的应用研究也

20、已经起步,并发表了一些相关的研究成果,并有论文发表和书籍7出版发行,但在绝大多数方面仍然停留在探索探讨阶段,还没有全面地对数值模拟计算领域产生深刻的影响,相对国外落后了不少。但GPGPU的优点是如此之多,相信国内的研究在短期会迅速涌现。4.3 总结虽然GPGPU推出的时间较短,但其具有的高性能、极高性价比、低功耗、主机体积小等多种优点使得对其的研究应用迅速升温,特别是国外,在短短的2年内即形成了一定的研究规模,可以从NVIDIA公司网址相关网页看到其进展速度和增加数量。目前国内对GPGPU的反应相对迟缓,此时切入这个领域对于后进者将是追赶先入者的一个比较好的机会,在获得强大的计算资源的同时,费

21、用非常低廉,这样不但可以加快科研速度,而且可以开辟一个新的研究热点。启动研究GPGPU在核工程以及核技术专业方面的数值模拟计算工作特别是在粒子输运方程的数值求解、蒙特卡罗模拟计算中的应用是非常有必要和十分重要的!五、研究内容1、基于蒲丰氏投针试验计算值问题,编写较为简单的程序,评估NVIDIA公司的GPGPU & CUDA平台的实际性能。2、在评价的基础上面开发基于GPU的求解等离子体在微波驱动下的带电粒子稳态分布的Fokker-Planck方程代码。研究时间估计需要1年左右,包括CUDA技术研究、问题求解代码开发、论文的发表,培训教材的编写等。六、具备的条件1、具备低端可支持CUDA的GeF

22、orce GSO 9600显卡一块;第6/7页 2、对GPGPU的硬件体系结构、CUDA的技术细节、安装及使用要点有了详细的了解,配置好CUDA平台并编写测试成功了简单的实例,对整个体系已经有了一定的认识,具备了工作的基础;3、对要研究解决的问题已经非常熟悉,并已经完成了相关问题CPU版本的开发工作。七、需要条件1、一台装有支持双精度运算的高端显卡的计算机,主要是显卡费用比较贵;2、资料查询费用;3、打印机和打印纸张若干;总费用预计在15000元左右(显卡费用在5000元左右);六、成果预期1、提供一套成熟可用的GPU数值计算理论模型以及相关培训教材;2、建立高性能计算中心,提供强有力的计算资源保证;3、在核心期刊发表论文2篇以上。七、参考文献:1 NVIDIA s1070介绍,2 AMD公司FireStream9250介绍,3 个人超级计算机介绍,4 浪潮、宝德GPU计算机产品介绍主页,5 nVidia CUDA中文网站,6 Yasuhiro KODAMA,Fast Computation of the Neutron Transport Calculation with a Graphic Processor Unit (GPU)(工作报告),2008。7 多相复杂系统国家重点实验室多尺度离散模拟项目组,基于GPU的多尺度离散模拟并行计算,科学出版社,北京,2009。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!