计算奇迹 “亿阶线性方程组”被攻破

  “随着科技的进步,问题的处理规模逐渐增大且精度要求日益提高。受计算能力所限,超大规模线性方程组的求解往往成为工程数值计算过程中的一大瓶颈。浪潮高性能计算应用研发团队基于CPU+MIC异构平台开发的超大规模线性方程组高性能求解系统,可在短短几分钟内完成亿阶规模矩阵的求解,这一成果对科学研究、工程应用以及自主可控国产CAE软件的开发都有重要意义!” 对于与浪潮联合开发的亿阶线性方程组MIC加速方案,太原理工大学博士生导师,中国计算数学学会常务理事、副秘书长李明给出了上述评价。

  “毫不夸张的讲,大部分科学与工程问题都要归结为一个线性方程组的求解问题。”李明教授一开头说道。他介绍说,线性方程组的求解问题是一个十分古老的问题,早在中国古代数学专著《九章算术》第八章就详细记载了一次线性方程组的求解方法。时隔数千年的今天,线性方程组求解仍是众多科学与工程领域重点研究的课题之一。

  超大规模线性方程组求解难

  实际上,数学物理模型的求解是众多工程生产与科研领域必不可少的工作之一,如机械制造、材料加工、航空航天、汽车、土木建筑、国防军工、船舶、铁道、石化、能源、科学研究等。快速、精确地求解线性方程组可以很大程度地提高生产、研究效率。经过半个多世纪众多专家的不断探索,目前有关的方法和理论已相对比较成熟,产生了一批比较漂亮实用的算法。然而,随着科技的进步,所求解问题规模的增大,模型结构越来越复杂且对计算精度的要求日益提高,这也使得线性方程组的规模急剧增加。

  近几年,随着计算机集群系统的发展,处理核心数量的急剧增加,计算能力的大大提高,使超大规模线性方程组的求解重现希望。国内高性能计算发展虽然势头凶猛,然而,不可否认的是高性能软件及应用方面仍有很大的提升空间。成熟的超大规模线性方程组的高性能求解工具更是凤毛麟角。

  正是由于此类工具非常重要且稀缺,不得不将大量的数据与信息提供到国外有偿计算。且不论高昂的花费,大量的数据信息掌握在外人的手里,对企业和科研机构存在着很大的信息安全隐患,甚至危害国家的安全。因此,开发自主可控的高性能计算软件意义重大!

  新方法结合新技术突破亿阶

  浪潮作为国内高性能计算产品和技术领先厂商,在MIC技术研究与应用开发方面,一直处于国内领先的地位。浪潮高性能计算应用开发团队与太原理工大学密切配合,基于CPU+MIC异构计算平台,成功完成了亿阶以上超大规模线性方程组高性能求解系统,并在实际用例的测试中出色完成求解任务。

  整个开发工作,工程师们经历了目标制定、算法筛选与调整、串行设计、MPI并行设计、MIC移植及优化等一系列的考验,特别是算法的选取于优化更是整个开发工作的重中之重。一般来说,求解线性方程组的传统算法有直接法和迭代算法,浪潮工程师在经过对矩阵特性的分析并参阅了大量材料后,从众多的算法中挑选出最适合的一种Krylov子空间算法。但是Krylov子空间算法的一大特点就是不具有良好的天然可并行性,大量的MPI集合通信容易造成扩展瓶颈,而关于如何解决Krylov子空间方法集合通信量大的有效资料少之又少。在这样的困局下,浪潮工程师们密切跟踪相关研究的最新进展并根据自己的认识对标准的算法结构作了一定的调整,最后采用通信与计算相互隐藏的异步运作模式成功将大部分的进程集合通信隐藏,从而克服的研发道路上最大的一块绊脚石。

  超大规模线性方程组高性能求解系统具有以下三大特色:

  1. 适用范围广

  高性能求解系统采用了被July称为二十世纪最伟大10大算法之一的Krylov子空间算法,也是少数几个适用于超大规模线性方程组求解的算法之一。这决定了高性能求解系统不仅可求解经有限元方法推导出的刚度矩阵对称正定(SPD)的线性方程组,同时也可求解系数矩阵非对称的线性方程组。因此,无论对于科研还是实际应用中系数矩阵正定的线性方程组原则上都可求解,且对于矩阵结构无特殊要求。

  2. 计算效能出色

  高性能求解系统基于MPI+OpenMP+MIC架构开发的。整个系统对硬件资源的利用效率很高,达到了70%以上,充分利用了CPU的逻辑、控制能力以及MIC众核处理设备强大的计算能力。