论文部分内容阅读
当今时代,借助高性能计算机进行数值模拟的技术已逐步发展成为预测未来天气的主要手段之一。大气数值模拟将大气动力学理论以及复杂的物理、化学等过程与数值计算方法相结合,求解过程往往需要海量计算,且伴随着对大规模、高精度预报结果的持续追求,不断对更高的计算能力产生需要。近十年来,多核、众核芯片技术迅猛发展,涌现出一批以NVIDIA GPU、Intel Xeon Phi为代表的新兴高性能计算平台。这些复杂芯片在提供强大计算能力的同时,也给传统软件和算法在其上的实现和部署带来全新的挑战,迫切需要适用于不同复杂芯片的并行算法和优化技术。因此,研究如何将大气模拟中的关键算法在新兴计算平台上实现并优化具有重要的科学和实际应用意义。 本文以大气模拟中最核心的两个部分,即动力框架和物理过程作为研究对象,以探索相应算法在新兴计算平台上的并行加速方法为目标,分别研究了美国MPAS-SW动力框架、国产MCV动力框架以及美国WRF云微物理过程在多核、众核异构的复杂计算平台上并行算法的实现及性能优化关键技术。 MPAS-SW模式的多核、众核并行优化。论文工作基于美国的开源动力框架MPAS-SW,探索研究其在多核、众核混合异构平台上的并行优化算法。针对SCVT网格上计算负载不易划分的特点,我们提出了一种全新的pattern-driven异构平台任务并行划分算法,同时在任务负载均衡上支持灵活的负载调优,有效提升了计算性能。实验结果显示,在基于Intel Xeon Phi众核加速器的异构计算平台上,相比于原始模式的串行计算时间,我们的并行算法获得了8倍以上的性能提升;在64进程上的可扩展性测试上,获得了接近线性的可扩展性。 基于MCV高精度算法的大气动力框架并行优化研究。论文基于多离散矩(MCV)高精度数值算法研发的串行大气动力框架,探索了其在立方球网格上的大规模异构并行算法及性能优化。在算法设计上,我们结合立方球网格与异构平台的特点,设计了一种分布式多级混合并行算法。在性能优化方面,我们对节点间的通信模式,节点内多核、众核平台上的计算分别使用了例如通信计算重叠、多线程、SIMD等一些列优化方法。实验结果显示,相比于单纯使用CPU的并行代码性能,我们的异构并行代码获得了2.56倍的性能提升。同时在26,496核强可扩展性及33,534核弱可扩展性测试上,该并行算法分别获得了86.7%和93.1%的并行效率。该实验结果同时表明了MCV高精度算法在大规模并行计算上的发展潜力,为发展基于该数值算法的更复杂大气模式奠定了基础。 基于领域知识的WRF云微物理过程代码生成及众核优化。本工作从云微物理过程参数化方案本身出发,基于领域知识的特点,提出适用于WRF模式中一类特定块类型云微物理过程方案WS/DMMPs的统一众核加速方法。该方法通过设计软件框架AutoWM构建WS/DMMPs计算流图和设计一种专用描述语言WML的方式对该类云微物理过程方案进行了重新构建。通过对WS/DMMPs方案组件实施针对不同众核平台的并行优化方法,实现了WS/DMMPs在三种主流计算平台上的跨平台移植和扩展。实验结果显示,该方法在Intel Xeon多核,Intel Xeon Phi(KNC)和国产申威众核SW26010三种并行计算平台上均获得了显著的计算性能提升,单精度浮点效率分别到达47%,20%及10%。上述基于领域知识对方案进行模块组件化的设计思路,对领域专家研究探索新的参数化方案亦具有一定的启发意义。