论文部分内容阅读
地下水并行数值模拟的研究对于环境水文地质和工程地质问题具有十分重要的现实意义。随着研究的深入,其对具有精细网格剖分、长时间跨度特征模型的模拟提出了迫切需求。但传统的串行模拟方法由于在处理器、内存以及数据通道上的限制,极大的制约了其应用范畴,从而使得提出一套支持大规模地下水数值模拟的计算方法成为了十分重要和迫切的科学问题。本文的主要工作围绕着地下水流动数值模拟的并行计算展开。论文的研究重点定位于如何借助并行计算科学领域中大规模偏微分方程组并行求解的相关理论,结合先进并行体系结构的一些最新研究成果,来解决地下水流动模型离散形成的线性系统求解中的性能瓶颈问题。围绕着研究对象,本文的主要贡献如下:(1)深入分析了地下水流动模拟计算任务的并行性,并针对几类常见并行体系结构,给出了其主体计算任务与体系结构各级之间的合理映射策略,为相应的体系结构下设计高效的算法结构、支持结构以及实现策略的提供了理论参考依据。实验证明,在分布式内存系统上的粗粒度数据并行策略,以及在共享内存系统和GPU-CPU上细粒度的线程级并行策略具有良好的计算性能。(2)面向地下水流动数值模拟问题,给出了预处理方法的选取与构造方案,以及预条件子与迭代方法的最优组合。在分布式内存系统上,提出了多种预条件子技术相结合的构造方案。区域之间采用了分块迭代算法,而区域内部子预条件子的构造则采用了不完全分解方法。实验证明,BJacobi与ILU(0)预条件子的组合具有最优的计算性能、最小的内存开销以及良好的可扩展性。在GPU-CPU系统上,提出了Jacobi预条件子与CG算法的求解组合。实验证明,该组合具有较好的平衡预条件子的构造代价与其加速收敛的效果。(3)提出了一套稀疏系数矩阵的组装算法,给出了MODFLOW与通用并行迭代求解器的接口设计方案。实验证明,采用CSR格式进行矩阵数据的传输,有效降低了CPU与GPU间的通信负载;基于BCRS分块算法的稀疏矩阵-向量乘操作,提高了GPU寄存器的利用率。论文的其它重要工作包括:初步提出了一套基于结构化分层设计、具有良好扩展性的地下水并行数值模拟支撑平台;给出了一套大规模三维流场模型数据的前后处理方案等。