论文部分内容阅读
随着高性能计算机技术的发展和计算流体力学研究问题规模的不断增大,并行计算机成为了高性能计算机发展的趋势,针对流体流动数值模拟的并行模型以及并行算法研究已成为当前国内外备受关注的热点和前沿课题。磁流体力学中关于不可压缩管流问题的数值模拟研究是聚变反应堆双冷或者双功能液态锂铅包层的研究热点之一。在实际的数值模拟当中,外加磁场和流动的液态金属的相互作用以及网格要求的特殊性导致网格规模大及迭代求解过程缓慢,因此必须采用CFD(Computational Fluid Dynamics)并行算法才能很好的完成不可压缩管流问题的数值模拟。本文在阅读国内外相关文献的基础上,研究了CFD领域相关的并行技术,对当前不可压缩管流问题数值模拟中的串行算法进行了并行化研究,并在此基础上进一步优化数值模拟中的非规则问题,提高了并行算法执行的效率。首先,本文针对基于SIMPLE(Semi-Implicit Method for Pressure Linked Equations)算法的三维稳态不可压缩管流问题进行研究,提出一种基于迭代空间划分的多层对称交错条块式并行算法。与传统的区域分解并行方法相比,该算法通过将网格条块的执行顺序引入到了串行算法的执行顺序中,提高了串行算法的数据局部性;通过对迭代空间进行区域分解和条块重新排序,实现了迭代算法的并行化;算法使用交错条块技术,通过对迭代空间进行沿时间轴方向的划分,有效的减少了迭代过程的通信和同步开销;最后通过编写FORTRAN程序,在大规模集群环境下进行了上述两种并行化算法的数值模拟实验,验证了基于迭代空间划分的多层对称交错条块式并行算法在局部性和并行性方面均有较大优势,有效地提高了三维稳态不可压缩管流数值模拟中算法执行的效率。其次,针对不可压缩管流问题的数值模拟中的非规则问题,本文提出面向分布式集群的非规则迭代的DII-I/E模型,通过运行时并行交错条块策略,提高非规则迭代算法的并行执行性能。在Inspector阶段,通过运行时分析数据的存取模式,根据空间条块生成策略将数据空间和迭代空间进行重排,产生新的运行时调度和通信策略;在Executor阶段通过执行Inspector阶段产生的调度和通信策略,提高了非规则迭代计算的数据局部性和算法的并行性。此外,本文构造了该算法的性能自动调优器,通过探测找到效率最优情况下的参数组合,并固定其参数值,便于以后系统调用该算法时,实现算法在该体系结构下的运行效率最优。最后,对本文的工作进行总结,指明本文的成果与贡献,并对下一步工作进行了展望,可以尝试提高不可压缩管流并行算法在混杂多核体系结构下的执行性能,以及扩展非规则计算问题到其它领域,研究非规则问题的局部性和并行性等。