一种提高wrf并行计算效率的方法

文档序号:10577267阅读:1487来源:国知局
一种提高wrf并行计算效率的方法
【专利摘要】本发明涉及一种提高WRF并行计算效率的方法,属于气象预报及超算应用技术领域。该方法通过减少X方向进程数,从而提高WRF并行计算效率,具体包括以下步骤:S1:配置WRF并行计算的总进程数NP;S2:设置WRF的x和y方向进程数nproc_x、nproc_y,且nproc_x<nproc_y;S3:通过实验寻找最优的nproc_x;S4:在业务应用中使用最优的nproc_x提升WRF并行计算效率。本方法能够有效的提升WRF并行计算的效率,降低超算的能耗,并且使用方法简单,具有很好的应用前景。
【专利说明】
一种提高WRF并行计算效率的方法
技术领域
[0001] 本发明属于气象预报及超算应用技术领域,涉及一种提高WRF并行计算效率的方 法,特别是一种基于减少X方向进程数提高WRF并行计算效率的方法。
【背景技术】
[0002] 当前为提高气象预报模式WRF的执行效率,缩短计算时间,通常通过下面方法:1) 提高并行进程来缩短计算时间。这种方法随着并行进程的增加能够提高计算效率,但同时 也增加了进程间通信的开销,在并行进程数量达到一定后,进程间通信增加的时间开销会 抵消并行进程缩短的时间开销,因此通过提高并行进程来缩短WRF计算时间有一定的限制。 2)使用分析工具查找WRF中耗时多的函数,在通过优化这些函数来提升效率。这种方法需要 对WRF程序的逻辑结构和代码有深刻的理解,而且WRF程序更新快,每次更新版本都需要重 新改写代码;容易出bug,修改后不能像WRF本身那样经过严格测试,系统不稳定;一般使用 WRF的为从事气象应用的人员,修改并行计算的代码有难度;WRF中的耗时函数在不同的CPU 处理器平台上表现并不一致,针对不同的处理器平台修改的方法也不一样。这种方法目前 处于学术研究阶段,距离实际使用尚有一段距离。
[0003] 因此,目前急需一种能够很好提高WRF并行计算效率的方法。

【发明内容】

[0004] 有鉴于此,本发明的目的在于提供一种提高WRF并行计算效率的方法,该方法基于 减少X方向进程数提高WRF并行计算效率,该方法对不同的超算平台和处理器平台有很好的 通用性,方法简单、易用,有很好的应用价值。
[0005] 为达到上述目的,本发明提供如下技术方案:
[0006] -种提高WRF并行计算效率的方法,该方法通过减少X方向进程数,从而提高WRF并 行计算效率。
[0007] 进一步,该方法具体包括以下步骤:
[0008] Sl:配置WRF并行计算的总进程数NP;
[0009] S2:设置WRF 的 X 和y 方向进程数nproc_x、nproc_y,且nproc_x〈nproc_y;
[0010] S3:通过实验寻找最优的nproc_x;
[0011] S4:在业务应用中使用最优的nproc_x提升WRF并行计算效率。
[0012] 本发明的有益效果在于:本方法能够有效的提升WRF并行计算的效率,降低超算的 能耗,并且使用方法简单,具有很好的应用前景。
【附图说明】
[0013] 为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行 说明:
[0014] 图1为本方法的流程示意图。
【具体实施方式】
[0015] 下面将结合附图,对本发明的优选实施例进行详细的描述。
[0016] 图1为本方法的流程示意图,如图所示,本方法具体包括以下步骤:
[0017] Sl:配置WRF并行计算的总进程数NP;
[0018] S2:设置WRF 的 X 和y 方向进程数nproc_x、nproc_y,且nproc_x〈nproc_y;
[0019] S3:通过实验寻找最优的nproc_x;
[0020] S4:在业务应用中使用最优的nproc_x提升WRF并行计算效率。
[0021 ] 具体来说,WRF中的并行计算,先分成patch(可用于MPI并行计算),每个patch再分 成tile(可用于多线程计算),WRF的执行如下:
[0022] mpirun-np$NP./wrf.exe
[0023] NP为总进程数,在配置WRF的namelist, input参数时,默认的为:
[0024] &domains
[0025] nproc_x = -l,
[0026] nproc_y = -1,
[0027] WRF自动进行的进程分解:即=即1'〇(:_1*1^1'〇(3_:7,分解原则是即1'〇(3_1与即1'〇(3_:7 尽量接近。
[0028] 本方法在配置nproc_x和nproc_}^t,将nproc_x设置的尽量小一些,使得patch在X 方向长一些,这样有利于WRF的向量化运行,从而提升效率。通过实验和应用验证发现这种 方法能够有效的提升WRF的并行计算效率。
[0029] 实施例:
[0030] 在实施的重庆市精细化数值天气预报系统中,使用WRF做主要的积分工作,在超算 平台上,执行WRF使用24个计算节点,每个节点使用12个计算核心,即使用288个进程来执行 WRF程序。通过在X方向配置不同的进程,多次实验结果如下:
LUU^j 具中18*16为WKF本身的设置,买验友现在9*32时WKF开仃计算的效卒最咼,比WKF 本身的设置提升了 34.5%的并行计算效率。
[0033]最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通 过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在 形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
【主权项】
1. 一种提高WRF并行计算效率的方法,其特征在于:该方法通过减少X方向进程数,从而 提高WRF并行计算效率。2. 根据权利要求1所述的一种提高WRF并行计算效率的方法,其特征在于:该方法具体 包括以下步骤: S1:配置WRF并行计算的总进程数NP; S2:设置 WRF 的 X和y 方向进程数 nproc_x、nproc_y,且 nproc_x〈nproc_y; S3:通过实验寻找最优的nproc_x; S4:在业务应用中使用最优的npr 〇 c_x提升WRF并行计算效率。
【文档编号】G06F9/38GK105938427SQ201610230352
【公开日】2016年9月14日
【申请日】2016年4月13日
【发明人】孙启龙, 赵学良, 陈芋文, 钟坤华, 张矩, 张渝林, 林小光
【申请人】中国科学院重庆绿色智能技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1