海洋覆盖了 70%以上的地球表面,与我们的生活息息相关,紧密相连,已经得到了越来越多的国内外学者的重视。研究海洋的手段主要有观测试验、理论研究和采用海洋数值模式进行数值模拟。其中海洋数值模式是定量描述海洋物理现象及其变化的数值模型,也是海洋与气候研究、预测的核心工具。随着海洋与气候研究的不断深入,海洋数值模式正朝着高分辨率和多物理过程的方向发展,这对计算的需求呈指数级增加。当前世界上超级计算机正在由P级迈向E级,为海洋环流模式的进一步发展提供了平台和机遇,同时也提出了新的挑战:如何充分发挥大规模超算平台的并行计算效能和计算潜力,提高海洋模式计算速度。海洋环流模式通常是I/O(输入/输出)密集型的,具有计算访存比低、数据读写量大、并行通信效率低下、扩展性较差等特点,这对模式的优化工作带来了较大挑战。针对以上难点,本文基于Intel至强和新一代神威平台,选取了两种应用广泛的海洋环流模式 NEMO(Nucleus for European Modelling of the Ocean)和 MITgcm(Massachusetts Institute of Technology general circulation model)开展 了移植和优化工作。首先,将NEMO移植至Intel Xeon超算平台,并进行了代码和算法优化。依据代码现代化的思想对模式代码进行了编译器选项、消除冗余计算、向量化和访存等优化,并且针对模式在大规模并行下全局通信占比大导致可扩展性较差的问题,使用CA-PCG(Communication-Avoiding Preconditioned Conjugate Gradient)替换正压求解器 PCG(Preconditioned Conjugate Gradient)。其次,在Intel Xeon超算移植MITgcm,从I/O、通信、访存等方面展开优化工作。引入OpenMP线程并行划分更细粒度的任务,将计算和I/O进程分离使其相互掩盖,解决了 I/O瓶颈,对三对角求解器进行访存优化和改进边界数据交换算法等。再者,在新一代神威超算上对NEMO进行了深度移植适配优化,并构建一个超高分辨率和超大规模的模式算例。根据申威处理器主从架构的特点,设计了新的四级并行框架,在框架下分别针对主核和从核做了网格划分策略、从核通信优化、向量化等进一步优化,并在混合精度和对象存储方面做了新的探索。最后,对上述三个工作分别进行了性能测试和分析。基于Intel的NEMO在代码现代化优化后取得了 30%的性能加速,而PCG算法的改进使得模式通信占比大大降低,可以使用更少的计算资源获得相对较好的计算速度,同时大规模并行下提升了 3.56-4.4倍;MITgcm的性能提升主要是来自于对I/O的优化,优化后的I/O性能可提升44倍,整体性能提升2.38倍;在基于新一代神威超算的工作中,取得了 8.7倍的峰值性能加速,1km分辨率在27,988.480核心时的强扩展效率超过80%,弱扩展性表现稳定。总之,本文在Intel和神威两种平台下对NEMO和MITgcm进行移植和优化,在计算性能和算例分辨率均取得了优异的效果。
暂无评论