论文部分内容阅读
现代自然科学的一个重要分支是海洋大气科学,其模型中涉及很多由非线性偏微分方程组成的海洋大气耦合方程,这些耦合方程中很难求出其中绝大部分方程的解析解,因此,主要通过计算求解偏微分方程的数值解进行模拟计算。传统上,模型主要通过串行算法进行数值模拟。模型时空分辨率的提高对这些控制方程的计算量和计算速度提出了更高的要求,原有的串行算法很难满足计算量和计算速度的要求。高性能并行技术的发展为提高计算效率带来了机遇,很多海洋大气模型都转向并行版本的开发。海洋模型的控制方程的有限差分格式大体上分为显格式、隐格式等。差分格式的选择关系到控制方程的稳定性、收敛性,而在模型并行化过程中,差分格式的选择在一定程度上决定的并行化技术的选择。本文以半隐格式、显格式及隐格式的并行化技术为主线并结合具体的海洋模型,给出了相对应格式中模型比较通用的并行化方法。本文主要工作如下:1半隐格式海洋模型控制方程较为常用的数值求解格式。本文根据半隐格式的特点(计算简单且在较少的计算时间步内得到给定时刻网格点的值)并以海浪数值模式MASNUM(MArine Science and Numerical Modeling)为例,基于区域分解技术设计了一种并行算法,实现了MASNUM的并行化。为了适应当代并行计算机的各种环境,本文研发了MASNUM的3个并行版本OpenMP、MPI和MPI-OpenMP版本。3个版本在3个不同的并行平台上进行测试,结果显示3个版本的并行运算时间随着CPU核数的增加逐渐减少,能够获得较高的加速比和效率,并且并行化后的MASNUM能够在一定程度上满足业务化预报的需要。2海洋模型控制方程另一种常用的数值求解格式是显格式,其特点为:计算简单,模型中某一时刻网格点的值仅依赖前一时刻网格的值。本文根据海洋模型中显格式的特点并以GRGO(Global Reduced Gravity Ocean model)为例,基于区域分解技术,设计了一种边界校正方法。该方法不需要对原有海洋模型进行重新编码,只需要利用MPI基本消息传递函数编写子区域间的数据传输模块,即可实现原有海洋模型的并行化。相对于重新开发并行系统,该方法能够较快把原有模型的串行解决方案转化为并行解决方案,并且并行化后的海洋模型能够获得较高的加速比,且能够完全满足相关实验对计算速度的要求。3除显格式外,隐格式是海洋模型控制方程最常用的数值求解格式之一,其特点为较少的计算时间步得到给定时刻网格点的值。本文针对常用的隐格式(后向欧拉、ADI以及Crank-Nicolson格式)产生的三对角线性系统的特点设计了一种两级并行算法:第一级采用PDD(Parallel Diagonal Dominant)算法,第二级采用分裂算法或PPT(Parallel Partition LU Algorithm)。该两级并行算法可以充分利用PDD算法并行效率高和分裂算法或PPT算法数值精度高(分裂算法或PPT算法不存在计算精度的损失)的优点,可以获得较高的加速比和计算精度。