论文部分内容阅读
磁流体力学(MHD)是一门以导电流体的流动特性与电动力特性为研究目标的综合学科。因其具有流体力学与电动力学的综合学科背景,所以在很多领域中得到了广泛研究与应用,如空间天气状况研究、太阳风与地球磁层的相互作用研究、受控热核反应中等离子体约束机制、磁流体发电等。然而,磁流体力学相关控制方程复杂,且解析解求解困难,因此目前一般采用数值模拟计算的方法来求解。但又因模拟过程复杂、网格规模巨大导致求解过程缓慢,尤其对高哈特曼数下的磁流体,模拟过程难以收敛。可见,对高哈特曼数磁流体数值模拟并行算法的研究具有巨大的科研与应用价值。在研究了大量国内外磁流体数值模拟与高性能计算相关工作的基础上,本文分别在多核集群和GPU集群环境中对高哈特曼数磁流体数值模拟并行算法进行了研究。本文主要研究工作与贡献如下:(1)对磁流体数值模拟进行了全面的理论阐述与详细的流程分析。首先阐述了磁流体数值模拟的物理与数学意义,引入相关参数及控制方程。其次论述了磁流体数值模拟计算中控制方程的离散、求解方法、具体收敛准则及边界条件。再次给出了本文中磁流体数值模拟过程的详细流程图,并结合流体数值模拟流程进行了难点分析。最后结合并行计算实施步骤对磁流体数值模拟进行了并行计算分析。(2)提出并实现了一类面向多核集群的磁流体数值模拟二级混合并行算法。首先,根据网格划分和变量离散结果制定任务划分及数据通信策略,并实现基于单向区域划分的MPI并行算法。其次,在此基础上,根据对MPI并行算法的线程级并行可行性分析结果实现基于MPI+OpenMP的磁流体数值模拟并行算法。最后,在深腾7000高性能计算集群中进行实验分析。结果表明:与串行算法相比,面向多核集群的磁流体数值模拟二级混合并行算法效率提升近62%。(3)提出并实现了一类面向GPU集群的磁流体数值模拟三级混合并行算法。首先,对三级混合并行编程模型进行研究与优势分析。其次,根据本文中对二级混合并行算法的可移植性分析结果将部分计算过程通过CUDA移植到GPU集群中,实现基于MPI+OpenMP+CUDA的磁流体数值模拟并行算法。最后,通过PGI加速器Fortran工作站进行实验分析。实验结果表明:与串行算法相比,面向GPU集群的磁流体数值模拟三级混合并行算法效率提升显著,加速比达6.89倍。本文通过MPI、OpenMP和CUDA,先后提出并实现了面向多核集群和面向GPU集群的高哈特曼数磁流体三维数值模拟并行算法。并通过实验对上述算法进行了性能对比和分析,结果表明:面向GPU集群的三级混合并行算法能够显著提升高哈特曼数磁流体数值模拟算法的性能。此算法具有较高的可移植性,可以在磁流体数值模拟相关研究领域中进行推广应用。