论文部分内容阅读
在许多大型的科学计算与工程计算的问题中,典型结构的大型线性代数方程组的求解无处不在,而且求解大型线性代数方程组已经成为解决某些应用领域重大问题的基础。现如今,随着大型工程项目与科学研究中出现的计算问题越来越复杂,本人对计算能力的要求也越来越高,要想快速有效地解决大规模或超大规模的复杂计算问题,就必须依赖于强大的并行计算技术。迈入二十一世纪,以高性能计算为主的全球信息技术快速发展,超机计算机作为重要的基础设施得到越来越广泛的关注和极大的重视,并且在现代科技的发展和信息技术的进步上发挥着越来越重要的作用。超级计算机运算速度的迅猛发展为解决大规模或超大规模的计算问题提供了可靠的保障。本文基于OpenMP并行编程环境,研究了五对角线性方程组的并行解法。对于该典型结构的线性方程组的求解算法,目前常用的是托马斯算法和追赶法等串行求解算法,而对于并行求解算法,目前研究的较少。鉴于求解三对角线性系统方程组的并行算法——循环递减算法、划分算法和递归倍增算法,本文提出了针对五对角线性系统方程组的并行算法——循环递减算法和递归倍增算法。相比求解五对角线性系统方程组的串行求解算法——托马斯算法和追赶法,循环递减算法和递归倍增算法具有明显的优势。在本文中,本人通过这些算法的执行复杂度和执行时间来评估和比较这些方法。基于这些测量参数的计算结果,该循环递减算法和递归倍增算法采用OpenMP多线程的实现技术成功地取得了比这两种串行算法(托马斯算法和追赶法)更好的性能效率。尤其,本文中提出的循环递减并行求解算法在多核计算机上求解规模大于一定程度的五对角线性方程组时有最短的算法执行时间。在求解大规模五对角线性方程组时,循环递减并行算法的性能与高斯算法和追赶法相比,其加速比可达到10倍以上,与递归倍增并行算法相比,其加速比为1.025。此外,为了进一步探索五对角线性方程组的并行求解算法,本人还对划分算法求解五对角线性方程组的可能性进行了研究。