论文部分内容阅读
WRF(Weather Research and Forecasting Model)模式是一种在世界范围内应用非常广泛的中尺度数值天气预报模型,它由美国环境预报中心(NCEP)、美国国家大气研究中心(NCAR)以及全球范围内无数科研单位联合研制开发。它的主要功能是进行天气预测、生产数据从而进行大气研究。WRF模式的大部分代码是由Fortran语言编写而成,所以即使在不同平台,只要拥有版本适用的Fortran编译器,即可使该模式源码得到编译层面的移植,这样使得其具有一定的跨平台性。相对于其他气候模式,WRF模式拥有优异的数据同化技术,以及功能强大的物理过程模块,并且支持嵌套。同样,WRF模式是由多个极为复杂的组件组合在一起的应用软件,它运行起来往往极为耗时,通常,若取得比较好的模拟效果,将其运行在超级计算机上是一种非常明智的选择,这样就可以大大提高数据生产效率并且节省大量科研人员的等待时间。本文的主要工作正是尝试将WRF模式运行在具有代表性的国产异构众核超级计算机---“神威·太湖之光”上。“神威·太湖之光”是中国新一代超级计算机之一,它的峰值性能达到了125.4Pflop/s,由国家并行计算机工程技术研究中心(NRCPC)开发,采用新型“申威26010”多核处理器,基本软件涵盖了C/C++和Fortran的定制编译器。系统支持扩展了很多语法OpenACC 2.0语法。除此之外,系统提供了一个名为Athread的线程库,利用Athread可以实现细粒度的并行。本文介绍了将WRF模式移植到国产“SW2610”异构众核处理器上,并且通过国产平台的athread线程库对动力框架的stencil类型的循环进行了细粒度的优化,充分利用了“SW26010”异构众核处理器的多核性能。对于物理过程部分,本文介绍了通过重写函数结构,利用OpenACC编译指示语句将循环拆分,对非stencil类型的函数热点循环进行优化。对于通信部分,我们介绍了如何通过实验的方法,来改变进程布局,最大限度解决负载不均衡的问题。另外我们通过逐渐提高并行度,从而在多个计算核心上扩展整个模式,这样,不仅在核组内部进行细粒度的线程级优化,并且通过MPI通信接口将整个模式扩展到几百个计算核心上,利用超级计算机的并发性,获得优异的计算效率。此外,本文介绍了性能分析的方法以及效果评估。介绍了基于国产“神威·太湖之光”的插桩性能分析工具GPTL,并且利用GPTL对WRF模式的性能进行测试。通过Athread以及OpenACC对程序进行优化,相较于纯主核版本,经过优化的模式型内性能提升了 2.4倍。