基于GPU的GRAPES模型并行加速及性能优化
- 格式:pdf
- 大小:1015.10 KB
- 文档页数:11
计算机研究与发展 Journal of Computer Research and Development ISSN 1000— 1239/CN 11—-1777/TP 50(2):4Ol一411,2O13
基于GPU的GRAPES模型并行加速及性能优化
王卓薇 许先斌 赵武清。 何水兵
(广东工业大学计算学院广州 510006) 张玉萍。
(武汉大学计算机学院 武汉430072) (广东电网公司信息中心广州 510000) (高可信软件技术教育部重点实验室(北京大学) 北京 100871) (WhUWZW@gmail.corn)
Parallel Acceleration and Performance Optimization for GRAPES Model Based on
GPU
Wang Zhuowei ,Xu Xianbin ,Zhao Wuqing。,He Shuibing ”,and Zhang Yuping。 (Faculty of Computer,Guangdong University of Technology,Gu口 gzho“510006) 。(School of Computer,Wuhan University,Wuhan 430072) (Guangdong Power Grid Corporation Information Center,Guangzhou 510000) (Key Lab。rato Y。f High ConfidP cP SoftwarP Technol。gz Ps(Peking UnivPrsity),Mini £r 。f Educn£ 0 ,Beiji g 100871)
Abstract GRAPES(g1obal/regional assimilation and prediction system)1’S a typical non—linear discrete system of the Earth’S atmosphere developed for numericai weather prediction.There are heavv computations involved in GRAPES.Researchers have recently paid a lot of attentions to the Dara11e1
acceleration of the GRAPES model by low~cost,low—power,and high—performance GPUs.In this paper,we implement the parallel acceleration for the GRAPES model in GPUs.But the experimental results show that its performance is not efficient as supposed.Therefore,based on this,we further propose some strategies for optimizing the system performance,including reducing the data transmission time,decreasing the amount of device memory loaded and stored equipment.and
avoiding the branches of thread control flows.The experimental results show that the performance
optimizations on GPUs improve GRAPES system performance effectively. Key words GRAPES;GPU;data transmission time;memory load and store;thread control flow
摘要GRAPES(gIobaI/regiona1 assimilation and prediction system)数值天气预报模式作为地球大气
一个典型的非线性化离散系统,计算量非常巨大,因此利用低成本、低功耗和高性能的GPU对 GRAPES模式进行并行加速成为目前的研究热点.首先通过实现GRAPES模式在GPU q-的并行加
速,发现系统性能提升并不理想.在此基础上,提出了性能优化策略,包括缓解数据传输时间、降低设备 内存加载和存储的数量和避免线程控制流分支,实验结果表明,利用GPU的性能优化策略有效地提升
了GRAPES系统性能.
关键词GRAPES;GPU;数据传输时间;设备内存加载和存储;线程控制流
中图法分类号TP399
收稿日期:2011 o3 09;修回日期:2011—12—12 基金项目:中央高校基本科研业务费专项基金项目(3101012);高可信软件技术教育部重点实验室开放课题基金项目(HCST2OllO4)
402 计算机研究与发展2013,50(2)
GRAPES(global/regional assimilation and prediction system)口 是由中国气象科学院自主研究
开发的中国气象局新一代全球有限区数值天气预报 (numerical weather prediction,NWP)系统,该模式
采用国际上最为先进的数值预报技术. 由于NWP与超级计算机的一般应用不同,具
有较高的时效性,为了满足其业务运行、提高短时天 气预报能力,需要开发者提供更加快速的有效计算.
本文针对GRAPES系统进行研究,将大气数据以水 平方向和垂直方向(水平方向为横跨地球表面的二 维网格,垂直方向表示大气的层数)进行表示,为实
现GRAPES数值天气预报模式的并行计算奠定了 基础. GPU是一种低成本、低功耗和高性能的微处理
器,采用单指令多线程(single instruction,multiple thread,sIMT)执行模型来进行大规模的数学运算.
本文通过利用GPU的高性能浮点计算能力,分别对
GRAPES系统中的赫姆霍兹模块(Helmholts)、微 物理模块(microphysics)和长波辐射模块(RRTM)
进行并行化,以期获得较高的加速比.实验结果表 明,如果只是简单地将GRAPES代码分成CPU串
行运算和GPU并行运算,性能并没有得到大幅度 提高.
本文针对传统并行策略的不足,提出了更为高效
的性能优化策略(performance optimizations strategy,
POS):减少数据传输时间,降低设备内存加载和存 储数量,避免线程控制流分支.实验结果表明POS
策略能够实现数值天气预报系统的高效并行计算, 并有效地提升系统的性能.
1 相关工作
本文的主要工作是实现GRAPES系统在GPU 环境下的并行加速及性能优化,目前国内还未有此
方面的研究.在数值天气预报研究领域中,大部分研
究工作主要针对WRF(weather research forecast) 进行分析.GRAPES系统与WRF系统架构比较相
似,所以本文参照WRF的GPU加速模式(以CPU
为主、GPU为辅)来对GRAPES系统进行性能提升.
WRF模式系统是由许多美国研究机构和大学 的科学家共同参与进行开发研究的新一代中尺度预
报模式和同化系统.
WRF 2.0已经被越来越多的研究和业务范围
采用,文献[2]着重从软件架构和性能方面来描述天 气预报模型.如果以效率、可移植性、可维护性和可 扩展性作为基本要求,WRF软件框架的快速发展
应该同WRF体系架构和接口保持一致.WRF多任 务发展是将WRF ASF(advanced software framework)
发展成为一个可伸缩、可维护、可扩展的框架,进而
支持和维护更多软件用户和机构的不同应用.传统
的数值天气预报运行模式侧重于大规模粗粒度集群 计算,而忽略了细粒度并行运算.CPU主要是粗粒
度的进程级和线程级并行,以及细粒度的指令级并 行;而GPU主要依赖细粒度线程级并行.由于在性
能、成本和并行度上GPU比传统的CPU解决方案
有显著优势,所以GPU更适合于数值天气预报. Michalakes和Vachharaj anil3 最早提出了将
WRF由传统的并行集群移植到GPU上运行,实验
结果表明在NVIDIA 8800 GTX上的运行速度是基 于CPU运行的20倍.由于WSM5模块在WRF运
行中时间开销较大,文献[3]只将WSM5模块进行
CUDA改写,并将其移植到GPU上单独运行,但未 对其做任何优化工作.文献E43的主要贡献是开发
者在不需要熟悉任何有关应用程序移植理论知识的 情况下,利用一个简单的迭代方法,以渐进方式将复
杂的科学应用移植到GPU上,达到减少系统开销
的目的,但没有考虑到性能优化. 文献[5]主要从性能优化方面来讨论如何将
WRF中的RRTM模块移植到GPU上运行.主要
的优化策略包括:1)修改数据结构;2)优化数据传 递;3)分割不同的内核代码以及内核配置.由于
RRTM模块主要依赖于查找表,存在着严重的数据
问关联性.因此如何使用不同类型的存储器将成为 影响系统性能的关键因素.
基于以上相关工作,本文使用CUDA Fortran 语言将GRAPES模型移植到GPU环境中运行,实
现其并行加速.在此过程中,对3个模块进行独立测
试,查找影响单个模块性能的主要因素,然后在此基
础上,提出了3种不同的优化策略来提升系统性能.
2 GRAPES并行计算
2.1 GPU体系架构及CUDA程序优化原则
由于GPU体系架构的发展变化,本节以
NVIDIA Tesla GT200为例,对GPU的并行层次进 行阐述分析,如图1所示.
GT2OO由流处理器阵列(scalable streaming
processor array,SPA)和存储器系统两部分组成,
王卓薇等:基于GPU的GRAPES模型并行加速及性能优化 403
SM1 SM2 圈圈图 圜圜圜
24KBL1 Texture Cache 圈圈圈
24KBL1 Texture Cache SM1 SM2 圈圈圈 圈圆圈
24KBL1 Texture Cache
L2 Texture l l L2 Texture l l L2 Texture I I L2 Texture J l L2 Texture l I L2 Texture l I L2 Texture l I L2 Texture Cache l l Cache I l Cache I I Cache I I Cache I【 Cache I I Cache I I Cache
GDDR3『 l GDDR3 I l GDDR3 I J GDDR3 l I GDDR3 l l GDDR3 I l GDDR3 l l GDDR3 Memory l l Memory l l Memory l l Memory l l Memory l l Memory l l Memory l l Memory Controller l I Controller l 『Controller l l Controller l l Controller I I Controller l I Controller f J Controller